/* 基本設定 */

* {
  /* サイズ計算で輪郭線の幅を参入する */
  box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;
  margin:0;padding:0;
  overflow-anchor: none;
}
html {
  font-size: 22px;
  font-family: 'Noto Serif JP', "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGS明朝E", "Sawarabi Mincho", Meiryo, georgia,"times new roman", serif;
  box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;
  margin: 0;padding:0;
  vertical-align: middle;
  -webkit-text-size-adjust: 100%;
}
p {
  -webkit-margin-before: 0;-webkit-margin-after: 0;-webkit-margin-start: 0;-webkit-margin-end: 0;
  font-size: 22px;line-height: 36px;
  text-indent: 1em;
  letter-spacing: -0.05em;
  word-wrap: break-word;
  word-break: break-word;-ms-word-break: break-all;
  hyphens: auto;-ms-hyphens: auto;-moz-hyphens: auto;-webkit-hyphens: auto;
  text-align:justify;
  text-justify:auto;
  user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;
}
@media screen and (min-width: 415px) and (max-width: 768px) {
  html {font-size: 18px;}
  p {font-size:18px;line-height: 30px;}
}
@media screen and (max-width: 414px) {
  html {font-size: 16px;}
  p {font-size:16px;line-height: 26px;}
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1;  /* 原則はフォントの1倍。見出しの改行を想定していない */
  -webkit-margin-before: 0;-webkit-margin-after: 0;-webkit-margin-start: 0;-webkit-margin-end: 0;
  font-feature-settings: "palt" on;　/* font-feature-settings : "pkna" on; */
}

a, a:visited, a:active {
  text-decoration:underline;
  color: #00066; cursor:pointer;
}
strong, b {font-weight: bold;font-family: sans-serif;}
rt {font-size: 0.46em;}
@media (max-width: 414px) {rt {display:none;}}　/* Chromeは10px以下の小さな文字を許可しないから */
sup {font-size: 0.65em;}

/*
  H要素の基本方針
  兄弟隣接ノードの場合だけ、h2はh1の袖見出し、h4はh3の袖見出し、h6はh5の袖見出しとして使える
*/

h1 {
	font-family: "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN W6", "HGS明朝E", Meiryo, "Times New Roman", serif;
	font-size: 2.35rem;
	margin:1rem 1rem;
	font-weight: 700;
	letter-spacing: -0.05em;
}
h2 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size: 2.0rem;
	margin:1rem;
	font-weight: 500;
	letter-spacing: -0.05em;
}
h3 {
	font-family: "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN W6", "HGS明朝E", Meiryo,"Times New Roman", serif;
	font-size: 1.5rem;
	margin: 1rem;
	font-weight: 700;
	letter-spacing: 0;
}
h4 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size: 1.25rem;
	margin:0.5rem 1rem;
	font-weight: 500;
	letter-spacing: 0;
}

h5 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size: 1.2rem;
	margin: 1rem;
	font-weight: 500;
	letter-spacing: 0;
}

h6 {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size: 1rem;
	margin: 0.5rem 1rem;
	letter-spacing: 0;
}

@media screen and (min-width: 415px) and (max-width: 768px) {
  h1 {font-size: 2.0rem;margin:1rem 2rem;}
  h2 {font-size: 1.5rem;margin:1rem 2rem;}
  h3 {font-size: 1.35rem;margin:1.0rem 2rem;}
  h4 {font-size: 1.2rem;margin:0.5rem 2rem;}
  h5 {font-size: 1.1rem;margin:0.5rem 2rem;}
  h6 {font-size: 0.85rem;margin:0.5rem 2rem;}
}
@media (max-width: 414px) {
  h1 {font-size: 1.7rem;margin:1rem 1.5rem;}
  h2 {font-size: 1.35rem;margin:1rem 1.5rem;}
  h3 {font-size: 1.2rem;margin:1.0rem 1.5rem;}
  h4 {font-size: 1.1rem;margin:0.4rem 1.5rem;}
  h5 {font-size: 1.1rem;margin:0.5rem 1.5rem;}
  h6 {font-size: 0.85rem;margin:0.5rem 1.5rem;}
}

