@charset "UTF-8";
/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

import files from partials and breakpoints.

******************************************************************/
/* ------------------------------
IMPORTING PARTIALS
------------------------------ */
/* normalize.css 2012-07-07T09:50 UTC - https://github.com/necolas/normalize.css */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong,
.strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,
em,
.em {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/*
 * proper formatting (https://blog.fontdeck.com/post/9037028497/hyphens)
*/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

/*
 * Addresses margins set differently in IE6/7.
 */
pre {
  margin: 0; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,
q:after {
  content: '';
  content: none; }

small, .small {
  font-size: 75%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0; }

dd {
  margin: 0; }

/*
 * Addresses paddings set differently in IE6/7.
 */
menu {
  padding: 0 0 0 40px; }

ol,
ul {
  padding: 0;
  list-style-type: none; }

/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0; }

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.image-replacement,
.ir {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.clearfix, .cf {
  zoom: 1; }
  .clearfix:before, .clearfix:after, .cf:before, .cf:after {
    content: "";
    display: table; }
  .clearfix:after, .cf:after {
    clear: both; }

/*
use the best ampersand
https://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
  font-style: italic; }

/******************************************************************

Stylesheet: Typography and set of icons.

******************************************************************/
body {
  font-size: 1rem; }

h1 {
  font-size: 2rem; }

/******************************************************************

Stylesheet: color variables.

******************************************************************/
/******************************************************************

Stylesheet: Grid Stylesheet

******************************************************************/
.last-col {
  float: right;
  padding-right: 0 !important; }

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
  .m-all {
    float: left;
    padding-right: 0.9em;
    width: 100%;
    padding-right: 0; }

  .m-1of2 {
    float: left;
    padding-right: 0.9em;
    width: 50%; }

  .m-1of3 {
    float: left;
    padding-right: 0.9em;
    width: 33.33%; }

  .m-2of3 {
    float: left;
    padding-right: 0.9em;
    width: 66.66%; }

  .m-1of4 {
    float: left;
    padding-right: 0.9em;
    width: 25%; }

  .m-3of4 {
    float: left;
    padding-right: 0.9em;
    width: 75%; } }
/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
  .t-all {
    float: left;
    padding-right: 0.9em;
    width: 100%;
    padding-right: 0; }

  .t-1of2 {
    float: left;
    padding-right: 0.9em;
    width: 50%; }

  .t-1of3 {
    float: left;
    padding-right: 0.9em;
    width: 33.33%; }

  .t-2of3 {
    float: left;
    padding-right: 0.9em;
    width: 66.66%; }

  .t-1of4 {
    float: left;
    padding-right: 0.9em;
    width: 25%; }

  .t-3of4 {
    float: left;
    padding-right: 0.9em;
    width: 75%; }

  .t-1of5 {
    float: left;
    padding-right: 0.9em;
    width: 20%; }

  .t-2of5 {
    float: left;
    padding-right: 0.9em;
    width: 40%; }

  .t-3of5 {
    float: left;
    padding-right: 0.9em;
    width: 60%; }

  .t-4of5 {
    float: left;
    padding-right: 0.9em;
    width: 80%; } }
