html {
  box-sizing: border-box;
  font-size: 10px;
  line-height: 1.42857143;
  -webkit-tap-highlight-color: transparent;
}

body {
  background: #fff;
  color: #333;
  font-family: "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Hiragino Kaku Gothic Pro", Meiryo, "Malgun Gothic", sans-serif;
  font-size: 1.4rem;
  overflow-x: hidden;
}

.btn .icon,
.toast .icon,
.menu .icon {
  font-size: 1.3333em;
  line-height: .8em;
  margin-right: .2rem;
  vertical-align: -20%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  margin-top: 2.5rem;
}
h1 {
  font-size: 5rem;
}
h2 {
  font-size: 4rem;
}
h3 {
  font-size: 3rem;
}
h4 {
  font-size: 2.4rem;
}
h5 {
  font-size: 2rem;
}
h6 {
  font-size: 1.6rem;
}


/* buttons */
.btn {
  -webkit-appearance: none;
  background: transparent;
  border: .1rem solid #5764c6;
  border-radius: .3rem;
  color: #5764c6;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  height: 3.2rem;
  line-height: 1.6rem;
  min-width:120px;
  outline: 0;
  padding: .7rem 1.5rem;
  text-align: center;
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
}
.btn:focus {
  background: #f3f4fb;
}
.btn:hover {
  background: #5764c6;
  border-color: #4452c0;
  color: #fff;
}
.btn:active,
.btn.active {
  background: #4452c0;
  border-color: #3b49af;
  color: #fff;
}
.btn.btn-primary {
  background: #5764c6;
  border-color: #4452c0;
  color: #fff;
}
.btn.btn-primary:focus {
  background: #4f5dc3;
}
.btn.btn-primary:hover {
  background: #4452c0;
  border-color: #3b49af;
  color: #fff;
}
.btn.btn-primary:active,
.btn.btn-primary.active {
  background: #3b49af;
  border-color: #35419c;
  color: #fff;
}
.btn.btn-primary.loading::after {
  border-color: #fff;
  border-right-color: transparent;
  border-top-color: transparent;
}
.btn.btn-link {
  background: transparent;
  border-color: transparent;
  color: #5764c6;
}
.btn.btn-link:hover,
.btn.btn-link:focus {
  color: #35419c;
}
.btn.btn-link:active,
.btn.btn-link.active {
  color: #283176;
}
.btn.btn-sm {
  border-radius: .2rem;
  font-size: 1.2rem;
  height: 2.4rem;
  line-height: 1.4rem;
  padding: .4rem 1rem;
}
.btn.btn-lg {
  border-radius: .4rem;
  font-size: 1.8rem;
  height: 4.2rem;
  line-height: 2rem;
  padding: 1rem 1.8rem;
}
.btn.btn-block {
  display: block;
  width: 100%;
}
.btn.btn-clear {
  background: transparent;
  border: 0;
  color: #666;
  height: 2rem;
  margin-left: .3rem;
  opacity: .45;
  padding: 0;
}
.btn.btn-clear:hover {
  opacity: .85;
}
.btn.btn-clear::before {
  content: "\00d7";
  font-size: 2rem;
}
.btn-group {
  display: inline-flex;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.btn-group .btn {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.btn-group .btn:first-child:not(:last-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
  margin-left: -.1rem;
}
.btn-group .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  margin-left: -.1rem;
}
.btn-group .btn:hover,
.btn-group .btn:focus {
  z-index: 99;
}
.btn-group.btn-group-block {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-flex;
}



/* -------------------------------------------------------------- */
/* 通知ボックスのデフォルトスタイル */
/* -------------------------------------------------------------- */

.ns-box {
	position: fixed;
	background: rgba(42,45,50,0.85);
	padding: 22px;
	line-height: 1.4;
	z-index: 1000;
	pointer-events: none;
	color: rgba(250,251,255,0.95);
	font-size: 90%;
	font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif;
}

.ns-box.ns-show {
	pointer-events: auto;
}

.ns-box a {
	color: inherit;
	opacity: 0.7;
	font-weight: 700;
}

.ns-box a:hover,
.ns-box a:focus {
	opacity: 1;
}

.ns-box p {
	margin: 0;
}

.ns-box.ns-show,
.ns-box.ns-visible {
	pointer-events: auto;
}

.ns-close {
	width: 20px;
	height: 20px;
	position: absolute;
	right: 4px;
	top: 4px;
	overflow: hidden;
	text-indent: 100%;
	cursor: pointer;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.ns-close:hover, 
.ns-close:focus {
	outline: none;
}

.ns-close::before,
.ns-close::after {
	content: '';
	position: absolute;
	width: 3px;
	height: 60%;
	top: 50%;
	left: 50%;
	background: #6e6e6e;
}

.ns-close:hover::before,
.ns-close:hover::after {
	background: #fff;
}

.ns-close::before {
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}

.ns-close::after {
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}

.ns-disp-none{
    display:none;
}

.ns-disp-inline{
    display:inline;
}

.close_label,
.close_label a {
     color: #4f7bab;
     text-decoration:none;
}

.close_label:hover{
    color: #1f8a4c;
    text-decoration:underline;
    cursor:pointer;
}

/* -------------------------------------------------------------- */
/* スケールして表示 */
/* -------------------------------------------------------------- */

/* Growl-style notifications */

.ns-growl {
    top: 10px;
    width: 80%;
    margin-left:10%;
    margin-right:10%;
    min-width:220px;
    border-radius: 5px;
    text-align:center;
}


@media screen and (min-height: 768px) {
    .ns-growl {
       height:620px;
       max-width:800px;
    }
}

@media screen and (max-height: 767px) {
    .ns-growl {
       height:620px;
       width:80%;
    }
}

@media screen and (max-height: 600px) {
    .ns-growl {
       height:580px;
       width:96%;
       margin-left:2%;
       margin-right:2%;
    }

    .ns-growl button{
        bottom:18px;
    }
}

/* iPhone6Plus 横*/
@media screen and (max-height: 414px) {

    .ns-growl button{
        bottom:200px;
        margin:0.5em;
    }
    .block5m4{
        display:none;
    }

}
/* iPhone6 横*/
@media screen and (max-height: 375px) {

    .ns-growl button{
        bottom:220px;
        margin:0.2em;
        min-width:140px;
    }
    .block5m4{
        display:none;
    }
}

/* iPhone5s 横*/
@media screen and (max-height: 320px) {

    .ns-growl button{
        bottom:350px;
        margin:1em;
    }

    .block5m2{
        display:none;
    }
    .block5m4{
        display:none;
    }
}

/* iPhone6Plus 縦*/
@media screen and (max-width: 414px) {

    .ns-growl button{
        bottom:240px;
        margin:0.5em;
    }

    .block5m4{
        display:none;
    }
}


/* iPhone6 横*/
@media screen and (max-width: 375px) {

    .ns-growl button{
        bottom:220px;
        margin:0.2em;
        min-width:140px;
    }
}



.ns-growl2 {
	top: 200px;
	width: 80%;
       margin-left:2%;
       margin-right:2%;
       min-width:220px;
	border-radius: 15px;
       text-align:center;
}

.ns-growl3 {
	bottom: 240px;
	width: 70%;
       margin-left:10%;
       margin-right:10%;
       min-width:220px;
	border-radius:8px;
       text-align:center;
}

.ns-growl p {
	margin: 0;
	line-height: 1.3;
}

[class^="ns-effect-"].ns-growl.ns-hide,
[class*=" ns-effect-"].ns-growl.ns-hide {
	-webkit-animation-direction: reverse;
	animation-direction: reverse;
}


[class^="ns-effect-"].ns-growl3.ns-hide,
[class*=" ns-effect-"].ns-growl3.ns-hide {
	-webkit-animation-direction: reverse;
	animation-direction: reverse;
}

/* Scale */

.ns-effect-scale2 {
	background: transparent;
	box-shadow: 0 25px 10px -15px rgba(0,0,0,0.05);
	color:#fff;
}


.ns-effect-scale {
	background: #fff;
	box-shadow: 0 25px 10px -15px rgba(0,0,0,0.05);
	color:#555;
       font-weight:600;
}

.ns-effect-scale2 a,
.ns-effect-scale a {
       color: #4f7bab;
       text-decoration:none;
}

.ns-effect-scale2 a:hover,
.ns-effect-scale2 a:focus,
.ns-effect-scale a:hover,
.ns-effect-scale a:focus {
       color: #1f8a4c;
       text-decoration:underline;
}

.ns-effect-scale2 .ns-close::before,
.ns-effect-scale2 .ns-close::after,
.ns-effect-scale .ns-close::before,
.ns-effect-scale .ns-close::after {
	background: #1f8a4c;
}

.ns-effect-scale .ns-close:hover::before,
.ns-effect-scale .ns-close:hover::after {
	background: #fff;
}
.ns-effect-scale2 .ns-close:hover::before,
.ns-effect-scale2 .ns-close:hover::after {
       background: transparent;
}

.ns-effect-scale2.ns-show,
.ns-effect-scale2.ns-hide,
.ns-effect-scale.ns-show,
.ns-effect-scale.ns-hide {
	-webkit-animation-name: animScale;
	animation-name: animScale;
	-webkit-animation-duration: 0.25s;
	animation-duration: 0.25s;
}

@-webkit-keyframes animScale {
	0% { opacity: 0; -webkit-transform: translate3d(0,40px,0) scale3d(0.1,0.6,1); }
	100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale3d(1,1,1); }
}

@keyframes animScale {
	0% { opacity: 0; -webkit-transform: translate3d(0,40px,0) scale3d(0.1,0.6,1); transform: translate3d(0,40px,0) scale3d(0.1,0.6,1); }
	100% { opacity: 1; -webkit-transform: translate3d(0,0,0) scale3d(1,1,1); transform: translate3d(0,0,0) scale3d(1,1,1); }
}


/* -------------------------------------------------------------- */
/* 背景画像 */
/* -------------------------------------------------------------- */

/* search form */
.wrapper1{
    width:30%;
    height:36px;
    float:left;
    font-size:16px;
}

.wrapper2{
    width:70%;
    height:36px;
    float:left;
    position:static;
}

.descrip_str{
    color:#9baaa7;
}

#result{
    display:none;
}