blockquote {margin:0.5em 0;}
blockquote > p {
  margin:0 2em 0 2em;
  font-family: sans-serif;
  font-size: 0.85em;
  line-height: 1.65;
  text-indent: 0;
  word-wrap: break-word;
  word-break: break-word;-ms-word-break: break-all;
  hyphens: auto;-ms-hyphens: auto;-moz-hyphens: auto;-webkit-hyphens: auto;
  text-align:justify;
  text-justify:auto;
}
@media (max-width: 414px) {
  blockquote > p {margin:0 1rem 0 1rem;}
}

aside {
	display:block;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size:0.75rem;
	margin: 0.5rem 0;
	padding:0 2em;
}
ul, ol {
  -webkit-margin-before: 1em;-webkit-margin-after: 1em;
  -webkit-margin-start: 0px;-webkit-margin-end: 0px;
  -webkit-padding-start: 0px;
  padding-left: 2em;
  list-style-type: disc; /* circle/square/decimal */
}
/* heightをautoにすると英語/日本語で高さが異なってしまう */
input, textarea, select {
  text-rendering: auto;
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  font-size: 1rem;
}

@media screen and (min-width: 415px) and (max-width: 768px) {
  input, textarea, select {font-size: 18px;}
}
@media (max-width: 414px) {
  input, textarea, select {font-size: 16px;}
}

/* selectのバリエーション */
select{
  appearance: none;-webkit-appearance: none;-moz-appearance: none;
  cursor: pointer;
  background: transparent;
  text-overflow: ellipsis;
  position:relative;
  height: auto;
  width: auto;
  padding: 0 2em 0 1em;
  margin: 0.25em 1.0em;
  border: 1px solid #ccc;
  opacity: 1.0;
  outline: none; /* focusを得たときに青い線が出ることを防ぐ */
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
}
select:not(:-internal-list-box) {overflow: visible !important;}
select::-ms-expand {display: none;}

/*  selct:hoverは危険
_select:hover{background-color:white;opacity: 0.7;}
*/
.select01{ /* 背景 */
  display:inline-block;
  overflow: hidden;
  border-radius: 20px;
  background: #da3c41;
  margin:0.25em 0.5em;
  height:auto;
  text-align: center;
  position: relative;
}
.select01 > select{
  appearance: none;-webkit-appearance: none;-moz-appearance: none;
  cursor: pointer;
  height: 1.5em;
  color: white;
  background: transparent;
  padding: 0 2em 0 0.5em;
  border: none;outline:none;
  text-overflow: ellipsis;
  position:relative;
  box-shadow: none;-moz-box-shadow: none;-webkit-box-shadow: none;
}

.select01::before {
  position: absolute;
  top: 0.8em;
  right: 0.8em;
  width: 0;height: 0;
  padding: 0;
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ffffff;
  pointer-events: none;
}
/* input[text]のバリエーション */
input[type=text] {
  padding:2px 1rem;
  border:solid 1px #ccc;
  margin:0;
  font-size:calc(1em - 2px);
  height:calc(1em + 6px);
  box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
  box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
}
input[type=text]:focus {
  border:solid 1px #EEA34A;
}

/* input[date]のバリエーション */
input[type=date] {
  padding:2px 1em;
  border:solid 1px #ccc;
  margin:0;
  font-size:calc(1em - 2px);
  height:calc(1em + 6px);
  box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
  box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
}
input[type=date]:focus {
  border:solid 1px #EEA34A;
}
input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;/* スピンボタン（上下ボタン）を非表示にするなら */
}
/* 無入力時の 年/月/日 を / / にする */
input[type=date]::-webkit-datetime-edit-year-field:not([aria-valuenow]),
input[type=date]::-webkit-datetime-edit-month-field:not([aria-valuenow]),
input[type=date]::-webkit-datetime-edit-day-field:not([aria-valuenow]) {
  _color: transparent;
}
input[type=date]::-webkit-datetime-edit-text { color: #666; /* /の色を変える */}
input[type=date]::-webkit-clear-button { _-webkit-appearance: none; /* clearボタンの非表示なら */}
input[type=date]::-webkit-calendar-picker-indicator {
  color: transparent;
  position: relative; /* カレンダーのインジケータ（▼）を非表示なら */
}

/* fontAwesomeのカレンダーアイコンをインジケータにする */
input[type=date]::-webkit-calendar-picker-indicator:before {
  color: #666;
  /*content: "\f073";*/ /* fa-calendar */
  content: "\f133"; /* fa-calendar-o */
  position: absolute;
  left: -5px;
  top: -5px;
}
/* input[range]のバリエーション */
input[type=range] {
  appearance: none; -webkit-appearance: none;
  outline: none; /* focusを得たときに青い線が出ることを防ぐ */
  background-color: lightgrey;
  height: 5px; width: 90%;
  margin: 15px 15px;
  padding:0;
}
/* 操作ボタン */
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;appearance: none;
  box-sizing: content-box;
  /* your thumb styles */
  cursor: pointer;
  position: relative;
  border: 2px solid rgba(0, 0, 0, .7);
  width: 22px; height: 22px;
  display: block;
  background-color: #fff;
  border-radius: 50%;-webkit-border-radius: 50%;
}

