@charset "UTF-8";
/**
 * スタイルの順序はFLOCSSに準拠
 *
 * Foundation
 * └ vendor
 * Layout
 * Object
 * ├ Component
 * ├ Project
 * └ Utility
 *
 */
/**
* Foundation
* 基本的に全て必須
*/
/**
 * mainvisual
 * メインビジュアルの定義
 *
 * SCSSファイル
 * /scss/object/project/p-mainvisual-*.scss
 */
/*
---
name: foundation/_f-base.scss
category: body
---

```
use normalize.css v7.0.0
```

*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

body {
  margin: 0;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

figcaption,
figure,
main {
  /* 1 */
  display: block;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

re {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

dfn {
  font-style: italic;
}

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

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

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

img {
  border-style: none;
}

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

button,
input {
  /* 1 */
  overflow: visible;
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

details,
menu {
  display: block;
}

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/**
 * オリジナルリセット設定
 * 1st 2017/01/10
 * fix 2018/01/16
 */
html {
  background: inherit;
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 1.6rem;
  color: #333;
  line-height: 2;
  border-top: 6px solid #fd8201;
}

.ie11 body {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ul,
ol,
dl,
dt,
dd,
figure {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
}

a {
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  color: #08f;
}

a:hover {
  text-decoration: underline;
  color: #08f;
}

strong, em {
  font-weight: 500;
  font-style: normal;
}

li,
dt,
dd {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  line-height: 1;
}

small {
  font-size: inherit;
}

table {
  border-collapse: collapse;
}

* {
  box-sizing: border-box;
  font-smoothing: antialiased;
}

*::before,
*::after {
  box-sizing: border-box;
}

input[type="text"],
input[type="email"],
input[type="button"],
input[type="submit"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"],
input[type="password"],
textarea,
select {
  outline: none;
}

textarea {
  resize: vertical;
  vertical-align: bottom;
}

input[type="text"],
input[type="textarea"] {
  width: 100%;
}

label,
input[type="button"],
input[type="submit"] {
  cursor: pointer;
}

@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

/**
* Layout
*/
/**
 * 全体を囲うブロック
 */
.wrapper {
  position: relative;
  height: 100%;
}

/**
 *  共通コンテナ
 */
.l-container,
.l-container-md,
.l-container-lg,
.l-container-xl,
.l-container-fluid {
  clear: both;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.l-container-fluid {
  width: 100%;
}

.l-section {
  padding: 30px 0;
}

.l-section-header {
  margin-bottom: 5vh;
}

.l-section-header-main,
.l-section-header-sub {
  display: block;
}

.l-section-header-main {
  font-size: 2.6rem;
}

.l-section-header-sub {
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .l-container,
  .l-container-md {
    width: 750px;
  }
  .l-section-header {
    margin-bottom: 6vh;
  }
  .l-section-header-main {
    font-size: 3.6rem;
  }
  .l-section-header-sub {
    font-size: 1.8rem;
  }
}

@media (min-width: 992px) {
  .l-container,
  .l-container-lg {
    width: 970px;
  }
  .l-section {
    padding: 100px 0 50px 0;
  }
  .l-section-header {
    margin-bottom: 6vh;
  }
  .l-section-header-main {
    font-size: 4rem;
  }
}

@media (min-width: 1200px) {
  .l-container,
  .l-container-xl {
    width: 1170px;
  }
  .l-section-header {
    margin-bottom: 12vh;
  }
  .l-section-header-main {
    font-size: 4.8rem;
  }
}

.l-header {
  position: relative;
  z-index: 100;
  width: 100%;
  background: none;
  -webkit-transition: .3s;
  transition: .3s;
  border-top: 6px solid #fff8d9;
  padding: 16px 0 20px;
}

.o-header-container {
  max-width: 1600px;
  width: 100%;
}

.l-header-logo {
  max-width: 170px;
  margin-bottom: 5px;
  line-height: 1;
}

.l-header-logo img {
  display: block;
}

.l-header-logo a {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
  display: block;
  font-size: 20px;
  font-family: HelveticaNeue, Arial, sans-serif;
}

.l-header-logo a:hover {
  opacity: .7;
  text-decoration: none;
}

.l-header-lead {
  font-size: 1.0rem;
  line-height: 1.4;
  font-weight: 500;
}

.l-header-phone a {
  color: #333;
  border-radius: 15px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
  padding: 16px 14px;
  font-size: 1.6rem;
  border: 1px solid #fff;
  font-size: 2rem;
  background: #fff;
}

@media (min-width: 576px) {
  .l-header-lead {
    font-size: 1.2rem;
  }
  .l-header-logo a {
    padding: 0 5px;
  }
  .l-header-phone a {
    color: #333;
    line-height: 1;
    padding: 20px 18px;
  }
}

@media (min-width: 768px) {
  .l-header-logo {
    max-width: 200px;
  }
  .l-header-logo a {
    font-size: 32px;
    font-family: HelveticaNeue, Arial, sans-serif;
    padding: 5px 7px;
  }
  .l-header-phone a {
    padding: 0px;
    font-size: 3.8rem;
    border: none;
    box-shadow: none;
    background: none;
  }
  .l-header-button {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
}

@media (min-width: 992px) {
  .l-header-phone a {
    font-size: 4.8rem;
  }
  .l-header-logo {
    max-width: 250px;
  }
}

@media (min-width: 1200px) {
  .l-header-lead {
    font-size: 1.4rem;
  }
  .l-header-phone a {
    font-size: 5.2rem;
  }
}

.fa-phone::before {
  color: #55d25b;
}

.l-footer {
  padding: 30px 0;
  font-size: 1.8rem;
  background: #333;
}

.copyright {
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
}

@media (min-width: 576px) {
  .copyright {
    font-size: 1.6rem;
  }
}

/**
* Object
*  ├ Component
*  ├ Project
*  └ Utility
*/
.c-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-grid-reverse {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.c-col {
  width: 100%;
}

@media (min-width: 768px) {
  .c-col {
    padding: 0 15px 0 15px;
  }
}

.c-col-header {
  padding: 15px 10px;
}

.c-col-text {
  padding: 15px;
}

.c-grid-2col > .c-col {
  width: calc(50% - 30px);
}

@media screen and (min-width: 576px) {
  .c-grid-2col-sm > .c-col {
    width: calc(50% - 30px);
  }
}

@media screen and (min-width: 768px) {
  .c-grid-2col-md > .c-col {
    width: calc(50% - 30px);
  }
}

@media screen and (min-width: 992px) {
  .c-grid-2col-lg > .c-col {
    width: calc(50% - 30px);
  }
}

@media screen and (min-width: 1200px) {
  .c-grid-2col-xl > .c-col {
    width: calc(50% - 30px);
  }
}

.c-grid-3col > .c-col {
  width: calc(33.3% - 30px);
}

@media screen and (min-width: 576px) {
  .c-grid-3col-sm > .c-col {
    width: calc(33.3% - 30px);
  }
}

@media screen and (min-width: 768px) {
  .c-grid-3col-md > .c-col {
    width: calc(33.3% - 30px);
  }
}

@media screen and (min-width: 992px) {
  .c-grid-3col-lg > .c-col {
    width: calc(33.3% - 30px);
  }
}

@media screen and (min-width: 1200px) {
  .c-grid-3col-xl > .c-col {
    width: calc(33.3% - 30px);
  }
}

.c-grid-4col > .c-col {
  width: calc(25% - 30px);
}

@media screen and (min-width: 576px) {
  .c-grid-4col-sm > .c-col {
    width: calc(25% - 30px);
  }
}

@media screen and (min-width: 768px) {
  .c-grid-4col-md > .c-col {
    width: calc(25% - 30px);
  }
}

@media screen and (min-width: 992px) {
  .c-grid-4col-lg > .c-col {
    width: calc(25% - 30px);
  }
}

@media screen and (min-width: 1200px) {
  .c-grid-4col-xl > .c-col {
    width: calc(25% - 30px);
  }
}

.c-col-fluid {
  padding: 0;
}

.c-col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.c-col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.c-col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.c-col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.c-col-6 {
  width: 50%;
  max-width: 50%;
}

.c-col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.c-col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.c-col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.c-col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.c-col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.c-col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 768px) {
  .c-col-1-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .c-col-2-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .c-col-3-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .c-col-4-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .c-col-5-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .c-col-6-md {
    width: 50%;
    max-width: 50%;
  }
  .c-col-7-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .c-col-8-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .c-col-9-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .c-col-10-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .c-col-11-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .c-col-12-md {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .c-col-1-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .c-col-2-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .c-col-3-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .c-col-4-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .c-col-5-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .c-col-6-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-col-7-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .c-col-8-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .c-col-9-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .c-col-10-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .c-col-11-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .c-col-12-lg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/**
 * Bourbon 使用
 * http://bourbon.io/docs/
 */
/**
 * 下線付き
 */
.c-heading01 {
  border-bottom: 3px solid #333;
}

/**
 * 点線
 */
.c-heading02 {
  border-bottom: dashed 2px #333;
}

/**
 * 上下線
 */
.c-heading03 {
  border-top-width: 2px;
  border-bottom-width: 2px;
  border-top-style: solid;
  border-bottom-style: solid;
}

/**
 * 背景単色
 */
.c-heading04 {
  background-color: #333;
  padding: 5px 10px;
}

/**
 * 左線
 */
.c-heading05 {
  border-left: 2px solid #333;
  padding-left: 10px;
}

/**
 * 単色背景 下吹き出し付き
 */
.c-heading06 {
  position: relative;
  background-color: #333;
  padding: 5px 10px;
}

.c-heading06::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #333;
  width: 0;
  height: 0;
}

/**
 * ステッチ風
 */
.c-heading07 {
  background: #333;
  box-shadow: 0px 0px 0px 5px #333;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
}

/**
 * リボン 左側のみ
 */
.c-heading08 {
  position: relative;
  padding: 0.5em 1em;
  background: #333;
  color: white;
}

.c-heading08::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 20px #666666;
}

/**
 * リボン 両側
 */
.c-heading09 {
  position: relative;
  padding: 0.5em 1em;
  background: #333;
  color: white;
}

/**
 * 元色よりリボン部分を暗くしたい場合は以下↓
 * darken($primary-font-color, 20%);
 */
.c-heading09::before,
.c-heading09::after {
  content: '';
  position: absolute;
  top: 100%;
  border-bottom: solid 10px transparent;
}

.c-heading09::before {
  left: 0;
  border-right: solid 20px #666666;
}

.c-heading09::after {
  right: 0;
  border-left: solid 20px #666666;
}

.c-heading10 {
  color: #333;
  background: -webkit-linear-gradient(transparent 70%, #ccc 70%);
  background: linear-gradient(transparent 70%, #ccc 70%);
}

.c-btn {
  cursor: pointer;
  line-height: 1;
  display: block;
  text-align: center;
  -webkit-transition: .2s ease-out;
  transition: .2s ease-out;
  border-width: 1px;
  border-style: solid;
}

.c-btn:hover {
  text-decoration: none;
}

.c-btn-lg {
  padding: 16px 15px;
  font-size: 2rem;
}

.c-btn-default {
  background-color: #fff;
  border-color: #fff;
  color: inherit;
}

.c-btn-shadow {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.c-btn-primary {
  color: #fff;
  border-color: #4caf50;
  background-color: #4caf50;
  background-image: inherit;
}

.c-btn-primary:hover {
  background-color: white;
  background-image: inherit;
  border-color: #4caf50;
  color: #4caf50;
}

.c-btn-apply {
  background-color: #4caf50;
  border-color: #4caf50;
  color: #fff;
}

.c-btn-apply:hover {
  background-color: white;
  border-color: #4caf50;
  color: #4caf50;
}

@media (min-width: 576px) {
  .c-btn-lg {
    padding: 20px 18px;
    font-size: 2.0rem;
  }
}

@media (min-width: 992px) {
  .c-btn-lg {
    padding: 24px 24px;
    font-size: 2.6rem;
  }
}

/**
 * お問い合わせフォーム
 */
.c-form {
  max-width: 650px;
  margin: 0 auto;
}

.c-form-note {
  padding: 0 15px;
  margin-top: 30px;
  font-size: 1.4rem;
}

.c-form-tbl {
  padding: 15px 15px;
}

.c-form-tr {
  margin: 0 0 20px;
}

.c-form-th {
  padding: 10px 0;
  font-weight: 700;
}

.c-form-td input,
.c-form-td select,
.c-form-td textarea {
  border: 1px solid #333;
  line-height: 1.4;
}

.c-form-td input[type="text"],
.c-form-td input[type="date"],
.c-form-td input[type="tel"],
.c-form-td input[type="email"],
.c-form-td textarea {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  -webkit-transition: .2s;
  transition: .2s;
  min-height: 1em;
}

.c-form-td input[type="date"] {
  -webkit-appearance: none;
}

.c-form-td input[type="text"]:focus,
.c-form-td textarea:focus {
  border-color: #66afe9;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.c-form-td select {
  width: 100%;
  font-size: 1.6rem;
  height: 2.6em;
  background: #fff;
}

.c-form-td textarea {
  min-height: 6em;
}

@media (min-width: 768px) {
  .c-form-td textarea {
    min-height: 12em;
  }
}

.c-form-required::after {
  content: '＊';
  display: inline-block;
  color: #c00;
  font-weight: 700;
}

.c-form-validate-error {
  color: #c00;
  font-size: 1.4rem;
}

.c-form-submit {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 15px 0;
}

.c-form-submit::after {
  content: '';
  clear: both;
  display: block;
}

input[type="submit"].btn-input {
  display: block;
  margin: 0 auto;
  cursor: pointer;
  padding: 15px 15px;
  line-height: 1;
  border-radius: 5px;
  color: #fff;
  font-weight: 700;
}

input[type="submit"].btn-confirm {
  width: 49%;
}

input[type="submit"].btn-correct {
  width: 100%;
  background-color: #d9534f;
  border-color: #d43f3a;
}

input[type="submit"].btn-correct:hover {
  background-color: #c9302c;
  border-color: #ac2925;
}

input[type="submit"].btn-submit {
  width: 100%;
  background-color: inherit;
  border-color: inherit;
}

input[type="submit"].btn-submit:hover {
  background-color: inherit;
  border-color: inherit;
}

.c-form-policy {
  overflow-y: scroll;
  max-height: 200px;
  border: 1px solid #ccc;
}

.c-form-policy-body {
  padding: 10px 20px 10px 10px;
  font-size: 14px;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2) inset;
}

@media (min-width: 576px) {
  .c-form-tbl {
    padding: 10px 60px 30px 60px;
  }
  .c-form-tr {
    margin: 0 0 30px;
  }
  .form-th {
    padding: 10px 10px 10px 0;
  }
  .c-form-checkbox {
    padding: 10px;
  }
  .c-form-select,
  .c-form-textarea {
    padding: 10px 0;
  }
}

/**
 * サンクスページ
 */
.l-wrapper-finish {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .l-finish-inner {
    padding: 30px;
  }
  .c-form-note {
    padding: 0 60px;
    margin-top: 30px;
    font-size: inherit;
  }
}

@media (min-width: 992px) {
  .l-finish {
    padding: 0px;
  }
}

.c-table,
.c-table tbody,
.c-table tr,
.c-table-th,
.c-table-td {
  display: block;
}

.c-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0px 2px;
}

.c-table tr {
  margin-bottom: 20px;
}

.c-table-th,
.c-table-td {
  font-size: 1.6rem;
  vertical-align: top;
  padding: 5px;
}

.c-table-th {
  font-weight: 700;
  text-align: left;
  background: rgba(253, 130, 1, 0.7);
}

@media (min-width: 768px) {
  .c-table-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .c-table {
    display: table;
  }
  .c-table tbody {
    display: table-row-group;
  }
  .c-table tr {
    display: table-row;
  }
  .c-table-th,
  .c-table-td {
    display: table-cell;
    padding: 15px;
    font-size: 1.6rem;
  }
  .c-table-th {
    width: auto;
    white-space: pre;
    text-align: right;
  }
}

.c-table-default tr:nth-child(odd) th,
.c-table-default tr:nth-child(odd) td {
  background: #fff;
}

/**
 * 補足
 */
.c-table ul,
.c-table li {
  list-style: disc;
}

.c-table ul {
  margin-left: 20px;
}

@media (min-width: 768px) {
  .c-table-th-right-md th {
    text-align: right;
  }
}

.u-ls-n {
  margin: 0;
}

.u-ls-n li {
  list-style-type: none;
}

.c-price-table-img {
  max-width: 65%;
}

@media (min-width: 768px) {
  .c-price-table-img {
    max-width: 360px;
  }
}

.c-table-02 tr {
  margin-bottom: 20px;
}

.c-table-02 th {
  width: 100%;
  padding: 0 20px 10px 10px;
  border-bottom: 1px solid #333;
  color: #333;
}

.c-table-02 td {
  padding: 10px 10px 0 10px;
  margin-bottom: 30px;
  word-wrap: break-word;
}

@media (min-width: 768px) {
  .c-table-02 tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
  }
  .c-table-02 th {
    width: 160px;
    padding: 10px 20px 10px 10px;
    border-right: 1px solid #333;
    border-bottom: none;
  }
  .c-table-02 td {
    width: calc(100% - 160px);
    padding: 10px 10px 10px 10px;
    margin-bottom: 0px;
    padding: 10px 10px 10px 20px;
  }
}

.page {
  padding-top: 50px;
}

.page .page-block p,
.page .page-block a {
  line-height: 2;
}

.page .container {
  max-width: 970px;
  width: 100%;
}

.page-block {
  margin-bottom: 50px;
}

.page-block::after {
  clear: both;
  content: "";
  display: table;
}

.page-block:last-child {
  margin-bottom: 0;
}

.page-title {
  font-size: 2rem;
  margin-bottom: 1.5em;
}

.page h2 {
  font-size: 1.8rem;
  margin-bottom: 1.5em;
}

.page h3 {
  font-size: 1.6rem;
  margin-bottom: 1.5em;
}

.breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse wrap;
  flex-flow: row-reverse wrap;
  margin-bottom: 2em;
  line-height: 1.4;
}

.breadcrumb ol {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.breadcrumb li::after {
  content: '/';
}

.breadcrumb li:last-child::after {
  content: '';
}

.breadcrumb li a {
  padding: 2px 5px;
}

.breadcrumb li span {
  display: block;
  padding: 0 5px;
}

.page-img {
  width: 100%;
  margin-bottom: 1.5em;
}

.page-link li {
  margin-bottom: 1em;
}

.page-link li:last-child {
  margin-bottom: 0;
}

.page .section {
  padding: 0;
}

@media (min-width: 576px) {
  .page-title {
    font-size: 3.0rem;
    margin-bottom: 20px;
    word-wrap: break-word;
    word-break: break-all;
  }
  .page h2 {
    font-size: 2.7rem;
  }
  .page h3 {
    font-size: 1.8rem;
  }
}

@media (min-width: 768px) {
  .page-img {
    width: 40%;
    margin-bottom: 0;
  }
  .page .section {
    padding: 30px 15px;
  }
  .page-title {
    text-align: center;
  }
}

/**
 * required _c-grid.scss
 */
.c-grid .c-3pr {
  margin-bottom: 30px;
}

.c-grid .c-3pr:last-child {
  margin-bottom: 0;
}

.c-3pr {
  background: #fff;
  padding: 30px 0;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}

.c-3pr-img {
  overflow: hidden;
  margin: 0 auto 30px auto;
}

.c-3pr img {
  display: block;
}

.c-3pr-content {
  padding: 0 15px;
}

.c-3pr-heading {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 0.75em;
}

.ribbon {
  position: relative;
  height: 60px;
  line-height: 60px;
  vertical-align: middle;
  padding: 7px 0;
  background: #fd8201;
  color: #FFF;
  box-sizing: border-box;
  margin-bottom: 0.8em;
}

.ribbon h3 {
  vertical-align: middle;
  margin: 0;
  padding: 0 30px;
  border-top: dashed 1px #FFF;
  border-bottom: dashed 1px #FFF;
  line-height: 46px;
}

.ribbon:before, .ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon:before {
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon:after {
  top: 0;
  right: 0;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

.c-3pr-small {
  width: 80%;
}

@media (min-width: 576px) {
  .c-3pr {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .c-3pr-img {
    width: 35%;
    margin-bottom: 0;
  }
  .c-3pr-content {
    width: 65%;
    padding-left: 30px;
    padding-bottom: 1em;
  }
  .c-3pr-heading {
    font-size: 2.2rem;
  }
}

@media (min-width: 768px) {
  .c-3pr {
    max-width: 650px;
  }
  .c-3pr-img {
    width: 30%;
  }
  .c-3pr-content {
    width: 75%;
    padding-bottom: 0;
  }
}

@media (min-width: 992px) {
  .c-grid .c-3pr {
    margin-bottom: 0;
  }
  .c-3pr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    padding-top: 30px;
  }
  .c-3pr-img {
    width: 100%;
    margin-bottom: 30px;
  }
  .c-3pr-heading {
    text-align: center;
  }
  .c-3pr-content {
    padding: 0;
    text-align: center;
    width: 100%;
  }
}

.c-3pr-img-circle {
  border-radius: 50%;
  width: 70%;
  border: 8px solid #fff8d9;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

@media (min-width: 576px) {
  .c-3pr-img-circle {
    width: 35%;
  }
}

@media (min-width: 768px) {
  .c-3pr-img-circle {
    width: 35%;
  }
}

@media (min-width: 992px) {
  .c-3pr-img-circle {
    width: 100%;
  }
}

/**
 * mainvisual
 */
.p-mv {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .p-mv {
    background-size: cover;
    background-position: center center;
  }
}

.p-mv-inner {
  position: relative;
  padding: 0;
  margin: 0 auto;
}

.pc .p-mv {
  background-attachment: fixed;
}

.p-mv-catch {
  line-height: 1.4;
  margin-bottom: 15px;
}

.p-mv-catch-block {
  position: relative;
  padding: 15px 15px 15px 15px;
}

.p-mv-cv {
  position: relative;
  z-index: 10;
}

@media (min-width: 576px) {
  .p-mv-catch {
    display: inline-block;
  }
}

@media (min-width: 768px) {
  .p-mv-catch {
    margin-bottom: .5em;
  }
  .p-mv-catch-block {
    padding: 0px;
  }
}

/**
 * 質問
 */
.p-faq .h3 {
  font-size: 2.0rem;
  margin-bottom: 1em;
}

.p-faq-dl {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
  border-bottom: 1px dashed;
  padding-bottom: 50px;
}

.p-faq-dl:last-child {
  margin-bottom: 0;
}

.p-faq-dt,
.p-faq-dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
}

.p-faq-q-icon,
.p-faq-a-icon {
  font-size: 2.8rem;
  margin-right: 10px;
  line-height: 1;
}

.p-faq-q-icon {
  background: #4caf50;
  color: #fff;
  padding: 10px;
}

.p-faq-a-icon {
  background: #fd8201;
  color: #fff;
  padding: 11px;
}

.p-faq-dd {
  margin-bottom: 30px;
}

.p-faq-dd:last-child {
  margin-bottom: 0;
}

.p-faq-q-text {
  font-size: 1.6rem;
}

.p-faq-dt {
  margin-bottom: 1em;
}

@media (min-width: 576px) {
  .p-faq-q-text {
    font-size: 2.1rem;
  }
  .p-faq-dd {
    margin-bottom: 50px;
  }
  .p-faq-dt p,
  .p-faq-dd p {
    font-size: 1.8rem;
  }
}

/*! Emma.css 0.7.0 | emmet-like utility classes | MIT License | git.io/emma */
/**
 * Emma.css 0.7.0 を元に削減&追加
 * 2017/02/23 flex回りのプロパティ追加
 */
.u-pos-s, .u-p-s {
  position: static !important;
}

.u-pos-a, .u-p-a {
  position: absolute !important;
}

.u-pos-r, .u-p-r {
  position: relative !important;
}

.u-pos-f, .u-p-f {
  position: fixed !important;
}

.u-t-a {
  top: auto !important;
}

.u-t-0 {
  top: 0 !important;
}

.u-r-a {
  right: auto !important;
}

.u-r-0 {
  right: 0 !important;
}

.u-b-a {
  bottom: auto !important;
}

.u-b-0 {
  bottom: 0 !important;
}

.u-l-a {
  left: auto !important;
}

.u-l-0 {
  left: 0 !important;
}

.u-fl-n, .float-none {
  float: none !important;
}

.u-fl-l, .float-left {
  float: left !important;
}

.u-fl-r, .float-right {
  float: right !important;
}

.u-cl-n {
  clear: none !important;
}

.u-cl-l {
  clear: left !important;
}

.u-cl-r {
  clear: right !important;
}

.u-cl-b {
  clear: both !important;
}

.u-of-h {
  overflow: hidden !important;
}

@media (min-width: 576px) {
  .u-pos-a-sm, .u-p-a-sm {
    position: absolute !important;
  }
  .u-pos-r-sm, .u-p-r-sm {
    position: relative !important;
  }
  .u-pos-f-sm, .u-p-f-sm {
    position: fixed !important;
  }
  .u-t-0-sm {
    top: 0 !important;
  }
  .u-r-0-sm {
    right: 0 !important;
  }
  .u-b-0-sm {
    bottom: 0 !important;
  }
  .u-l-0-sm {
    left: 0 !important;
  }
  .u-fl-n-sm, .float-none-sm {
    float: none !important;
  }
  .u-fl-l-sm, .float-left-sm {
    float: left !important;
  }
  .u-fl-r-sm, .float-right-sm {
    float: right !important;
  }
}

@media (min-width: 768px) {
  .u-pos-a-md, .u-p-a-md {
    position: absolute !important;
  }
  .u-pos-r-md, .u-p-r-md {
    position: relative !important;
  }
  .u-pos-f-md, .u-p-f-md {
    position: fixed !important;
  }
  .u-fl-n-md, .float-none-md {
    float: none !important;
  }
  .u-fl-l-md, .float-left-md {
    float: left !important;
  }
  .u-fl-r-md, .float-right-md {
    float: right !important;
  }
}

@media (min-width: 992px) {
  .u-pos-a-lg, .u-p-a-lg {
    position: absolute !important;
  }
  .u-pos-r-lg, .u-p-r-lg {
    position: relative !important;
  }
  .u-pos-f-lg, .u-p-f-lg {
    position: fixed !important;
  }
  .u-fl-n-lg, .float-none-lg {
    float: none !important;
  }
  .u-fl-l-lg, .float-left-lg {
    float: left !important;
  }
  .u-fl-r-lg, .float-right-lg {
    float: right !important;
  }
}

.u-w-a {
  width: auto !important;
}

.u-bd-n {
  border: none !important;
}

.u-bg-n {
  background: none !important;
}

.u-c-i {
  color: inherit !important;
}

.u-ta-l, .t-left, .tleft {
  text-align: left !important;
}

.u-ta-c, .t-center, .tcenter {
  text-align: center !important;
}

.u-ta-r, .t-right, .tright {
  text-align: right !important;
}

.u-ws-pre, .u-ws-p, .ws-pre {
  white-space: pre !important;
}

.u-ws-nw, .ws-nw {
  white-space: nowrap;
}

.u-wb-ba {
  word-break: break-all;
}

.u-ww-bw {
  word-wrap: break-word;
}

@media (min-width: 768px) {
  .u-ta-l-md, .t-left-md, .tleft-md {
    text-align: left !important;
  }
  .u-ta-c-md, .t-center-md, .tcenter-md {
    text-align: center !important;
  }
  .u-ta-r-md, .t-right-md, .tright-md {
    text-align: right !important;
  }
  .u-ta-l-md, .t-left-md, .tleft-md {
    text-align: left !important;
  }
  .u-ta-c-md, .t-center-md, .tcenter-md {
    text-align: center !important;
  }
  .u-ta-r-md, .t-right-md, .tright-md {
    text-align: right !important;
  }
  .u-ws-pre-md, .u-ws-p-md, .ws-pre-md {
    white-space: pre !important;
  }
}

@media (min-width: 992px) {
  .u-ta-l-lg, .t-left-lg, .tleft-lg {
    text-align: left !important;
  }
  .u-ta-c-lg, .t-center-lg, .tcenter-lg {
    text-align: center !important;
  }
  .u-ta-r-lg, .t-right-lg, .tright-lg {
    text-align: right !important;
  }
  .u-ws-pre-lg, .u-ws-p-lg, .ws-pre-lg {
    white-space: pre !important;
  }
}

.u-ta-j {
  text-align: justify !important;
}

.u-tsh-n {
  text-shadow: none !important;
}

.u-lh-nm {
  line-height: normal !important;
}

.u-lh-i {
  line-height: inherit !important;
}

.u-lh-1 {
  line-height: 1 !important;
}

.u-lh-xs {
  line-height: 1.2 !important;
}

.u-lh-sm {
  line-height: 1.4 !important;
}

.u-lh-md {
  line-height: 1.6 !important;
}

.u-lh-lg {
  line-height: 1.8 !important;
}

.u-lh-2 {
  line-height: 2 !important;
}

@media (min-width: 768px) {
  .u-lh-xs-md {
    line-height: 1.6 !important;
  }
  .u-lh-2-md {
    line-height: 2 !important;
  }
}

/**
 * テキスト装飾
 */
.u-td-n {
  text-decoration: none !important;
}

.u-td-u, .underline, .under {
  text-decoration: underline !important;
}

/**
 * pointer-events
 * required IE11 over
 */
.u-pe-n {
  pointer-events: none !important;
}

.u-pe-a {
  pointer-events: auto !important;
}

@media (min-width: 768px) {
  .u-pe-n-md {
    pointer-events: none !important;
  }
  .u-pe-a-md {
    pointer-events: auto !important;
  }
}

@media (min-width: 992px) {
  .u-pe-n-lg {
    pointer-events: none !important;
  }
  .u-pe-a-lg {
    pointer-events: auto !important;
  }
}

/**
 * カラー定義 (ひとまずホワイトのみ)
 */
.color-white, .u-c-w {
  color: #fff !important;
}

.bg-white, .u-bg-w {
  background: #fff !important;
}

.color-red, .u-c-r {
  color: #ff0038 !important;
}

/**
 * /scss/foundation/_f-variable.scssの
 * $primary-font-colorの値が入る
 **/
.u-m-c, .u-mc {
  color: #333 !important;
}

.u-ma {
  margin: auto !important;
}

.u-m0 {
  margin: 0 !important;
}

.u-m0a {
  margin-left: auto;
  margin-right: auto;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt1em {
  margin-top: 1em !important;
}

.u-mt15em {
  margin-top: 1.5em !important;
}

.u-mt2em {
  margin-top: 2em !important;
}

.u-mt3em {
  margin-top: 3em !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-mb-half {
  margin-bottom: .5em !important;
}

.u-mb1em {
  margin-bottom: 1em !important;
}

.u-mb15em {
  margin-bottom: 1.5em !important;
}

.u-mb2em {
  margin-bottom: 2em !important;
}

.u-mb3em {
  margin-bottom: 3em !important;
}

.u-mr-a {
  margin-right: auto !important;
}

.u-mr1em {
  margin-right: 1em !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-ml-a {
  margin-left: auto !important;
}

.u-ml1em {
  margin-left: 1em !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

@media (min-width: 576px) {
  .u-mt0-sm {
    margin-top: 0 !important;
  }
  .u-mt10-sm {
    margin-top: 10px !important;
  }
  .u-mt15-sm {
    margin-top: 15px !important;
  }
  .u-mt20-sm {
    margin-top: 20px !important;
  }
  .u-mt25-sm {
    margin-top: 25px !important;
  }
  .u-mt30-sm {
    margin-top: 30px !important;
  }
  .u-mb-half-sm {
    margin-bottom: .5em !important;
  }
  .u-mb1em-sm {
    margin-bottom: 1em !important;
  }
  .u-mb15em-sm {
    margin-bottom: 1.5em !important;
  }
  .u-mb2em-sm {
    margin-bottom: 2em !important;
  }
  .u-mb3em-sm {
    margin-bottom: 3em !important;
  }
  .u-mb0-sm {
    margin-bottom: 0 !important;
  }
  .u-mb10-sm {
    margin-bottom: 10px !important;
  }
  .u-mb15-sm {
    margin-bottom: 15px !important;
  }
  .u-mb20-sm {
    margin-bottom: 20px !important;
  }
  .u-mb25-sm {
    margin-bottom: 25px !important;
  }
  .u-mb30-sm {
    margin-bottom: 30px !important;
  }
  .u-mb50-sm {
    margin-bottom: 50px !important;
  }
  .u-mb75-sm {
    margin-bottom: 75px !important;
  }
  .u-mb100-sm {
    margin-bottom: 100px !important;
  }
  .u-mr0-sm {
    margin-right: 0 !important;
  }
  .u-mr1em-sm {
    margin-right: 1em !important;
  }
  .u-mr10-sm {
    margin-right: 10px !important;
  }
  .u-mr15-sm {
    margin-right: 15px !important;
  }
  .u-mr20-sm {
    margin-right: 20px !important;
  }
  .u-mr25-sm {
    margin-right: 25px !important;
  }
  .u-mr30-sm {
    margin-right: 30px !important;
  }
  .u-ml0-sm {
    margin-left: 0 !important;
  }
  .u-ml1em-sm {
    margin-left: 1em !important;
  }
  .u-ml10-sm {
    margin-left: 10px !important;
  }
  .u-ml15-sm {
    margin-left: 15px !important;
  }
  .u-ml20-sm {
    margin-left: 20px !important;
  }
  .u-ml25-sm {
    margin-left: 25px !important;
  }
  .u-ml30-sm {
    margin-left: 30px !important;
  }
}

@media (min-width: 768px) {
  .u-mt0-md {
    margin-top: 0 !important;
  }
  .u-mt10-md {
    margin-top: 10px !important;
  }
  .u-mt15-md {
    margin-top: 15px !important;
  }
  .u-mt20-md {
    margin-top: 20px !important;
  }
  .u-mt25-md {
    margin-top: 25px !important;
  }
  .u-mt30-md {
    margin-top: 30px !important;
  }
  .u-mb-half-md {
    margin-bottom: .5em !important;
  }
  .u-mb1em-md {
    margin-bottom: 1em !important;
  }
  .u-mb15em-md {
    margin-bottom: 1.5em !important;
  }
  .u-mb2em-md {
    margin-bottom: 2em !important;
  }
  .u-mb3em-md {
    margin-bottom: 3em !important;
  }
  .u-mb0-md {
    margin-bottom: 0 !important;
  }
  .u-mb5-md {
    margin-bottom: 5px !important;
  }
  .u-mb10-md {
    margin-bottom: 10px !important;
  }
  .u-mb15-md {
    margin-bottom: 15px !important;
  }
  .u-mb20-md {
    margin-bottom: 20px !important;
  }
  .u-mb25-md {
    margin-bottom: 25px !important;
  }
  .u-mb30-md {
    margin-bottom: 30px !important;
  }
  .u-mb50-md {
    margin-bottom: 50px !important;
  }
  .u-mb75-md {
    margin-bottom: 75px !important;
  }
  .u-mb100-md {
    margin-bottom: 100px !important;
  }
  .u-mr0-md {
    margin-right: 0 !important;
  }
  .u-mr1em-md {
    margin-right: 1em !important;
  }
  .u-mr10-md {
    margin-right: 10px !important;
  }
  .u-mr15-md {
    margin-right: 15px !important;
  }
  .u-mr20-md {
    margin-right: 20px !important;
  }
  .u-mr25-md {
    margin-right: 25px !important;
  }
  .u-mr30-md {
    margin-right: 30px !important;
  }
  .u-ml0-md {
    margin-left: 0 !important;
  }
  .u-ml1em-md {
    margin-left: 1em !important;
  }
  .u-ml10-md {
    margin-left: 10px !important;
  }
  .u-ml15-md {
    margin-left: 15px !important;
  }
  .u-ml20-md {
    margin-left: 20px !important;
  }
  .u-ml25-md {
    margin-left: 25px !important;
  }
  .u-ml30-md {
    margin-left: 30px !important;
  }
}

@media (min-width: 992px) {
  .u-mt0-lg {
    margin-top: 0 !important;
  }
  .u-mt10-lg {
    margin-top: 10px !important;
  }
  .u-mt15-lg {
    margin-top: 15px !important;
  }
  .u-mt20-lg {
    margin-top: 20px !important;
  }
  .u-mt25-lg {
    margin-top: 25px !important;
  }
  .u-mt30-lg {
    margin-top: 30px !important;
  }
  .u-mb-half-lg {
    margin-bottom: .5em !important;
  }
  .u-mb1em-lg {
    margin-bottom: 1em !important;
  }
  .u-mb15em-lg {
    margin-bottom: 1.5em !important;
  }
  .u-mb2em-lg {
    margin-bottom: 2em !important;
  }
  .u-mb3em-lg {
    margin-bottom: 3em !important;
  }
  .u-mb0-lg {
    margin-bottom: 0 !important;
  }
  .u-mb5-lg {
    margin-bottom: 5px !important;
  }
  .u-mb10-lg {
    margin-bottom: 10px !important;
  }
  .u-mb15-lg {
    margin-bottom: 15px !important;
  }
  .u-mb20-lg {
    margin-bottom: 20px !important;
  }
  .u-mb25-lg {
    margin-bottom: 25px !important;
  }
  .u-mb30-lg {
    margin-bottom: 30px !important;
  }
  .u-mb50-lg {
    margin-bottom: 50px !important;
  }
  .u-mb75-lg {
    margin-bottom: 75px !important;
  }
  .u-mb100-lg {
    margin-bottom: 100px !important;
  }
  .u-mr0-lg {
    margin-right: 0 !important;
  }
  .u-mr10-lg {
    margin-right: 10px !important;
  }
  .u-mr15-lg {
    margin-right: 15px !important;
  }
  .u-mr20-lg {
    margin-right: 20px !important;
  }
  .u-mr25-lg {
    margin-right: 25px !important;
  }
  .u-mr30-lg {
    margin-right: 30px !important;
  }
  .u-ml0-lg {
    margin-left: 0 !important;
  }
  .u-ml10-lg {
    margin-left: 10px !important;
  }
  .u-ml15-lg {
    margin-left: 15px !important;
  }
  .u-ml20-lg {
    margin-left: 20px !important;
  }
  .u-ml25-lg {
    margin-left: 25px !important;
  }
  .u-ml30-lg {
    margin-left: 30px !important;
  }
}

@media (min-width: 1200px) {
  .u-mt0-xl {
    margin-top: 0 !important;
  }
  .u-mt10-xl {
    margin-top: 10px !important;
  }
  .u-mt15-xl {
    margin-top: 15px !important;
  }
  .u-mt20-xl {
    margin-top: 20px !important;
  }
  .u-mt25-xl {
    margin-top: 25px !important;
  }
  .u-mt30-xl {
    margin-top: 30px !important;
  }
  .u-mb-half-xl {
    margin-bottom: .5em !important;
  }
  .u-mb1em-xl {
    margin-bottom: 1em !important;
  }
  .u-mb15em-xl {
    margin-bottom: 1.5em !important;
  }
  .u-mb2em-xl {
    margin-bottom: 2em !important;
  }
  .u-mb3em-xl {
    margin-bottom: 3em !important;
  }
  .u-mb0-xl {
    margin-bottom: 0 !important;
  }
  .u-mb5-xl {
    margin-bottom: 5px !important;
  }
  .u-mb10-xl {
    margin-bottom: 10px !important;
  }
  .u-mb15-xl {
    margin-bottom: 15px !important;
  }
  .u-mb20-xl {
    margin-bottom: 20px !important;
  }
  .u-mb25-xl {
    margin-bottom: 25px !important;
  }
  .u-mb30-xl {
    margin-bottom: 30px !important;
  }
  .u-mb50-xl {
    margin-bottom: 50px !important;
  }
  .u-mb75-xl {
    margin-bottom: 75px !important;
  }
  .u-mb100-xl {
    margin-bottom: 100px !important;
  }
  .u-mr0-xl {
    margin-right: 0 !important;
  }
  .u-mr10-xl {
    margin-right: 10px !important;
  }
  .u-mr15-xl {
    margin-right: 15px !important;
  }
  .u-mr20-xl {
    margin-right: 20px !important;
  }
  .u-mr25-xl {
    margin-right: 25px !important;
  }
  .u-mr30-xl {
    margin-right: 30px !important;
  }
  .u-ml0-xl {
    margin-left: 0 !important;
  }
  .u-ml10-xl {
    margin-left: 10px !important;
  }
  .u-ml15-xl {
    margin-left: 15px !important;
  }
  .u-ml20-xl {
    margin-left: 20px !important;
  }
  .u-ml25-xl {
    margin-left: 25px !important;
  }
  .u-ml30-xl {
    margin-left: 30px !important;
  }
}

.u-p0 {
  padding: 0px !important;
}

.u-p5 {
  padding: 5px !important;
}

.u-p10 {
  padding: 10px !important;
}

.u-p15 {
  padding: 15px !important;
}

.u-p20 {
  padding: 20px !important;
}

.u-p25 {
  padding: 25px !important;
}

.u-p30 {
  padding: 30px !important;
}

.u-p35 {
  padding: 35px !important;
}

.u-p40 {
  padding: 40px !important;
}

.u-pt0 {
  padding-top: 0 !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb-half {
  padding-bottom: .5em !important;
}

.u-pb1em {
  padding-bottom: 1em !important;
}

.u-pb15em {
  padding-bottom: 1.5em !important;
}

.u-pb2em {
  padding-bottom: 2em !important;
}

.u-pb3em {
  padding-bottom: 3em !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

@media (min-width: 576px) {
  .u-pt0-sm {
    padding-top: 0 !important;
  }
  .u-pt10-sm {
    padding-top: 10px !important;
  }
  .u-pt15-sm {
    padding-top: 15px !important;
  }
  .u-pt20-sm {
    padding-top: 20px !important;
  }
  .u-pt25-sm {
    padding-top: 25px !important;
  }
  .u-pt30-sm {
    padding-top: 30px !important;
  }
  .u-pt35-sm {
    padding-top: 35px !important;
  }
  .u-pb-half-sm {
    padding-bottom: .5em !important;
  }
  .u-pb1em-sm {
    padding-bottom: 1em !important;
  }
  .u-pb15em-sm {
    padding-bottom: 1.5em !important;
  }
  .u-pb2em-sm {
    padding-bottom: 2em !important;
  }
  .u-pb3em-sm {
    padding-bottom: 3em !important;
  }
  .u-pb0-sm {
    padding-bottom: 0 !important;
  }
  .u-pb10-sm {
    padding-bottom: 10px !important;
  }
  .u-pb15-sm {
    padding-bottom: 15px !important;
  }
  .u-pb20-sm {
    padding-bottom: 20px !important;
  }
  .u-pb25-sm {
    padding-bottom: 25px !important;
  }
  .u-pb30-sm {
    padding-bottom: 30px !important;
  }
  .u-pb35-sm {
    padding-bottom: 35px !important;
  }
  .u-pr0-sm {
    padding-right: 0 !important;
  }
  .u-pr10-sm {
    padding-right: 10px !important;
  }
  .u-pr15-sm {
    padding-right: 15px !important;
  }
  .u-pr20-sm {
    padding-right: 20px !important;
  }
  .u-pr25-sm {
    padding-right: 25px !important;
  }
  .u-pr30-sm {
    padding-right: 30px !important;
  }
  .u-pr35-sm {
    padding-right: 35px !important;
  }
  .u-pl0-sm {
    padding-left: 0 !important;
  }
  .u-pl10-sm {
    padding-left: 10px !important;
  }
  .u-pl15-sm {
    padding-left: 15px !important;
  }
  .u-pl20-sm {
    padding-left: 20px !important;
  }
  .u-pl25-sm {
    padding-left: 25px !important;
  }
  .u-pl30-sm {
    padding-left: 30px !important;
  }
  .u-pl35-sm {
    padding-left: 35px !important;
  }
}

@media (min-width: 768px) {
  .u-p0-md {
    padding: 0 !important;
  }
  .u-p10-md {
    padding: 10px !important;
  }
  .u-p15-md {
    padding: 15px !important;
  }
  .u-p20-md {
    padding: 20px !important;
  }
  .u-p25-md {
    padding: 25px !important;
  }
  .u-p30-md {
    padding: 30px !important;
  }
  .u-p35-md {
    padding: 35px !important;
  }
  .u-p40-md {
    padding: 40px !important;
  }
  .u-pd50-md {
    padding: 50px !important;
  }
  .u-pt0-md {
    padding-top: 0 !important;
  }
  .u-pt10-md {
    padding-top: 10px !important;
  }
  .u-pt15-md {
    padding-top: 15px !important;
  }
  .u-pt20-md {
    padding-top: 20px !important;
  }
  .u-pt25-md {
    padding-top: 25px !important;
  }
  .u-pt30-md {
    padding-top: 30px !important;
  }
  .u-pt35-md {
    padding-top: 35px !important;
  }
  .u-pb-half-md {
    padding-bottom: .5em !important;
  }
  .u-pb1em-md {
    padding-bottom: 1em !important;
  }
  .u-pb15em-md {
    padding-bottom: 1.5em !important;
  }
  .u-pb2em-md {
    padding-bottom: 2em !important;
  }
  .u-pb3em-md {
    padding-bottom: 3em !important;
  }
  .u-pb0-md {
    padding-bottom: 0 !important;
  }
  .u-pb10-md {
    padding-bottom: 10px !important;
  }
  .u-pb15-md {
    padding-bottom: 15px !important;
  }
  .u-pb20-md {
    padding-bottom: 20px !important;
  }
  .u-pb25-md {
    padding-bottom: 25px !important;
  }
  .u-pb30-md {
    padding-bottom: 30px !important;
  }
  .u-pb35-md {
    padding-bottom: 35px !important;
  }
  .u-pb40-md {
    padding-bottom: 40px !important;
  }
  .u-pb50-md {
    padding-bottom: 50px !important;
  }
  .u-pb80-md {
    padding-bottom: 80px !important;
  }
  .u-pb100-md {
    padding-bottom: 100px !important;
  }
  .u-pr0-md {
    padding-right: 0 !important;
  }
  .u-pr10-md {
    padding-right: 10px !important;
  }
  .u-pr15-md {
    padding-right: 15px !important;
  }
  .u-pr20-md {
    padding-right: 20px !important;
  }
  .u-pr25-md {
    padding-right: 25px !important;
  }
  .u-pr30-md {
    padding-right: 30px !important;
  }
  .u-pr35-md {
    padding-right: 35px !important;
  }
  .u-pl0-md {
    padding-left: 0 !important;
  }
  .u-pl10-md {
    padding-left: 10px !important;
  }
  .u-pl15-md {
    padding-left: 15px !important;
  }
  .u-pl20-md {
    padding-left: 20px !important;
  }
  .u-pl25-md {
    padding-left: 25px !important;
  }
  .u-pl30-md {
    padding-left: 30px !important;
  }
  .u-pl35-md {
    padding-left: 35px !important;
  }
}

@media (min-width: 992px) {
  .u-pt0-lg {
    padding-top: 0 !important;
  }
  .u-pt10-lg {
    padding-top: 10px !important;
  }
  .u-pt15-lg {
    padding-top: 15px !important;
  }
  .u-pt20-lg {
    padding-top: 20px !important;
  }
  .u-pt25-lg {
    padding-top: 25px !important;
  }
  .u-pt30-lg {
    padding-top: 30px !important;
  }
  .u-pt35-lg {
    padding-top: 35px !important;
  }
  .u-pt50-lg {
    padding-top: 50px !important;
  }
  .u-pb-half-lg {
    padding-bottom: .5em !important;
  }
  .u-pb1em-lg {
    padding-bottom: 1em !important;
  }
  .u-pb15em-lg {
    padding-bottom: 1.5em !important;
  }
  .u-pb2em-lg {
    padding-bottom: 2em !important;
  }
  .u-pb3em-lg {
    padding-bottom: 3em !important;
  }
  .u-pb0-lg {
    padding-bottom: 0 !important;
  }
  .u-pb10-lg {
    padding-bottom: 10px !important;
  }
  .u-pb15-lg {
    padding-bottom: 15px !important;
  }
  .u-pb20-lg {
    padding-bottom: 20px !important;
  }
  .u-pb25-lg {
    padding-bottom: 25px !important;
  }
  .u-pb30-lg {
    padding-bottom: 30px !important;
  }
  .u-pb35-lg {
    padding-bottom: 35px !important;
  }
  .u-pb40-lg {
    padding-bottom: 40px !important;
  }
  .u-pb50-lg {
    padding-bottom: 50px !important;
  }
  .u-pb80-lg {
    padding-bottom: 80px !important;
  }
  .u-pb100-lg {
    padding-bottom: 100px !important;
  }
  .u-pb150-lg {
    padding-bottom: 150px !important;
  }
  .u-pr0-lg {
    padding-right: 0 !important;
  }
  .u-pr10-lg {
    padding-right: 10px !important;
  }
  .u-pr15-lg {
    padding-right: 15px !important;
  }
  .u-pr20-lg {
    padding-right: 20px !important;
  }
  .u-pr25-lg {
    padding-right: 25px !important;
  }
  .u-pr30-lg {
    padding-right: 30px !important;
  }
  .u-pr35-lg {
    padding-right: 35px !important;
  }
  .u-pl0-lg {
    padding-left: 0 !important;
  }
  .u-pl10-lg {
    padding-left: 10px !important;
  }
  .u-pl15-lg {
    padding-left: 15px !important;
  }
  .u-pl20-lg {
    padding-left: 20px !important;
  }
  .u-pl25-lg {
    padding-left: 25px !important;
  }
  .u-pl30-lg {
    padding-left: 30px !important;
  }
  .u-pl35-lg {
    padding-left: 35px !important;
  }
}

.u-d-n, .u-d-n-xs {
  display: none !important;
}

.u-d-i, .u-d-i-xs {
  display: inline !important;
}

.u-d-b, .u-d-b-xs {
  display: block !important;
}

.u-d-ib, .u-d-ib-xs {
  display: inline-block !important;
}

@media (min-width: 576px) {
  .u-d-n-sm {
    display: none !important;
  }
  .u-d-i-sm {
    display: inline !important;
  }
  .u-d-b-sm {
    display: block !important;
  }
  .u-d-ib-sm {
    display: inline-block !important;
  }
}

@media (min-width: 768px) {
  .u-d-n-md {
    display: none !important;
  }
  .u-d-i-md {
    display: inline !important;
  }
  .u-d-b-md {
    display: block !important;
  }
  .u-d-ib-md {
    display: inline-block !important;
  }
}

@media (min-width: 992px) {
  .u-d-n-lg {
    display: none !important;
  }
  .u-d-i-lg {
    display: inline !important;
  }
  .u-d-b-lg {
    display: block !important;
  }
  .u-d-ib-lg {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .u-d-n-xl {
    display: none !important;
  }
  .u-d-i-xl {
    display: inline !important;
  }
  .u-d-b-xl {
    display: block !important;
  }
  .u-d-ib-xl {
    display: inline-block !important;
  }
}

.u-d-f, .u-d-f-xs {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: flex !important;
}

.u-fd-r {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: row !important;
  flex-direction: row !important;
}

.u-fd-rr {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

.u-fd-c {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
}

.u-fd-cr {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important;
}

.u-fw-w {
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.u-fw-nw {
  -webkit-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.u-fw-r {
  -webkit-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.u-jc-fs {
  -webkit-box-pack: start !important;
  -webkit-justify-content: flex-start !important;
  justify-content: flex-start !important;
}

.u-jc-fe {
  -webkit-box-pack: end !important;
  -webkit-justify-content: flex-end !important;
  justify-content: flex-end !important;
}

.u-jc-c {
  -webkit-box-pack: center !important;
  -webkit-justify-content: center !important;
  justify-content: center !important;
}

.u-jc-sb {
  -webkit-box-pack: justify !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
}

.u-jc-sa {
  -webkit-justify-content: space-around !important;
  justify-content: space-around !important;
}

.u-ai-fs {
  -webkit-box-align: start !important;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
}

.u-ai-fe {
  -webkit-box-align: end !important;
  -webkit-align-items: flex-end !important;
  align-items: flex-end !important;
}

.u-ai-c {
  -webkit-box-align: center !important;
  -webkit-align-items: center !important;
  align-items: center !important;
}

.u-ai-s {
  -webkit-box-align: stretch !important;
  -webkit-align-items: stretch !important;
  align-items: stretch !important;
}

.u-ai-fs {
  -webkit-box-align: start !important;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
}

@media (min-width: 576px) {
  .u-d-f-sm {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-fd-r-sm {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-fd-rr-sm {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-fw-w-sm {
    -webkit-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-fw-nw-sm {
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
}

@media (min-width: 768px) {
  .u-d-f-md {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-fd-r-md {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-fd-rr-md {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-fw-w-md {
    -webkit-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-fw-nw-md {
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-jc-fs-md {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
  }
  .u-jc-fe-md {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    justify-content: flex-end !important;
  }
  .u-jc-c-md {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
  }
  .u-jc-sb-md {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
  }
  .u-jc-sa-md {
    -webkit-justify-content: space-around !important;
    justify-content: space-around !important;
  }
  .u-ai-fs-md {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
  .u-ai-fe-md {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
  }
  .u-ai-c-md {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
  }
  .u-ai-s-md {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    align-items: stretch !important;
  }
  .u-ai-fs-md {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 992px) {
  .u-d-f-lg {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-fd-r-lg {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-fd-rr-lg {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-fw-w-lg {
    -webkit-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-fw-nw-lg {
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-jc-fs-lg {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
  }
  .u-jc-fe-lg {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    justify-content: flex-end !important;
  }
  .u-jc-c-lg {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
  }
  .u-jc-sb-lg {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
  }
  .u-jc-sa-lg {
    -webkit-justify-content: space-around !important;
    justify-content: space-around !important;
  }
  .u-ai-fs-lg {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
  .u-ai-fe-lg {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
  }
  .u-ai-c-lg {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
  }
  .u-ai-s-lg {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    align-items: stretch !important;
  }
  .u-ai-fs-lg {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 1200px) {
  .u-d-f-xl {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-fw-w-xl {
    -webkit-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-fw-nw-xl {
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-jc-fs-xl {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
  }
  .u-jc-fe-xl {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    justify-content: flex-end !important;
  }
  .u-jc-c-xl {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
  }
  .u-jc-sb-xl {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
  }
  .u-jc-sa-xl {
    -webkit-justify-content: space-around !important;
    justify-content: space-around !important;
  }
  .u-ai-fs-xl {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
  .u-ai-fe-xl {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
  }
  .u-ai-c-xl {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
  }
  .u-ai-s-xl {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    align-items: stretch !important;
  }
  .u-ai-fs-xl {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
  }
}

/**
 * font-style
 */
.italic {
  font-style: italic !important;
}

/**
 * font-weight
 */
.u-fw-n, .fw-n {
  font-weight: 500 !important;
}

.u-fw-b, .bold, .b {
  font-weight: 700 !important;
}

@media (min-width: 768px) {
  .u-fw-n-md, .fw-n-md {
    font-weight: 500 !important;
  }
  .u-fw-b-md, .bold-md, .b-md {
    font-weight: 700 !important;
  }
}

@media (min-width: 992px) {
  .u-fw-n-lg, .fw-n-lg {
    font-weight: 500 !important;
  }
  .u-fw-b-lg, .bold-lg, .b-lg {
    font-weight: 700 !important;
  }
}

@media (min-width: 992px) {
  .u-fw-n-xl, .fw-n-xl {
    font-weight: 500 !important;
  }
  .u-fw-b-xl, .bold-xl, .b-xl {
    font-weight: 700 !important;
  }
}

/**
 * font-size
 */
.u-fs10 {
  font-size: 10px !important;
}

.u-fs12 {
  font-size: 12px !important;
}

.u-fs14 {
  font-size: 14px !important;
}

.u-fs16 {
  font-size: 16px !important;
}

.u-fs18 {
  font-size: 18px !important;
}

.u-fs20 {
  font-size: 20px !important;
}

.u-fs50 {
  font-size: 50% !important;
}

.u-fs60 {
  font-size: 60% !important;
}

.u-fs70 {
  font-size: 70% !important;
}

.u-fs80 {
  font-size: 80% !important;
}

.u-fs90 {
  font-size: 90% !important;
}

.u-fs100 {
  font-size: 100% !important;
}

.u-fs120 {
  font-size: 120% !important;
}

.u-fs130 {
  font-size: 130% !important;
}

.u-fs140 {
  font-size: 140% !important;
}

.u-fs150 {
  font-size: 150% !important;
}

.u-fs160 {
  font-size: 160% !important;
}

@media (min-width: 768px) {
  .u-fs12-md {
    font-size: 12px !important;
  }
  .u-fs14-md {
    font-size: 14px !important;
  }
  .u-fs16-md {
    font-size: 16px !important;
  }
  .u-fs18-md {
    font-size: 18px !important;
  }
  .u-fs20-md {
    font-size: 20px !important;
  }
  .u-fs70-md {
    font-size: 70% !important;
  }
  .u-fs80-md {
    font-size: 80% !important;
  }
  .u-fs100-md {
    font-size: 100% !important;
  }
  .u-fs120-md {
    font-size: 120% !important;
  }
  .u-fs130-md {
    font-size: 130% !important;
  }
  .u-fs140-md {
    font-size: 140% !important;
  }
  .u-fs150-md {
    font-size: 150% !important;
  }
  .u-fs160-md {
    font-size: 160% !important;
  }
}

@media (min-width: 992px) {
  .u-fs14-lg {
    font-size: 14px !important;
  }
  .u-fs16-lg {
    font-size: 16px !important;
  }
  .u-fs18-lg {
    font-size: 18px !important;
  }
  .u-fs20-lg {
    font-size: 20px !important;
  }
  .u-fs120-lg {
    font-size: 120% !important;
  }
  .u-fs130-lg {
    font-size: 130% !important;
  }
  .u-fs140-lg {
    font-size: 140% !important;
  }
  .u-fs150-lg {
    font-size: 150% !important;
  }
  .u-fs160-lg {
    font-size: 160% !important;
  }
}

/******************************************
 * font-family
 * 游書体についてはIE11でバグがあるため、除外処理を適用
 */
.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.ie11 .mincho {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media (min-width: 768px) {
  .u-mincho-md,
  .u-mincho-md a,
  .mincho-md,
  .mincho-md a {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
}

@media (min-width: 992px) {
  .u-mincho-lg,
  .u-mincho-lg a,
  .mincho-lg,
  .mincho-lg a {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
}

@media (min-width: 768px) {
  .windows .mincho {
    -webkit-transform: rotate(0.03deg);
    transform: rotate(0.03deg);
    font-weight: 700;
  }
}

.serif {
  font-family: "Times New Roman", 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.ie11 .serif {
  font-family: "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.sans-serif {
  font-family: "Helvetica", "Arial", Sans-Serif;
}

.gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.ie11 .gothic {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.grotesk {
  font-family: "Futura", "Century Gothic", Sans-Serif;
}

.u-br-0 {
  border-radius: 0px !important;
}

.u-br-1 {
  border-radius: 1px !important;
}

.u-br-3 {
  border-radius: 3px !important;
}

.u-br-5 {
  border-radius: 5px !important;
}

.u-br-6 {
  border-radius: 6px !important;
}

.u-br-10 {
  border-radius: 10px !important;
}

.u-br-15 {
  border-radius: 15px !important;
}

.u-br-20 {
  border-radius: 20px !important;
}

.u-br-50 {
  border-radius: 50px !important;
}

.u-br-50per {
  border-radius: 50% !important;
}

@media (min-width: 576px) {
  .u-br-0-sm {
    border-radius: 0px !important;
  }
  .u-br-1-sm {
    border-radius: 1px !important;
  }
  .u-br-3-sm {
    border-radius: 3px !important;
  }
  .u-br-5-sm {
    border-radius: 5px !important;
  }
  .u-br-6-sm {
    border-radius: 6px !important;
  }
  .u-br-10-sm {
    border-radius: 10px !important;
  }
  .u-br-15-sm {
    border-radius: 15px !important;
  }
  .u-br-20-sm {
    border-radius: 20px !important;
  }
  .u-br-50-sm {
    border-radius: 50px !important;
  }
  .u-br-50per-sm {
    border-radius: 50% !important;
  }
}

@media (min-width: 768px) {
  .u-br-0-md {
    border-radius: 0px !important;
  }
  .u-br-1-md {
    border-radius: 1px !important;
  }
  .u-br-3-md {
    border-radius: 3px !important;
  }
  .u-br-5-md {
    border-radius: 5px !important;
  }
  .u-br-6-md {
    border-radius: 6px !important;
  }
  .u-br-10-md {
    border-radius: 10px !important;
  }
  .u-br-15-md {
    border-radius: 15px !important;
  }
  .u-br-20-md {
    border-radius: 20px !important;
  }
  .u-br-50-md {
    border-radius: 50px !important;
  }
  .u-br-50per-md {
    border-radius: 50% !important;
  }
}

@media (min-width: 992px) {
  .u-br-0-lg {
    border-radius: 0px !important;
  }
  .u-br-1-lg {
    border-radius: 1px !important;
  }
  .u-br-3-lg {
    border-radius: 3px !important;
  }
  .u-br-5-lg {
    border-radius: 5px !important;
  }
  .u-br-6-lg {
    border-radius: 6px !important;
  }
  .u-br-10-lg {
    border-radius: 10px !important;
  }
  .u-br-15-lg {
    border-radius: 15px !important;
  }
  .u-br-20-lg {
    border-radius: 20px !important;
  }
  .u-br-50-lg {
    border-radius: 50px !important;
  }
  .u-br-50per-lg {
    border-radius: 50% !important;
  }
}

.u-brdr-bottom-5px {
  border-bottom: 5px #333 solid;
}

.u-hl-r, .u-hl-b, .u-hl-g {
  padding: 2px 4px;
  border-radius: 4px;
}

.u-hl-r {
  color: #c7254e;
  background-color: #f9f2f4;
}

.u-hl-b {
  color: #08f;
  background-color: #e8f4ff;
}

.u-hl-g {
  color: #4caf50;
  background-color: #efffef;
}

.u-marker, .marker {
  background: -webkit-linear-gradient(transparent 60%, rgba(255, 245, 0, 0.5) 60%);
  background: linear-gradient(transparent 60%, rgba(255, 245, 0, 0.5) 60%);
}

.u-marker-red,
.marker-red,
.u-marker-r,
.marker-r {
  background: -webkit-linear-gradient(transparent 60%, #c7254e 60%);
  background: linear-gradient(transparent 60%, #c7254e 60%);
}

.u-marker-green, .marker-green {
  background: -webkit-linear-gradient(transparent 60%, #4dd285 60%);
  background: linear-gradient(transparent 60%, #4dd285 60%);
}

.u-bg-grd-w-top {
  background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.7) 60%, white 100%);
  background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.7) 60%, white 100%);
}

.u-bothends-line-b {
  display: inline-block;
  position: relative;
  padding: 0 .7em;
}

.u-bothends-line-b span::before,
.u-bothends-line-b span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 50px;
  height: 1px;
  background-color: #333;
}

.u-bothends-line-b span::before {
  right: 100%;
}

.u-bothends-line-b span::after {
  left: 100%;
}

.u-tsh-brdr-w {
  text-shadow: #fff 0px 1px 0px, #fff 1px 0px 0px, #fff 1px 1px 0px, #fff 0px -1px 0px, #fff -1px 0px 0px, #fff -1px -1px 0px, #fff 1px -1px 0px, #fff -1px 1px 0px;
}

.u-tsh-brdr-w-b {
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}

.u-tsh-brdr-w-sh-3 {
  text-shadow: #fff 0px 1px 0px, #fff 1px 0px 0px, #fff 1px 1px 0px, #fff 0px -1px 0px, #fff -1px 0px 0px, #fff -1px -1px 0px, #fff 1px -1px 0px, #fff -1px 1px 0px, 0px 2px 3px rgba(0, 0, 0, 0.3);
}

.u-tsh-brdr-w-sh-6 {
  text-shadow: #fff 0px 1px 0px, #fff 1px 0px 0px, #fff 1px 1px 0px, #fff 0px -1px 0px, #fff -1px 0px 0px, #fff -1px -1px 0px, #fff 1px -1px 0px, #fff -1px 1px 0px, 0px 2px 3px rgba(0, 0, 0, 0.6);
}

.u-tsh-brdr-b {
  text-shadow: #000 0px 1px 0px, #000 1px 0px 0px, #000 1px 1px 0px, #000 0px -1px 0px, #000 -1px 0px 0px, #000 -1px -1px 0px, #000 1px -1px 0px, #000 -1px 1px 0px;
}

.u-tsh-brdr-b-b {
  text-shadow: #000 2px 0px, #000 -2px 0px, #000 0px -2px, #000 0px 2px, #000 2px 2px, #000 -2px 2px, #000 2px -2px, #000 -2px -2px, #000 1px 2px, #000 -1px 2px, #000 1px -2px, #000 -1px -2px, #000 2px 1px, #000 -2px 1px, #000 2px -1px, #000 -2px -1px;
}

.u-tsh-wg {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.u-bsh {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

/**
 * u-antique
 *   u-antique-inner
 **/
.u-antique {
  display: block;
  margin: 0px 20px;
  padding: 20px 0;
  border: 1px solid #888;
  border-width: 1px 0;
  position: relative;
  background: #fff;
}

.u-antique-inner {
  position: relative;
  padding: 0px 0px;
  margin: 0 -20px;
  background: #fff;
  border: 1px solid #888;
  border-width: 0 1px;
}

.u-antique::before, .u-antique::after,
.u-antique-inner::before, .u-antique-inner::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border: 20px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  box-shadow: inset 0 0 0 1px #888;
}

.u-antique::before {
  top: -40px;
  left: -60px;
  clip: rect(40px, auto, auto, 40px);
  /* CSS 2.1 way - deprecated */
  -webkit-clip-path: rectangle(50%, 50%, 100%, 100%, 0, 0);
  /* CSS 3 */
}

.u-antique::after {
  top: -40px;
  right: -59px;
  clip: rect(40px, 40px, auto, auto);
  -webkit-clip-path: rectangle(0, 50%, 50%, 100%, 0, 0);
}

.u-antique-inner::before {
  bottom: -60px;
  left: -40px;
  clip: rect(auto, auto, 40px, 40px);
  -webkit-clip-path: rectangle(50%, 0, 100%, 50%, 0, 0);
}

.u-antique-inner::after {
  bottom: -60px;
  right: -40px;
  clip: rect(auto, 40px, 40px, auto);
  -webkit-clip-path: rectangle(0, 0, 50%, 50%, 0, 0);
}

@media (min-width: 768px) {
  .u-antique {
    margin: 0 5px;
  }
}

.u-crossline {
  margin: 2em 0;
  position: relative;
  padding: 0px 12px;
  border-top: solid 2px #e8c1a6;
  border-bottom: solid 2px #e8c1a6;
}

.u-crossline:before,
.u-crossline:after {
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: calc(100% + 20px);
  background-color: #e8c1a6;
}

.u-crossline:before {
  left: 10px;
}

.u-crossline:after {
  right: 10px;
}

.u-crossline p {
  margin: 0;
  padding: 0;
}

/**
* Others
*/
.o-cta {
  padding: 30px 0;
}

.o-cta2 {
  background-image: url(../img/common/bg.jpg);
}

@media (min-width: 768px) {
  .o-cta {
    padding: 50px 0;
  }
}

.o-feature-thumb {
  margin-bottom: 15px;
}

.o-feature-body-heading {
  font-size: 1.8rem;
  margin-bottom: 5px;
}

.o-feature-block {
  margin-bottom: 30px;
}

.o-feature-block:last-child {
  margin-bottom: 0;
}

.o-feature-pt {
  font-size: 2.5rem;
}

@media (min-width: 768px) {
  .o-feature-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: 12vh;
  }
  .o-feature-thumb {
    width: 55%;
    margin-bottom: 0;
  }
  .o-feature-body {
    width: 45%;
    padding: 0 2vw;
  }
  .o-feature-body-heading {
    font-size: 2.4vw;
    margin-bottom: 2vh;
    font-weight: 500;
  }
}

@media (min-width: 992px) {
  .o-feature-block {
    margin-bottom: 15vh;
  }
  .o-feature-thumb {
    width: 55%;
  }
  .o-feature-body {
    width: 45%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
}

@media (min-width: 1600px) {
  .o-feature-body-heading {
    font-size: 4.0rem;
    margin-bottom: 2vh;
  }
}

/**
 * original class
 */
.o-txt-brdr {
  text-shadow: #333 0px 1px 0px, #333 1px 0px 0px, #333 1px 1px 0px, #333 0px -1px 0px, #333 -1px 0px 0px, #333 -1px -1px 0px, #333 1px -1px 0px, #333 -1px 1px 0px;
}

.o-txt-brdr-sh {
  text-shadow: #fff 0px 1px 0px, #fff 1px 0px 0px, #fff 1px 1px 0px, #fff 0px -1px 0px, #fff -1px 0px 0px, #fff -1px -1px 0px, #fff 1px -1px 0px, #fff -1px 1px 0px, 0px 2px 10px rgba(255, 255, 255, 0.8);
}

.o-base-tsh {
  text-shadow: 0 2px 6px 0, 0, 0, 0.2;
}

.o-c-g,
.o-c-green {
  color: #4dc37e;
}

.o-c-r,
.o-c-red {
  color: #d53620;
}

.o-c-o,
.o-c-orange {
  color: #fd8201;
}

.o-c-br {
  color: #5f0e02;
}

.o-grid-pp {
  background-image: url(../img/common/bg2.jpg);
}

.o-trick h3 {
  background: #ffd98a;
  padding: 0.5em 1em 0.5em 0.5em;
  font-size: 1.8rem;
  color: #474747;
  border-radius: 15px 0 15px 0;
}

.o-trick p {
  background: rgba(255, 255, 255, 0.5);
  padding: 0.5em 1em;
}

.o-trick .fa-check::before {
  color: #fd8201;
}

.o-trick-img {
  width: 60%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .o-trick h3 {
    font-size: 2rem;
  }
  .o-trick-img {
    width: 30%;
    margin: 0 auto;
  }
}

@media (min-width: 992px) {
  .o-trick-img {
    width: 100%;
    margin: 0 auto;
  }
}

@media (min-width: 1200px) {
  .o-trick h3 {
    font-size: 2.2rem;
  }
}

.emphasis {
  padding: 0.3em 0;
  background-repeat: repeat-x;
  background-size: 1em 0.2em;
  background-position: top left;
  background-image: -webkit-gradient(radial, center center, 0, center center, 1.5, from(#333), color-stop(0.5, #333), color-stop(0.9, transparent), to(transparent));
  background-image: -webkit-radial-gradient(center center, 0.1em 0.1em, #333, #333 95%, transparent 95%, transparent);
  background-image: -webkit-radial-gradient(0.1em 0.1em at center center, #333, #333 95%, transparent);
  background-image: radial-gradient(0.1em 0.1em at center center, #333, #333 95%, transparent);
}

.emphasis-r {
  padding: 0.3em 0;
  background-repeat: repeat-x;
  background-size: 1em 0.2em;
  background-position: top left;
  background-image: -webkit-gradient(radial, center center, 0, center center, 1.5, from(#d53620), color-stop(0.5, #d53620), color-stop(0.9, transparent), to(transparent));
  background-image: -webkit-radial-gradient(center center, 0.1em 0.1em, #d53620, #d53620 95%, transparent 95%, transparent);
  background-image: -webkit-radial-gradient(0.1em 0.1em at center center, #d53620, #d53620 95%, transparent);
  background-image: radial-gradient(0.1em 0.1em at center center, #d53620, #d53620 95%, transparent);
}

.triangle-o {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #fd8201;
}

.triangle-g {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #4caf50;
}

.o-header-container {
  max-width: 1600px;
  width: 100%;
}

.o-trouble-txt {
  font-size: 1.8rem;
}

@media (min-width: 768px) {
  .o-trouble-txt {
    font-size: 2.2rem;
  }
}

@media (min-width: 1200px) {
  .o-trouble-txt {
    font-size: 2.4rem;
  }
}

.o-service {
  background-image: url(../img/common/bg.jpg);
}

.o-service-box h3 {
  position: relative;
  background-color: #fd8201;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  color: #FFF;
  line-height: 1.6;
  padding: 0.5em;
  text-align: center;
  font-size: 2rem;
  border-radius: 15px 15px 0 0;
}

.o-service-box h3:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  border: 30px solid transparent;
  border-top: 20px solid #fd8201;
  box-sizing: border-box;
  margin: 0 0 0 -30px;
  width: 0;
  height: 0;
}

.o-service-box img {
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  display: block;
  border-radius: 0 0 15px 15px;
}

.o-service-icon {
  max-width: 50px;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.o-service-txt {
  font-size: 2rem;
}

.o-service-bdr {
  border-bottom: 1px dashed;
  margin-bottom: 2em;
}

@media (min-width: 768px) {
  .o-service-icon {
    max-width: 70px;
  }
  .o-service-txt {
    font-size: 3rem;
  }
}

@media (min-width: 1200px) {
  .o-service-box h3 {
    font-size: 2.5rem;
  }
  .o-service-icon {
    max-width: 100px;
  }
  .o-service-txt {
    font-size: 4rem;
  }
}

.o-flow {
  background-image: url(../img/common/bg.jpg);
}

.o-flow-box {
  position: relative;
  margin: 1em 0 2em;
  padding: 1.5em 1em 1em;
  border: solid 4px #fd8201;
  border-radius: 8px;
  text-align: center;
  background: rgba(255, 255, 255, 0.4);
}

.o-flow-box-g {
  border: solid 4px #4caf50;
}

.o-flow-box .o-flow-title {
  position: absolute;
  display: inline-block;
  top: -4px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 0.5em;
  line-height: 1;
  font-size: 2.2rem;
  background: #fff8d9;
  color: #fd8201;
  font-weight: 700;
  width: 70%;
}

.o-flow-box .o-flow-title-g {
  color: #4caf50;
}

.o-flow-txt {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 1px dashed #fd8201;
  padding: 0.2em 0 0.5em;
}

.o-flow-txt-g {
  border-bottom: 1px dashed #4caf50;
}

.o-flow-bdr-n {
  border: none !important;
}

@media (min-width: 768px) {
  .o-flow-box {
    margin: 0 0 2em;
    padding: 1.5em 1em 1em;
  }
  .o-flow-box .o-flow-title {
    padding: 0.5em;
    font-size: 2.3rem;
  }
  .o-flow-txt {
    font-size: 2.4rem;
  }
}

@media (min-width: 1200px) {
  .o-flow-box {
    margin: 0 0 2em;
    padding: 1.5em 1em 1em;
  }
  .o-flow-box .o-flow-title {
    padding: 0.5em;
    font-size: 3rem;
    width: 55%;
  }
  .o-flow-txt {
    font-size: 3rem;
  }
}