/* Landscape to small desktop */
@media (min-width: 1030px) {
  .d-all {
    float: left;
    padding-right: 0.9em;
    width: 100%;
    padding-right: 0; }

  .d-1of2 {
    float: left;
    padding-right: 0.9em;
    width: 50%; }

  .d-1of3 {
    float: left;
    padding-right: 0.9em;
    width: 33.33%; }

  .d-2of3 {
    float: left;
    padding-right: 0.9em;
    width: 66.66%; }

  .d-1of4 {
    float: left;
    padding-right: 0.9em;
    width: 25%; }

  .d-3of4 {
    float: left;
    padding-right: 0.9em;
    width: 75%; }

  .d-1of5 {
    float: left;
    padding-right: 0.9em;
    width: 20%; }

  .d-2of5 {
    float: left;
    padding-right: 0.9em;
    width: 40%; }

  .d-3of5 {
    float: left;
    padding-right: 0.9em;
    width: 60%; }

  .d-4of5 {
    float: left;
    padding-right: 0.9em;
    width: 80%; }

  .d-1of6 {
    float: left;
    padding-right: 0.9em;
    width: 16.6666666667%; }

  .d-1of7 {
    float: left;
    padding-right: 0.9em;
    width: 14.2857142857%; }

  .d-2of7 {
    float: left;
    padding-right: 0.9em;
    width: 28.5714286%; }

  .d-3of7 {
    float: left;
    padding-right: 0.9em;
    width: 42.8571429%; }

  .d-4of7 {
    float: left;
    padding-right: 0.9em;
    width: 57.1428572%; }

  .d-5of7 {
    float: left;
    padding-right: 0.9em;
    width: 71.4285715%; }

  .d-6of7 {
    float: left;
    padding-right: 0.9em;
    width: 85.7142857%; }

  .d-1of8 {
    float: left;
    padding-right: 0.9em;
    width: 12.5%; }

  .d-1of9 {
    float: left;
    padding-right: 0.9em;
    width: 11.1111111111%; }

  .d-1of10 {
    float: left;
    padding-right: 0.9em;
    width: 10%; }

  .d-1of11 {
    float: left;
    padding-right: 0.9em;
    width: 9.09090909091%; }

  .d-1of12 {
    float: left;
    padding-right: 0.9em;
    width: 8.33%; } }
/******************************************************************

Stylesheet: Mixins

******************************************************************/
/* ------------------------------
MEDIA QUERIES for width resolution.
------------------------------ */
/* BASE (MOBILE) SIZE, min-width: 1240px*/
/******************************************************************

Stylesheet: Resolution over 1240px for large monitor desktops.

******************************************************************/
/* ------------------------------
COMMON STYLES
------------------------------ */
body {
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 8px;
  font-size: 0.8rem;
  line-height: 13px;
  line-height: 1.3rem;
  -webkit-font-smoothing: antialiased;
  color: #333;
  height: 100%;
  background-color: #FFF; }

a, a:visited {
  color: #B7183F;
  text-decoration: underline;
  /* on hover */
  /* on click */
  /* mobile tap color */ }
  a:hover, a:focus, a:visited:hover, a:visited:focus {
    color: #300610;
    text-decoration: none; }
  a:link, a:visited:link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3); }

a:focus img,
a:active img,
a:hover img {
  opacity: 0.6;
  -moz-opacity: 0.6;
  -webkit-opacity: 0.6;
  -khtml-opacity: 0.6;
  filter: alpha(opacity=60); }

ul.text li {
  list-style-type: disc;
  margin-left: 3rem;
  margin-bottom: 1rem; }

li.nolink {
  display: inline-block;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #666;
  border-color: #666;
  width: 100%;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
  margin-top: 0em;
  margin-bottom: 1em;
  margin-left: 0rem;
  list-style-type: none; }

ul li a {
  display: inline-block;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #B7183F;
  border-color: #B7183F;
  width: 100%;
  color: #FFF;
  font-weight: bold;
  text-decoration: none;
  margin-top: 0em;
  margin-bottom: 1em;
  margin-left: 0rem;
  list-style-type: none;
  /* on visited */
  /* on hover */
  /* on click */ }
  ul li a:visited {
    color: #FFF;
    background-color: #B7183F;
    border-color: #B7183F; }
  ul li a:hover, ul li a:focus {
    color: #B7183F;
    background-color: #FFF;
    text-decoration: none; }
  ul li a:active {
    color: #B7183F;
    background-color: #FFF;
    text-decoration: none; }

/* ------------------------------
LAYOUT
------------------------------ */
.wrap {
  width: 80%;
  margin: 0 auto;
  position: relative; }

.header_area {
  height: 100px; }

#footer_area {
  height: 60px;
  font-size: 8px;
  font-size: 0.8rem;
  line-height: 11.2px;
  line-height: 1.12rem; }

/* ------------------------------
INDEX
------------------------------ */
#mobile {
  display: none; }

#indexHero {
  position: relative;
  width: 100%; }

#titleBlock {
  background-color: #FFF;
  width: 100%; }

#titleBlock canvas {
  display: block; }

#inspired {
  text-align: center; }

#subTitle {
  position: absolute;
  top: 80px;
  width: 300px;
  font-size: 24px;
  text-align: center;
  letter-spacing: -0.1em;
  font-weight: bold; }