input[type=range]::-moz-range-thumb {
	/* again your thumb styles */
}

input[type=range]::-ms-thumb { /* should come after -webkit- */
	/* again your thumb styles */
	/* may require different margins */
}
/* 操作範囲 */
input[type=range]::-webkit-slider-runnable-track {
	/* your track styles */
}
input[type=range]::-moz-range-track {
	/* again your track styles */
}
input[type=range]::-ms-track { /* should come after -webkit- */
	border-color: transparent;
	color: transparent;
	/* again your track styles */
}
/* input[type=radio]の基本スタイル */

/*
	labelは、そこをクリックしてもinputが選べるようにするための要素
	1) for属性がinputのidを指定する
	2) laben内部のinput
*/
/*Radio Check*/
label.radio, label.checkbox {
	position      : relative;
	cursor        : pointer;
	display       : inline-block;
	overflow      : hidden;
	font-family  :  sans-serif;
	padding-left : 22px;
	min-height   : 22px;
	line-height  : 22px;
	margin-right : 22px;
}
/** before after **/
label.radio:before {
	content  : '';
	position : absolute;
	width         : 18px;
	height        : 18px;
	border-radius : 100%;
	border        : 1px solid #666666;
	left          : 0px;
	top: 0px;bottom: 0px;
	margin: auto 0;
	z-index       : 1;
}
label.radio input[type="radio"] {
	appearance: none;-moz-appearance: none;-webkit-appearance: none;
	position: absolute;
	z-index: 3;
	margin:auto 0px;
	outline: none;
	left: -21px;
	width: 12px;height: 12px;
	top: 0px;bottom: 0px;
	border-radius    : 100%;
	border: 1px solid #666666;
	background-color : #DD6655;
}
/* チェックされていると右にズレる */
label.radio input[type="radio"]:checked{
	left       : 4px;
}
/* 隣接セレクタで */
label.radio input[type="radio"]:checked + span{
	font-weight: 700;
}
label.checkbox:before {
	content  : '';
	position : absolute;
	width         : 18px;
	height        : 18px;
	border-radius    : 0%;
	border        : 1px solid #666666;
	left          : 0px;
	top: 0px;bottom: 0px;
	margin: auto 0;
	z-index       : 1;
}
label.checkbox input[type="checkbox"] {
	appearance: none;-moz-appearance: none;-webkit-appearance: none;
	position: absolute;
	z-index: 3;
	margin:auto 0px;
	outline: none;
	left: -20px;
	width: 12px;height: 12px;
	top: 0px;bottom: 0px;
	border-radius    : 0%;
	border        : 1px solid #666666;
	background-color : #DD6655;
}
/* チェックされていると右にズレる */
label.checkbox input[type="checkbox"]:checked{
	left: 4px;
}
/* buttonの基本スタイル */
button {
  display: inline-block;
  border:solid 1px #ccc;
  background-color: transparent;
  margin:0.25em 1em;
  padding: 0 1em;
  cursor:pointer;
  outline: none; /* focusを得たときに青い線が出ることを防ぐ */
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
  transition: all 500ms 0s ease;
  opacity: 1;
  font-size: 22px;
  height: 35px;
}

@media screen and (min-width: 415px) and (max-width: 768px) {
  button {
    font-size: 18px; height: 29px;
  }
}
@media (max-width: 414px) {
  button {
    font-size: 16px; height: 26px;
  }
}
button.selected{
  background-color:darkblue;
  color:white;
}
button:hover{
  background-color:white;
  opacity: 0.7;
}

