@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=Roboto+Condensed:400,400italic);
@import url(//fonts.googleapis.com/css?family=Mukta:400);
@import url(//use.typekit.net/rik0ymq.css);
@import url(//fonts.googleapis.com/css?family=Oswald:400,500,600,700);
/**
* -------------------------------------------------------------------
* Base
* ------------------------------------------------------------------- */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

html {
  font-family: "PT Sans", "Noto Sans JP", sans-serif;
  font-weight: 300;
  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: 6em 0; }

a {
  color: #990000;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }
  a:visited {
    color: #990000;
    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, img.hover: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.2rem; }

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

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

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

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

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

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

.plain {
  font-family: "PT Sans", "Noto Sans JP", sans-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; }

/**
* ===================================================================
* 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 {
    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; }

th:first-child,
td:first-child {
  padding-left: 0; }

th:last-child,
td:last-child {
  padding-right: 0; }

.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;
  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-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: 25rem; }

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;
  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-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, 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; }

.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-two, .col-2 {
  width: calc(100% / 6 - 2%);
  margin: 1em 1%; }

.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%; }

/**
* ===================================================================
* Utility
* ------------------------------------------------------------------- */
.clear {
  clear: both;
  display: block;
  overflow: hidden; }

.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; }

.shadow {
  margin: 5px;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); }

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