@import url(//fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic&subset=latin);
@import url(//fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900);
@import url(//fonts.googleapis.com/css?family=EB+Garamond:400,500,600,700,800);
/**
* -------------------------------------------------------------------
* Base
* ------------------------------------------------------------------- */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body, html {
  margin: 0;
  padding: 0; }

html {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  color: #242424;
  height: 100%;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  height: 100%;
  font-size: 1.6rem;
  line-height: 1.5; }

section {
  padding: 6rem 0; }

a {
  color: #0087cc;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }
  a:visited {
    color: #0087cc;
    text-decoration: none;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
  a:hover, a:focus {
    color: #ff7b29;
    text-decoration: none; }

a:hover img, .hover a:hover, a.hover {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important;
  cursor: pointer; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

/**
* ===================================================================
* Typography
* ------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  font-weight: normal;
  margin: 0 0 .75em; }

.title {
  text-shadow: 1px 1px 1px #999; }

h1, .h01 {
  font-size: 3.0rem; }

@media only screen and (max-width: 600px) {
  h1, .h01 {
    font-size: 2.8rem; } }

h2, .h02 {
  font-size: 2.6rem; }

h3, .h03 {
  font-size: 2.4rem; }

h4, .h04 {
  font-size: 2.1rem; }

h5, .h05 {
  font-size: 1.8rem; }

h6, .h06 {
  font-size: 1.6rem; }

.plain {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  text-shadow: initial; }

p {
  margin: 0 0 1.4rem; }

strong {
  font-weight: bold; }

em, i, b {
  font-weight: normal;
  font-style: normal; }

blockquote {
  position: relative;
  margin: 3rem 0;
  padding-left: 4rem; }
  blockquote:before {
    position: absolute;
    top: 3rem;
    left: 0;
    color: #333;
    font-family: arial, sans-serif;
    font-size: 8rem;
    line-height: 0;
    content: "\201C";
    margin: 0; }
  blockquote p {
    font-family: georgia, serif;
    font-style: italic;
    padding: 0; }
  blockquote cite {
    display: block;
    font-size: 1.2rem;
    font-style: normal; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a {
      color: #8d8d8d;
      border: none; }
      blockquote cite a:visited {
        color: #8d8d8d;
        border: none; }

code {
  white-space: nowrap;
  margin: 0 .2rem;
  padding: .3rem .6rem;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  background: #f1f1f1; }

del {
  text-decoration: line-through; }

abbr {
  color: #8d8d8d;
  font-variant: small-caps;
  letter-spacing: .05rem;
  text-transform: lowercase; }

dfn {
  font-style: italic; }

abbr[title], dfn[title] {
  cursor: help;
  border-bottom: 1px dotted; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: .8rem; }

sub {
  font-size: .75rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  bottom: -0.25em; }

sup {
  font-size: .75rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em; }

.far, .fas, .fab {
  padding-right: .35em; }

.fin {
  margin-bottom: 5em; }

/**
* ===================================================================
* Images
* ------------------------------------------------------------------- */
img {
  border: 0;
  line-hegiht: 0; }
  img a:hover {
    opacity: 0.5 !important;
    filter: alpha(opacity=50) !important;
    cursor: pointer; }
  img.shadow {
    margin: 5px;
    -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.35);
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.35); }
  img.responsive, img.img100 {
    display: block;
    max-width: 100%;
    height: auto;
    width: auto; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1.5rem 40px; }

/**
* ===================================================================
* Lists
* ------------------------------------------------------------------- */
ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  ol li, ul li {
    margin-bottom: .35em; }
    ol li:last-child, ul li:last-child {
      margin-bottom: 0; }

ol.decimal {
  list-style: decimal;
  padding-left: 1.4rem; }

ul.disc {
  list-style: disc;
  padding-left: 1.4rem; }

li {
  display: list-item; }

dt {
  margin: 0; }

dd {
  margin: 0 0 0 2rem; }

/**
* ===================================================================
* Tables
* ------------------------------------------------------------------- */
table {
  max-width: 100%;
  width: 100%;
  border-width: 0;
  border-collapse: collapse;
  border-spacing: 0; }

th, td {
  text-align: left;
  padding: 1.5rem 3rem;
  border-bottom: 1px solid #e8e8e8; }

th {
  color: #252525; }

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

/**
* ===================================================================
* Forms
* ------------------------------------------------------------------- */
fieldset {
  border: none; }

input[type="email"], input[type="number"], input[type="search"], input[type="text"], input[type="tel"], input[type="url"], input[type="password"] {
  display: block;
  max-width: 100%;
  height: 6rem;
  outline: none;
  color: #737373;
  vertical-align: middle;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  padding: 1.5rem 2rem;
  border: 0;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  background: #fff;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

textarea, select {
  display: block;
  max-width: 100%;
  height: 6rem;
  outline: none;
  color: #737373;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-size: 1.5rem;
  vertical-align: middle;
  padding: 1.5rem 2rem;
  border: 0;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  background: #fff;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

textarea {
  min-height: 20rem; }

input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus {
  color: #242424;
  border: 1px solid #d2fef9;
  background: #f4fffe; }

textarea:focus, select:focus {
  color: #242424;
  border: 1px solid #d2fef9;
  background: #f4fffe; }

label, legend {
  display: block;
  color: #404040;
  margin-bottom: .6rem; }

label span, legend span {
  color: #05bca9; }

input[type="checkbox"], input[type="radio"] {
  display: inline; }

/**
* ===================================================================
* Style Placeholder Text
* ------------------------------------------------------------------- */
::-webkit-input-placeholder {
  color: #a1a1a1; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #a1a1a1; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #a1a1a1; }

:-ms-input-placeholder {
  color: #a1a1a1; }

.placeholder {
  color: #a1a1a1 !important; }

/**
* ===================================================================
* Buttons
* ------------------------------------------------------------------- */
.button, button {
  display: inline-block;
  height: 5rem;
  color: #252525;
  font-size: 1.6rem;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  text-decoration: none;
  text-align: center;
  line-height: 5rem;
  white-space: nowrap;
  cursor: pointer;
  margin: 0 .3rem 1rem 0;
  padding: 0 3rem;
  border: none;
  border-radius: 1000px;
  background: #d8d8d8;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

input[type="submit"], input[type="reset"], input[type="button"] {
  display: inline-block;
  height: 5rem;
  color: #252525;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-size: 1.6rem;
  text-decoration: none;
  text-align: center;
  line-height: 5rem;
  white-space: nowrap;
  cursor: pointer;
  margin: 0 .3rem 1rem 0;
  padding: 0 3rem;
  border: none;
  border-radius: 1000px;
  background: #d8d8d8;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }

button:hover {
  outline: 0;
  color: #fff;
  background: #bebebe; }

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  outline: 0;
  color: #fff;
  background: #bebebe; }

.button:focus, button:focus {
  outline: 0;
  color: #fff;
  background: #bebebe; }

input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus {
  outline: 0;
  color: #fff;
  background: #bebebe; }

.button.button-primary, button.button-primary {
  color: #fff;
  background: #05bca9; }

input[type="submit"].button-primary, input[type="reset"].button-primary, input[type="button"].button-primary {
  color: #fff;
  background: #05bca9; }

.button.button-primary:hover, button.button-primary:hover {
  background: #04998a; }

input[type="submit"].button-primary:hover, input[type="reset"].button-primary:hover, input[type="button"].button-primary:hover {
  background: #04998a; }

.button.button-primary:focus, button.button-primary:focus {
  background: #04998a; }

input[type="submit"].button-primary:focus, input[type="reset"].button-primary:focus, input[type="button"].button-primary:focus {
  background: #04998a; }

button.full-width, .button.full-width {
  width: 100%;
  margin-right: 0; }

button.medium, .button.medium {
  height: 5.5rem !important;
  line-height: 5.5rem !important;
  padding: 0 1.8rem !important; }

button.large, .button.large {
  height: 6rem !important;
  line-height: 6rem !important;
  padding: 0rem 3rem !important; }

button.round, .button.round {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
  border-radius: 1000px; }

button.stroke, .button.stroke {
  line-height: 4.4rem;
  border: 3px solid transparent;
  background: transparent !important; }

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0; }

/**
* ===================================================================
* Container
* ------------------------------------------------------------------- */
.container {
  width: auto;
  max-width: 1200px;
  margin: 0 auto; }

.wide-container {
  width: auto;
  max-width: 1600px;
  margin: 0 auto; }

.full-container {
  width: 100%;
  margin: 0; }

/**
 * ===================================================================
 * Grid
 * -------------------------------------------------------------------  */
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .row.reverse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .row.nowrap-x {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .row.left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .row.center, .row.x-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .row.right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .row.fill, .row.fill-x, .row.split {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .row.equalize {
    -ms-flex-pack: distribute;
        justify-content: space-around; }
  .row.top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .row.middle, .row.y-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .row.baseline {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; }
  .row.bottom {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  .row > .grow-x {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.stretch, .grow-y {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.col-full, .col-twelve, .col-12 {
  width: 98%;
  margin: 1em 1%; }

.col-half, .col-six, .col-6 {
  width: 48%;
  margin: 1em 1%; }

.col-four, .col-4 {
  width: calc(94% / 3);
  margin: 1em 1%; }

.col-8 {
  width: calc(97% / 3 * 2);
  margin: 1em 1%; }

.col-3, .col-three, .col-quarter, .col-solid-25 {
  width: 23%;
  margin: 1em 1%; }

.col-three-quarters, .col-solid-75 {
  width: 73%;
  margin: 1em 1%; }

.col-twenty, .col-solid-20 {
  width: 18%;
  margin: 1em 1%; }

.col-thirty, .col-solid-30 {
  width: 28%;
  margin: 1em 1%; }

.col-forty, .col-solid-40 {
  width: 38%;
  margin: 1em 1%; }

.col-sixty, .col-solid-60 {
  width: 58%;
  margin: 1em 1%; }

.col-seventy, .col-solid-70 {
  width: 68%;
  margin: 1em 1%; }

.col-eighty, .col-solid-80 {
  width: 78%;
  margin: 1em 1%; }

/*** Media Query ***/
@media only screen and (max-width: 899px) {
  .row.clear900:not(.natural) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .row.clear900 > .col-full, .row.clear900 > .col-twelve, .row.clear900 > .col-12, .row.clear900 > .col-half, .row.clear900 > .col-six, .row.clear900 > .col-6, .row.clear900 > .col-four, .row.clear900 > .col-4, .row.clear900 > .col-8, .row.clear900 > .col-three, .row.clear900 > .col-quarter, .row.clear900 > .col-solid-25, .row.clear900 > .col-three-quarters, .row.clear900 > .col-solid-75, .row.clear900 > .col-twenty, .row.clear900 > .col-solid-20, .row.clear900 > .col-thirty, .row.clear900 > .col-solid-30, .row.clear900 > .col-forty, .row.clear900 > .col-solid-40, .row.clear900 > .col-sixty, .row.clear900 > .col-solid-60, .row.clear900 > .col-seventy, .row.clear900 > .col-solid-70, .row.clear900 > .col-eighty, .row.clear900 > .col-solid-80 {
    width: 97%;
    margin: 1em 1.5%; }
  .row .col-full, .row .col-twelve, .row .col-12 {
    width: 97%;
    margin: 1em 1.5%; } }

/* Mobile Single Column ( like 7-10 inch Tablet ) */
@media only screen and (max-width: 768px) {
  .container, .wide-container {
    padding: 0 0.3em; }
  /* as you like */ }

/* Traditional SmartPhone Portrait Size */
/**
* ===================================================================
* Utility
* ------------------------------------------------------------------- */
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

.text-center {
  text-align: center; }
  .text-center > * {
    margin-left: auto !important;
    margin-right: auto !important; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.aligncenter, div.aligncenter, img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5px;
  margin-bottom: 2.5rem; }

.alignright {
  display: inline;
  float: right; }

img.alignright {
  margin: 5px 5px 15px 20px;
  padding: 0; }

.alignleft {
  display: inline;
  float: left; }

img.alignleft {
  margin: 5px 20px 15px 5px;
  padding: 0; }

/**
* ===================================================================
* Loader
* ------------------------------------------------------------------- */
#loader {
  width: 100vw;
  height: 100vh;
  background-color: white; }
  #loader .spinner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 15vh;
    left: 0;
    margin: auto; }

[data-loader='ball-scale'] {
  width: 100px;
  height: 100px;
  -webkit-animation: ball-scale infinite linear .75s;
  animation: ball-scale infinite linear .75s;
  border-radius: 100%;
  background-color: #666; }

@-webkit-keyframes ball-scale {
  0% {
    -webkit-transform: scale(0.1);
    -ms-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 0; } }

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0.1);
    -ms-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 0; } }

/*# sourceMappingURL=../../maps/base.css.map */