/* 基本テーブル */
table {
	font-family:Arial, Helvetica, sans-serif;
	width:calc(100% - 8px);
	/*font-size:0.9rem;*/
	/*border:#ccc 1px solid;*/
	border-collapse:  collapse;
	margin: 2px 4px;
}
table tr {text-align: center;}
/* table tr:even td {background: #f6f6f6;} */
table td {
	border:1px solid #666666;
  font-weight: normal;
}
table th {
	border:1px solid #fafafa;
	border-bottom:1px solid #e0e0e0;
  font-weight: lighter;
}

summary {font-size:0.7em;} /* captionの中に入るサマリー */
caption { /* 2nd captionはFirefoxは表示しない */
  font-size:0.7em;
  margin:0.1em 0.5em;
  caption-side: top;
  text-align: left;
}

/* クラス指定 */
.page {
  width:100%; min-height:100vh;
  margin:0; padding: 0 0 5px 0;
}
.whitepaper {
  color: black;
  background-color: transparent;
}
.whitepaper a, .whitepaper a:visited, .whitepaper a:active {
  text-decoration:none;color:#666666;cursor:pointer;
}
.blackpaper {
  color: white;
  background-color: black;
}
.blackpaper a, .blackpaper a:visited, .blackpaper a:active {
  text-decoration:none;color:#d8d8d8;cursor:pointer;
}

.center_container {
  max-width: 1024px; margin:0 auto;
  position: relative;
  user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;
}
.center_container p {
  max-width: 600px;margin:0 auto;padding:0 1em;
}
.center_container h1,.center_container h2,.center_container h3,
.center_container h4,.center_container h5,.center_container h6 {
  max-width: 600px;
  margin:1em auto;
  padding:0 1em;
}
@media screen and (min-width: 415px) and (max-width: 768px) {
	.center_container p {padding:0rem 2em;}
	.center_container h1,.center_container h2,.center_container h3,
	.center_container h4,.center_container h5,.center_container h6 {padding:0 2em;}
}
@media screen and (min-width: 360px) and (max-width: 414px) {
	.center_container p {padding:0 1.5em;}
	.center_container h1,.center_container h2,.center_container h3,
	.center_container h4,.center_container h5,.center_container h6 {padding:0 1.5em;}
}
@media screen and (max-width: 359px) {
	.center_container p {padding:0 1em;}
	.center_container h1,.center_container h2,.center_container h3,
	.center_container h4,.center_container h5,.center_container h6 {padding:0 1em;}
}
h5.table_main_title{
  font-family: "ヒラギノ角ゴ Pro W6","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 700;
  letter-spacing: -0.05em;
  font-size: 18px;
  margin: 0.5em 0 6px 0.5em;
  padding: 0;
  max-width: none;
  text-align: left;
}
h6.table_sub_title{
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
  font-size: 14px;
  margin: 6px 0 6px 0.5em;
  padding: 0;
  max-width: none;
  text-align: left;
}
p.table_foot_note{
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 300;
  letter-spacing: 0;
  font-size: 12px;
  line-height: 10px;
  margin: 5px 0.5em 0.5em 0;
  padding: 0;
  max-width: none;
  text-align: right;
}
@media screen and (min-width: 429px) and (max-width: 768px) {
	h5.table_main_title {
		font-size: 16px;
	}
	h6.table_sub_title {
		font-size: 12px;
	}
	p.table_foot_note {
		font-size: 11px;
	}
}
@media (max-width: 428px) {
	h5.table_main_title {
		font-size: 14px;margin-left:0;
	}
	h6.table_sub_title {
		font-size: 12px;margin-left:0;
	}
	p.table_foot_note {
		font-size: 10px;
	}
}
.cover_image{
  width: 100vw; height: 100vh;
  position: absolute;
  object-fit: cover;
  z-index: 0;
}

/* SVG chart */
.main_title {
  font-family: "HiraKakuProN-W6","ヒラギノ角ゴ Pro W6","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 700;
  letter-spacing: -0.05em;
  stroke:none;fill:currentColor;
}
.sub_title {
  font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
  stroke:none;fill:currentColor;
}
.foot_note {
  font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-weight: 300;
  letter-spacing: 0;
  stroke:none;fill:currentColor;
}
.tick text, .annotation text{
  font-family:"HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  letter-spacing: -0.05em;
  stroke:none;
}
.annotation text{ font-weight: 500; }