#mainTitle {
  position: absolute;
  top: 100px;
  width: 760px;
  font-size: 70px;
  text-align: center;
  letter-spacing: -0.1em; }

p#titleJa {
  position: absolute;
  top: 200px;
  width: 300px;
  font-size: 18px;
  text-align: center;
  font-weight: bold; }

h2#indexCountry {
  position: absolute;
  top: 300px;
  width: 480px;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 30.8px;
  line-height: 3.08rem;
  text-align: center;
  letter-spacing: -0.1em; }

body#content1 h1,
body#content2 h1,
body#content3 h1,
body#content4 h1 {
  font-size: 18px;
  letter-spacing: -0.1em;
  font-weight: bold;
  margin-bottom: 0.1rem; }

body#content1 .title,
body#content2 .title,
body#content3 .title,
body#content4 .title {
  font-size: 12px;
  letter-spacing: -0.1em;
  font-weight: bold;
  margin-top: 0.1rem; }

body#content1 h2,
body#content2 h2,
body#content3 h2
body#content4 h2 {
  margin-top: 0.4rem; }

body#content2 #chart1,
body#content2 #chart2 {
  clear: both; }

body#content2 #countryHighlighted {
  margin: 4px 0 0 0;
  float: right;
  width: 600px;
  height: 40px;
  font-size: 24px;
  font-weight: bold;
  text-align: right;
  margin-right: 20px; }

body#content2 .line {
  fill: none;
  stroke-width: 1px;
  opacity: 0.2; }

body#content2 .line.selectedLine {
  stroke-width: 3px !important;
  opacity: 1.0; }

body#content3 #year {
  margin: 0 auto;
  width: 260px; }

body#content3 .title1,
body#content3 .title2 {
  height: 50px; }

body#content3 .title1 {
  text-align: right; }

.axis {
  font: 10px sans-serif;
  fill: #000; }

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

.tick line {
  stroke: #CCC; }

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

.g-label {
  background-color: #00F; }

/* SMALL MOBILE DEVICES */
@media only screen and (max-width: 480px) {
  /******************************************************************
  
  Stylesheet: Resolution between up to 480px for smartphone portrait & landscape mode.
  Also for default styles for every devices.
  ******************************************************************/
  body {
    font-size: 10px; }

  body#index .wrap,
  body#index #indexHero {
    display: none; }

  #mobile {
    display: block; } }
/* LARGER MOBILE DEVICES */
@media only screen and (max-width: 767px) {
  /******************************************************************
  
  Stylesheet: Resolution between 481px to 767px for devices larger than iPhone and smaller than tablets.
  
  ******************************************************************/
  body {
    font-size: 10px; }

  body#index .wrap,
  body#index #indexHero {
    display: none; }

  #mobile {
    display: block; } }
/* TABLET & SMALLER LAPTOPS */
@media only screen and (max-width: 1029px) {
  /******************************************************************
  
  Stylesheet: Resolution between 768px to 1029px for tablet device portrait mode & small desktops.
  
  ******************************************************************/
  #subTitle {
    position: absolute;
    top: 20px;
    width: 300px;
    font-size: 24px;
    text-align: center;
    letter-spacing: -0.1em;
    font-weight: bold; }

  #mainTitle {
    position: absolute;
    top: 40px;
    width: 760px;
    font-size: 70px;
    text-align: center;
    letter-spacing: -0.1em; }

  p#titleJa {
    position: absolute;
    top: 120px;
    width: 300px;
    font-size: 18px;
    text-align: center;
    font-weight: bold; }

  h2#indexCountry {
    position: absolute;
    top: 150px;
    width: 480px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 30.8px;
    line-height: 3.08rem;
    text-align: center;
    letter-spacing: -0.1em; } }
/* TABLET LANDSCAPE & DESKTOP */
@media only screen and (max-width: 1239px) {
  /******************************************************************
  
  Stylesheet: Resolution between 1030px to 1239px for tablet device landscape mode & small desktops.
  
  ******************************************************************/ }
/* ------------------------------
MEDIA QUERIES for RETINA (2x RESOLUTION DEVICES).
------------------------------ */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  
  Stylesheet: Retina Screens & Devices Stylesheet
  
  ******************************************************************/ }