/* smartphone interface */
.wmap_smt{
    width:100%;
    text-align:center;
}

.wmap_smt button{
    min-width:200px;
    height:60%;
    bottom:0px;
    padding:0.7em 2em;
    width:60%;
    margin-left:20%;
    margin-right:20%;
}

.wmap_smt a,
.wmap_smt button a,
.wmap_smt button a:link,
.wmap_smt button a:visited{
    color:#fff;
}

.wmap_smt button a:hover{
    color: #3f51b5;
}

/* for zoom effect */
html {
        touch-action: none;
        content-zooming: none;
}
.word {
        cursor: pointer;
        color: #666;
        position: absolute;
        z-index: 1;
}

.over {
       /* color: #fff; */
	color:#9baaa7;
        font-weight: bold;
}

.wordZoom {
        position: absolute;
        font-weight: bold;
        z-index: 0;
        visibility: hidden;
        pointer-events: none;
}


/* -------------------------------------------------------------- */
/* 画像位置 PC 1025-1280 1281-1366 tablet横 769-1024 x768 */
/* -------------------------------------------------------------- */

/* -------------------------------------------------------------- */
/* 画像位置 PC縦表示 600px, 800px-600px */
/* -------------------------------------------------------------- */

/*-----------------------------------*/
/* form input element */
/*-----------------------------------*/
/* --------------------------------- */
/* form エレメント etc  */
/* --------------------------------- */
.form-control {
    display: block;
    width: 100%;
    max-width:230px;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #3B3B3B;
    vertical-align: middle;
    background-color: #ffffff;
    background-image: none;
    border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.form-control:-moz-placeholder {
    color: #898989;
}

.form-control::-moz-placeholder {
    color: #898989;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #898989;
}

.form-control::-webkit-input-placeholder {
    color: #898989;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #eeeeee;
}


/* -------------------------------------------------------------- */
/* 画像位置 tablet縦表示 768px,  */
/* smartphone iPhone 6Plus横表示 668px-768px */
/* iPhone 6plus 736px x 414px　*/
/* -------------------------------------------------------------- */

/* -------------------------------------------------------------- */
/* 画像位置 Smartphone縦表示
  iPhone6plus 414px, iPhone6 375px, iPhone5s/iPhone4s 320px  */
/* -------------------------------------------------------------- */

@media screen and (min-width:320px) and (max-width: 414px) {
    #main{
        display:none;
    }
    #main_smt{
        background: #E0E1E2;
        display:block;
    }
}