.tick path, .annotation path {
  stroke: #333; stroke-width:1px;
  fill: #333;
}
.tick line, .annotation line {
  stroke: #333; stroke-width:1px;
  fill: none;stroke: "black";
}
.xAxis text, .yAxis text{
  font-family: sans-serif;
  font-weight: 500;
  letter-spacing: -0.05em;
}

.brush_background {fill:white}
.brush_range {fill:lightgray}
.brush_axis .tick line {stroke:white}
.brush_group .selection {stroke:none;}

.round_slider {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 12px;
  padding: 3px 2px 2px 25px;
  color:black;
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: .4s; -webkit-transition: .4s;
}
.round_slider::before {
  position: absolute;
  content: "";
  height: 16px; width: 18px;
  top: 2px; left: 2px; bottom: 2px;
  background-color: white;
  transition: .4s; -webkit-transition: .4s;
}
input:checked + .round_slider {
  padding: 3px 28px 2px 5px;
}
input:checked + .round_slider {
  background-color: #2196F3;
}
input:checked + .round_slider::before {
  transform: translateX(48px);
  -webkit-transform: translateX(48px);
  -ms-transform: translateX(48px);
}

.nerdbox {
  width:calc(100vw - 1em);max-width: 1024px;
	margin: 2em auto 2em;padding: 0.5em;
	border: 1px solid darkgray;
}
.nerdbox p{
  color: gray;
  width: 100%;max-width:none;
  font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  font-size: 0.85em;
  font-weight: 300;
  letter-spacing: -0.05em;
  line-height: 1.35em;
  padding:0;
}

/*  chunichi  */
footer {
  font-family: "HiraKakuProN-W6","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  background-color: #182b52;
  display: block;
}
.footer {
  width: 100%;
  display: flex;
  flex-direction: row;-ms-flex-direction: row;
  flex-wrap: wrap;-ms-flex-wrap: wrap;
  -webkit-box-pack: justify; -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 5px 20px; 
}
.footer-cnt {
  color: #fff;
  flex: 0 1 25%;-webkit-box-flex: 0 1 25%;
}
/* デスクトップファーストで指定する */
@media screen and (min-width: 415px) and (max-width: 768px) {
  .footer-cnt {
    flex: 0 1 50%;-webkit-box-flex: 0 1 50%;
  }
}
@media screen and (max-width: 414px) {
  .footer-cnt {
    flex: 0 1 100%;-webkit-box-flex: 0 1 100%;
  }
}
.footer-cnt .wrp {
  padding: 0;
  height: 100%;
  position: relative;
}
.footer-cnt .hdg {
  font-size: 16px;
  font-weight: 700;
  padding: 20px 0px;
  border-bottom: 1px solid hsla(0,0%,100%,.15);
  border-top: 1px solid hsla(0,0%,100%,.15);
  position: relative;
}
.footer-cnt .list {
  padding: 15px 15px 20px;
  list-style-type: none;
}
.footer-cnt .list a {
  font-size: 14px;
  color: #fff;
  text-decoration: none;
}
.footer-cnt-prt {
  display: block;width:100%;
  text-align: center;
}
.footer-logo {margin:0 auto;}
.footer-logo svg {
  display: block; margin:0 auto;
  width: 125px;height: 28px;
  fill: #fff;
}
.footer-copy {
  color:#FFF;
  font-size: 10px;
  white-space: nowrap;text-align: center;
}

#related_stories {
	margin: 0.5em auto;padding: 0.5em;
	border: 1px solid #888888;
	max-width: 556px;
}
@media all and (max-width: 556px) {
	#related_stories {margin: 0.5em 0.5em;}
}
@media print {
	#related_stories {display:none;}
}

#related_stories a, #related_stories a:visited, #related_stories a:active {
	text-decoration:none;cursor:pointer;
}
.related_title {
	font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size: 0.85em;
	line-height: 1;
	margin: 3px 1em 7px 1em;
	letter-spacing: 0;
}
.related_links {
	margin-top: 10px;padding-top: 3px;
	border-top:1px solid #dddddd;
}
.related_link:not(:last-child) {
	margin-bottom: 3px;padding-bottom: 4px;
	border-bottom:1px solid #dddddd;
}
.related_link a {
	display: flex; align-items: center; margin-top: 0px;
}
.related_link_image {
	margin-right:15px; width:150px;min-width:150px; height:100px;
}
@media all and (max-width:414px) {
	.related_link_image {
		margin-right:10px; width:75px;min-width:75px; height:50px;
	}
}
.related_link_image img { width: 100%; border: none; }
.related_link_text {
	flex-grow: 1;-webkit-flex-grow: 1;
}
.related_link_text p{
	text-indent: 0;
	line-height: 1.5rem;
}
@media all and (max-width:414px) {
	.related_link_text p{
		font-size: 0.85em;
		line-height: 1.35;
	}
}

aside {
	display:block;
	line-height: 1.25;
	width: 100%;
	font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-size:0.85em;
	color: gray;
	margin: 0.5em 0;
	padding:0 2em;
}
.blackpaper aside {color:gray;}

#masthead_holder{
	position:absolute;width:100%;text-align: center;
	z-index:1;transform:translateZ(0);overflow:hidden;
  height:63px;
}
#masthead {
  display: block;
  width: 100px; height: 23px;
  margin: 20px auto;
  fill: white;
  filter: url(#inset_shadow);
}
@media screen and (min-width: 429px) and (max-width: 799px) {
  #masthead_holder{ height:53px;}
  #masthead {margin: 15px auto;width: 80px; height: 20px;}
}
@media screen and (max-width: 428px) {
  #masthead_holder{ height:53px;}
  #masthead {margin: 15px auto;width: 80px; height: 20px;}
}

figure {user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;}
figure.column-wide {width:100%;max-width:600px;margin:0.5rem auto;}
figure.column-wide img, figure.column-wide svg {width:100%;max-width:600px;}
figure.window-wide {width:100%;max-width:1024px;margin:0.5rem auto;}
figure.window-wide img, figure.window-wide svg {width:100%;max-width:1024px;}
figcaption {
	color: gray; top:-5px;
	font-family: "HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	line-height:1.2;font-size: 0.85rem;font-weight: light;
	text-align: left;padding:0 2em 0 0.5em;
}

.center_container {
	z-index:1;transform:translateZ(0);overflow:hidden;
}
.annotations text {
	stroke:none;fill:black;
	font: normal 14px sans-serif;
	filter: url(#whiteblur);
}
@media screen and (max-width: 412px) {
	.annotations text {font: normal 12px sans-serif;}
}

body {background-color: black;}
#front {
	position: relative;
	width:100%;
	height:calc(100vh - 1px);
	margin:0; z-index: 1;transform: translateZ(0);
}
#front h1 {
	font-weight: 700;
	position:absolute;
	top:15%;width:100%;margin:0px;
	text-align:center;line-height: 1.25;
	font-size:2.5rem;
	z-index:1;transform:translateZ(0);overflow:hidden;
}
#front h1 > br {display:none;}
#front h2 {
	font-weight: 400;
	position:absolute;
	top:calc(15% + 3.5rem);width:100%;margin:0px;
	font-size:1.25rem;line-height: 1.3;
	text-align:center;
	z-index:1;transform:translateZ(0);overflow:hidden;
}
.front_caption {
	color:grey;font:300 12px sans-serif;
	margin:0;padding:0;
	position:absolute;bottom:5px;right:5px;
}
@media screen and (min-width: 415px) and (max-width: 768px) {
	#front h1 {
		font-size:3rem;
		text-align: left;
		width: 350px;
		left:calc((100% - 350px) / 2);
	}
	#front h1 > br {display:block;}
	#front h2 {
		top:calc(15% + 9rem);
		font-size:1.2rem;
	}
}
@media screen and (max-width: 414px) {
	#front h1 {
		font-size:2.5rem;
		text-align: left;
		width: 265px;
		left:calc((100% - 265px) / 2);
	}
	#front h1 > br {display:block;}
	#front h2 {
		top:calc(15% + 7rem);
		font-size:1.2rem;
	}
}