/* -------------------------------------------------------------- */
/* 画像位置 iPhone 6横 667px x 375px*/
/* 画像位置 Smartphone横表示 iPhone6 321px- 375px */
/* -------------------------------------------------------------- */

/* -------------------------------------------------------------- */
/* 画像位置 smartphone 5s横 568px, */
/* iPhone 5s 320 x 568 */
/* -------------------------------------------------------------- */

.action_sheet {
    width:100%;
    border-radius: 15px;
    text-align:center;
    background: #fff;
    color: #4f7bab;
    margin-bottom:8px;
    padding:10px;
}

.button-link{
    position:relative;
    float:left;
}

.accdeny_filter{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#222;
    opacity:0.6;
    z-index: 12;
}

.color_white{
    color:#fff;
}

.color_blue{
    color:#3889e3;
}

/* -------------------------------------------------------------- */
/* SVG表示  チャート etc  */
/* -------------------------------------------------------------- */

.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}

.x.axis path {
  display: none;
}

.line {
  fill: none;
  stroke: steelblue;
  stroke-width: 1.5px;
}

.line2 {
  fill: none;
  stroke:#FF3300;
  stroke-width: 0.5px;
}

.dot{
   fill:#FF3333;
   filter:alpha(opacity=40);
   opacity:0.4;
}