#background {
	position:sticky;left:0;top:calc(100vh - 1px);
	width:100%;height:1px;
    z-index: 0;transform: translateZ(0);
	margin:0;padding:0;
	overflow: visible;
	background-color: transparent;
}
.background_offset {
	position: absolute; top: calc(1px - 100vh); left:0;
	width:100%; height:100vh;
}
#receiver {
	position: fixed;
	user-select: none;
	width:588px;
	left:calc((100% - 588px) / 2);
  height:calc(100vh - 4rem);
	margin:2rem auto;
	z-index: 99;transform: translateZ(0);
	background-color:rgba(1,1,1,0);
}
#interactive_icon {
  display: block;
  width: 70px; height: 70px; margin: 0 auto;
  position:absolute;
  right:0px;bottom:100px;
  filter: url(#drop_shadow);
}
@media screen and (min-width: 429px) and (max-width: 768px) {
  #receiver {
	  left:0;
	  width:calc(100vw - 240px);
    height:calc(100vh - 4rem);
	  margin:2rem 120px 2rem 120px;
  }
  #interactive_icon {
    width: 50px; height: 50px; margin: 0 auto;
    right:0px;bottom:100px;
  }  
}
@media (max-width: 428px) {
  #receiver {
	  left:0;
	  width:calc(100vw - 160px);
    height:calc(100vh - 4rem);
	  margin:2rem 80px 2rem 80px;
  }
  #interactive_icon {
    width: 50px; height: 50px; margin: 0 auto;
    right:0px;bottom:50px;
  }  
}
section {
	position: relative;
	display:block;
	width:100%;min-height:100vh;
	overflow: visible; /* hiddenはstickyと両立しない */
	pointer-events: none;
	user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;
}
#intro {min-height:60vh;}
.center_container p, .center_container h5 {
	color: white;
	z-index: 1;transform: translateZ(0);
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Yu Gothic","メイリオ","ＭＳ Ｐゴシック",sans-serif;
	font-weight: 500;
}
.center_container p {
    background-color:black;
	padding:5px 1em;
}
.citation { margin: 1rem; line-break:anywhere; }
.citation p {font-size: 0.8rem; line-height:1.2rem; color:#cccccc; background-color: transparent;}
.interactive_window, .non_interactive_window {
	height:100vh;width:100%;
}
.stick_area {
	position: relative; display:block;
	width:100%;
}
.sticky_holder {
	position: relative;
	overflow: visible; /* hiddenはstickyと両立しない */
}
.sticky_block {
	position: sticky; display:block;
	width:100vw; height:100vh;
	top:0; left: 0;
	overflow: hidden;
}
.sticky_legend {
	background-color: transparent;
	position: -webkit-sticky;position:sticky;
	display: block;
	top:10px;left:0;width:100%;
	z-index: 10;transform: translateZ(0);
	width:calc(100% - 1rem); max-width:500px;
	margin:0.5rem auto;
	background-color: black;
	padding:0.5rem;
}
.sticky_legend .legend_title {margin:5px 0.5em;padding:0;}
.label3d {
	margin: 0;padding:0;
	text-align: center;
}
.label3d h6 {
	font-size: 10px; line-height:12px;
	margin:0;
	background-color:transparent;
}
#anomalies_chart .series path { fill:none; stroke-width:3;}
#anomalies_chart .prediction2001 { fill:pink; stroke:none;}
.annotation text {stroke:none;fill:currentColor;}
.footnote div {
	position:absolute; bottom:20vh; right:1rem;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 1rem; color:cadetblue;
}
.malaria_cases {stroke:yellow;}
.malaria_case_series {stroke:none;fill:yellow;}
.malaria_cases g.tick text, .malaria_cases g.tick line {fill:yellow;}
.malaria_deaths {stroke:red;}
.malaria_death_series {stroke:none;fill:red;}
.malaria_deaths g.tick text, .malaria_deaths g.tick line {fill:red;}

.printable { display: none; }
@media print {
  body {background-color: transparent;}
  .blackpaper, .center_container p { color:black; background-color: transparent; }
	#front { height: 400px; }
	#front h1 { font-size:2.2rem;top:200px; }
	#front h1 > br {display:none;}
	#front h2 { font-size:1.4rem;top:300px; }	
	.printable {
    	display:block;position:absolute;
    	left:20px;top:20px;
    	width:100px;height:100px;
	}
	.printable > img { width:100%;height:100%; }
	section, #intro {min-height:unset;}
	#receiver, #background, .interactive_window, .non_interactive_window {display:none;}
}