.block5m2{
	width:100%;
	background: #FFF;
	border: 1px solid #D5D5D6;
	border-top-color: #E0E1E2;
	border-bottom-color: #C0C1C2;
	margin-left:6px;
	margin-bottom:6px;
	text-align: left;
        font-size:12px;
	float:left;
	overflow:hidden;
	box-shadow: 0px 1px 3px rgba(0,0,0,0.1);
	border-radius: 6px;
}

.block5m3{
    width:34%;
    position:absolute;
    right:3%;
	background: #FFF;
	border: 1px solid #D5D5D6;
	border-top-color: #E0E1E2;
	border-bottom-color: #C0C1C2;
	margin-left:6px;
	margin-bottom:6px;
	text-align: left;
        font-size:10px;
	float:right;
	overflow:hidden;
	box-shadow: 0px 1px 3px rgba(0,0,0,0.1);
	border-radius: 6px;
}

.block5m4{
	width:100%;
	background: #FFF;
	border: 1px solid #D5D5D6;
	border-top-color: #E0E1E2;
	border-bottom-color: #C0C1C2;
	margin-left:6px;
	margin-bottom:6px;
	text-align: left;
        font-size:10px;
	float:left;
	overflow:hidden;
	box-shadow: 0px 1px 3px rgba(0,0,0,0.1);
	border-radius: 6px;
}

.b5wrapper{
    width:62%;
    float:left;
}


/* pie chart */

.arc path {
  stroke: #fff;
}

/* -------------------------------------------------------------- */
/* SVG表示 map  */
/* -------------------------------------------------------------- */
.map-marker {
    /* adjusting for the marker dimensions
    so that it is centered on coordinates */
    margin-left: -8px;
    margin-top: -8px;
}
.map-marker.map-clickable {
    cursor: pointer;
}
.pulse {
    width: 10px;
    height: 10px;
    border: 5px solid #f7f14c;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    background-color: #716f42;
    z-index: 10;
    position: absolute;
  }
.map-marker .dot {
    border: 10px solid #fff601;
    background: transparent;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px;
    height: 50px;
    width: 50px;
    -webkit-animation: pulse 3s ease-out;
    -moz-animation: pulse 3s ease-out;
    animation: pulse 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    position: absolute;
    top: -20px;
    left: -20px;
    z-index: 1;
    opacity: 0;
  }
  @-moz-keyframes pulse {
   0% {
      -moz-transform: scale(0);
      opacity: 0.0;
   }
   25% {
      -moz-transform: scale(0);
      opacity: 0.1;
   }
   50% {
      -moz-transform: scale(0.1);
      opacity: 0.3;
   }
   75% {
      -moz-transform: scale(0.5);
      opacity: 0.5;
   }
   100% {
      -moz-transform: scale(1);
      opacity: 0.0;
   }
  }
  @-webkit-keyframes "pulse" {
   0% {
      -webkit-transform: scale(0);
      opacity: 0.0;
   }
   25% {
      -webkit-transform: scale(0);
      opacity: 0.1;
   }
   50% {
      -webkit-transform: scale(0.1);
      opacity: 0.3;
   }
   75% {
      -webkit-transform: scale(0.5);
      opacity: 0.5;
   }
   100% {
      -webkit-transform: scale(1);
      opacity: 0.0;
   }
  }

#JP,#KR,#TW,#US,#CA,#AU,#NZ,#CN,#IN,#BR,#TR,#IT,#FR,#DE,#NL,#CH,#DK,#SE,#FI,#ES,#GB,#RU,#ZA,#MY,#ID,#IL,#BE{
    fill: #15A892; /*90B6F1; 1FCC7C; CCCCCC;*/
}
#JP:hover, #KR:hover,#TW:hover,#US:hover,#CA:hover,#AU:hover,#NZ:hover,#CN:hover,#IN:hover,
#BR:hover,#TR:hover,#IT:hover,#FR:hover,#DE:hover,#NL:hover,#CH:hover,#DK:hover,#SE:hover,
#FI:hover,#ES:hover,#GB:hover,#RU:hover,#ZA:hover,#MY:hover,#ID:hover,#IL:hover,#BE:hover{
    cursor:pointer;
    fill:#90B6F1;  /* 67EC73; */
    } 
    
#wmap1{
     width:100%;
        
    }
    
.statdata{
    position:absolute;
    top:27px;
    left:-40px;
    background:#ed9c28;
    overflow:auto;
    width:180px;
    padding-left:6px;
    border-radius:5px;
    color:#3c3c3c;
    /* font-size:10px; */
    font-size:11px;
    font-weight:600;
    z-index:11;
    display:none;
    opacity:0;
    transition:all 0.6s ease-in-out;
    -moz-transition:all 0.6s ease-in-out;
    -webkit-transition:all 0.6s ease-in-out;
}

.map-marker:hover > .statdata {
    cursor:pointer;
    display:block;
    opacity:1.0;
}

.statdata span{
    color:#fff;
}


