@charset "UTF-8";
/*!
*/
/* =========================================================
font - font-familyの設定など
========================================================= */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,400;0,700;0,900;1,700;1,900&display=swap");
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

/* ---------------------------------------------------------
Mixin
--------------------------------------------------------- */
/* =========================================================
flex - flex関連の指定
========================================================= */
/* =========================================================
shadow - シャドウ
デフォルトでは色が濃い目なので使う際に調整してください。
========================================================= */
/* =========================================================
other - その他
========================================================= */
/* ---------------------------------------------------------
variable
--------------------------------------------------------- */
/* =========================================================
color - 色の設定
========================================================= */
.math-font {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* =========================================================
media-query - レスポンシブの設定
========================================================= */
/* =========================================================
typography - テキスト関連の設定
========================================================= */
/* =========================================================
base - 基本設定
========================================================= */
body {
  overflow-x: hidden;
  font-size: 16px;
  font-size: 1rem;
  line-height: 24px;
  color: #000000;
  font-family: "Noto Sans JP", "Noto Sans Japanese", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  letter-spacing: 0.1em;
  /* padding-top: 60px; */
}
@media screen and (min-width: 992px) {
  body {
    /* padding-top: 90px; */
  }
}

a {
  color: #000000;
  cursor: pointer;
}
a:hover, a:active, a:focus {
  color: #8fdfff;
}
a:hover {
  color: inherit;
}

p {
  color: #000000;
}

/* =========================================================
section - コンテンツの大枠
========================================================= */
.l-container {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-container {
    max-width: 1280px;
  }
}
.l-container--contact {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin: 0 auto;
}
@media screen and (min-width: 576px) {
  .l-container--contact {
    max-width: 606px;
  }
}
@media screen and (min-width: 768px) {
  .l-container--contact {
    max-width: 798px;
  }
}
@media screen and (min-width: 992px) {
  .l-container--contact {
    max-width: 1022px;
  }
}
@media screen and (min-width: 768px) {
  .l-container--contact {
    max-width: 1200px;
  }
}
.l-container--fluid {
  max-width: 100% !important;
}

/* =========================================================
header - ヘッダー
========================================================= */
.l-header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
}

/* ---------------------------------------------------------
Component
ページをまたいで使われる各種パーツを定義するクラス
そのパーツ内で常に同様の振る舞いをするものに関してのみスタイルを定義
接頭辞としてc-をつける
--------------------------------------------------------- */
/* =========================================================
media - 画像関係のコンポーネント
========================================================= */
.c-responsive-img {
  display: block;
  height: auto;
  max-width: 100%;
}

.c-circle-img {
  border-radius: 50%;
}

.c-trim-img {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.c-trim-img::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.c-trim-img__in {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: none;
  width: auto;
  height: 100%;
}
.c-trim-img--3to4::before {
  padding-top: 75%;
}
.c-trim-img--golden::before {
  padding-top: 61.804697157%;
}
.c-trim-img--silver::before {
  padding-top: 70.7213578501%;
}

.c-zoom-img {
  display: inline-block;
  overflow: hidden;
}
.c-zoom-img__in {
  display: block;
  transition: 0.3s;
}
.c-zoom-img:hover .c-zoom-img__in {
  transform: scale(1.1, 1.1);
}

.c-hover-img {
  display: inline-block;
  transition: 0.3s;
}
.c-hover-img:hover {
  opacity: 0.7;
}

/* ---------------------------------------------------------
Project
プロジェクト固有のスタイルを定義するクラス
プロジェクトで使い回すスタイルのほとんどはProjectレイヤーに追加することになる
接頭辞としてp-をつける
--------------------------------------------------------- */
.p-shirokuma .p-lp-section {
  position: relative;
}
.p-shirokuma .p-lp-section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}
.p-shirokuma .p-lp-section--01 {
  /*height: $height * 1px;*/
  height: calc(1922 / 350 * 100vw);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--01 {
    /*height: $height * 1px;*/
    height: calc(3650 / 1280 * 100vw);
    max-height: 3650px;
  }
}
.p-shirokuma .p-lp-section--01::before {
  background-image: url(../images/img_lp_01_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--01::before {
    background-image: url(../images/img_lp_01_pc.jpg);
  }
}
.p-shirokuma .p-lp-section--02 {
  /*height: $height * 1px;*/
  height: calc(2033 / 350 * 100vw);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--02 {
    /*height: $height * 1px;*/
    height: calc(3435 / 1280 * 100vw);
    max-height: 3435px;
  }
}
.p-shirokuma .p-lp-section--02::before {
  background-image: url(../images/img_lp_02_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--02::before {
    background-image: url(../images/img_lp_02_pc.jpg);
  }
}
.p-shirokuma .p-lp-section--03 {
  /*height: $height * 1px;*/
  height: calc(1437 / 350 * 100vw);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--03 {
    display: none;
  }
}
.p-shirokuma .p-lp-section--03::before {
  background-image: url(../images/img_lp_03_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--03::before {
    display: none;
  }
}
.p-shirokuma .p-lp-section--04 {
  /*height: $height * 1px;*/
  height: calc(3544 / 350 * 100vw);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--04 {
    display: none;
  }
}
.p-shirokuma .p-lp-section--04::before {
  background-image: url(../images/img_lp_04_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-section--04::before {
    display: none;
  }
}
.p-shirokuma .p-lp-section__ttl {
  visibility: hidden;
}
.p-shirokuma .p-lp-simu {
  position: absolute;
  /*bottom: $moth * 1px;*/
  bottom: calc(74 / 350 * 100vw);
}
@media screen and (min-width: 768px) {
  .p-shirokuma .p-lp-simu {
    display: none;
  }
}
.p-shirokuma .p-lp-simu__box {
  overflow: auto;
  white-space: nowrap;
  /*width: $whidth * 1px;*/
  width: calc(320 / 350 * 100vw);
  margin-bottom: 0.8em;
}
.p-shirokuma .p-lp-simu__img {
  /*width: $whidth * 1px;*/
  width: calc(940 / 350 * 100vw);
  height: 100%;
}

/* =========================================================
section - セクションの大枠など
========================================================= */
.l-section--bg-color01 {
  background-color: #f5f5f5;
}
.l-section--bg-color02 {
  background-color: #fafafa;
}

/* ---------------------------------------------------------
Utility
調整用のクラス
margin、padding、font-size、colorなどを付与するのに使用
他種類のパーツ間の空き調整や、パーツとして認められないような、
自由な振る舞いをする要素に対してはこちらのクラスを使用
接頭辞としてu-をつける
--------------------------------------------------------- */
/* =========================================================
text - 文字の装飾など
========================================================= */
.u-fc-main {
  color: #FFFFFF !important;
}

.u-fc-white {
  color: #ffffff !important;
}

.u-fc-red {
  color: #d90b23 !important;
}

.u-fc-green {
  color: #766D44 !important;
}

.u-fc-blue {
  color: #2D83BA !important;
}

.u-fw-l {
  font-weight: lighter !important;
}

.u-fw-n {
  font-weight: normal !important;
}

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

.u-ta-l {
  text-align: left;
}

.u-ta-c {
  text-align: center;
}

.u-ta-r {
  text-align: right;
}

@media screen and (min-width: 992px) {
  .u-ta-lg-l {
    text-align: left;
  }
  .u-ta-lg-c {
    text-align: center;
  }
  .u-ta-lg-r {
    text-align: right;
  }
}
.u-bg-mint {
  background-color: #eefbfa;
}

.u-bg-white {
  background-color: #FFFFFF;
}

/* =========================================================
margin - 余白の調整
========================================================= */
.u-m-0 {
  margin: 0 !important;
}

.u-mt-0,
.u-my-0 {
  margin-top: 0 !important;
}

.u-mr-0,
.u-mx-0 {
  margin-right: 0 !important;
}

.u-mb-0,
.u-my-0 {
  margin-bottom: 0 !important;
}

.u-ml-0,
.u-mx-0 {
  margin-left: 0 !important;
}

.u-m-1 {
  margin: 0.5rem !important;
}

.u-mt-1,
.u-my-1 {
  margin-top: 0.5rem !important;
}

.u-mr-1,
.u-mx-1 {
  margin-right: 0.5rem !important;
}

.u-mb-1,
.u-my-1 {
  margin-bottom: 0.5rem !important;
}

.u-ml-1,
.u-mx-1 {
  margin-left: 0.5rem !important;
}

.u-m-2 {
  margin: 1rem !important;
}

.u-mt-2,
.u-my-2 {
  margin-top: 1rem !important;
}

.u-mr-2,
.u-mx-2 {
  margin-right: 1rem !important;
}

.u-mb-2,
.u-my-2 {
  margin-bottom: 1rem !important;
}

.u-ml-2,
.u-mx-2 {
  margin-left: 1rem !important;
}

.u-m-3 {
  margin: 1.5rem !important;
}

.u-mt-3,
.u-my-3 {
  margin-top: 1.5rem !important;
}

.u-mr-3,
.u-mx-3 {
  margin-right: 1.5rem !important;
}

.u-mb-3,
.u-my-3 {
  margin-bottom: 1.5rem !important;
}

.u-ml-3,
.u-mx-3 {
  margin-left: 1.5rem !important;
}

.u-m-4 {
  margin: 2rem !important;
}

.u-mt-4,
.u-my-4 {
  margin-top: 2rem !important;
}

.u-mr-4,
.u-mx-4 {
  margin-right: 2rem !important;
}

.u-mb-4,
.u-my-4 {
  margin-bottom: 2rem !important;
}

.u-ml-4,
.u-mx-4 {
  margin-left: 2rem !important;
}

.u-m-5 {
  margin: 3rem !important;
}

.u-mt-5,
.u-my-5 {
  margin-top: 3rem !important;
}

.u-mr-5,
.u-mx-5 {
  margin-right: 3rem !important;
}

.u-mb-5,
.u-my-5 {
  margin-bottom: 3rem !important;
}

.u-ml-5,
.u-mx-5 {
  margin-left: 3rem !important;
}

.u-p-0 {
  padding: 0 !important;
}

.u-pt-0,
.u-py-0 {
  padding-top: 0 !important;
}

.u-pr-0,
.u-px-0 {
  padding-right: 0 !important;
}

.u-pb-0,
.u-py-0 {
  padding-bottom: 0 !important;
}

.u-pl-0,
.u-px-0 {
  padding-left: 0 !important;
}

.u-p-1 {
  padding: 0.5rem !important;
}

.u-pt-1,
.u-py-1 {
  padding-top: 0.5rem !important;
}

.u-pr-1,
.u-px-1 {
  padding-right: 0.5rem !important;
}

.u-pb-1,
.u-py-1 {
  padding-bottom: 0.5rem !important;
}

.u-pl-1,
.u-px-1 {
  padding-left: 0.5rem !important;
}

.u-p-2 {
  padding: 1rem !important;
}

.u-pt-2,
.u-py-2 {
  padding-top: 1rem !important;
}

.u-pr-2,
.u-px-2 {
  padding-right: 1rem !important;
}

.u-pb-2,
.u-py-2 {
  padding-bottom: 1rem !important;
}

.u-pl-2,
.u-px-2 {
  padding-left: 1rem !important;
}

.u-p-3 {
  padding: 1.5rem !important;
}

.u-pt-3,
.u-py-3 {
  padding-top: 1.5rem !important;
}

.u-pr-3,
.u-px-3 {
  padding-right: 1.5rem !important;
}

.u-pb-3,
.u-py-3 {
  padding-bottom: 1.5rem !important;
}

.u-pl-3,
.u-px-3 {
  padding-left: 1.5rem !important;
}

.u-p-4 {
  padding: 2rem !important;
}

.u-pt-4,
.u-py-4 {
  padding-top: 2rem !important;
}

.u-pr-4,
.u-px-4 {
  padding-right: 2rem !important;
}

.u-pb-4,
.u-py-4 {
  padding-bottom: 2rem !important;
}

.u-pl-4,
.u-px-4 {
  padding-left: 2rem !important;
}

.u-p-5 {
  padding: 3rem !important;
}

.u-pt-5,
.u-py-5 {
  padding-top: 3rem !important;
}

.u-pr-5,
.u-px-5 {
  padding-right: 3rem !important;
}

.u-pb-5,
.u-py-5 {
  padding-bottom: 3rem !important;
}

.u-pl-5,
.u-px-5 {
  padding-left: 3rem !important;
}

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

.u-mt-auto,
.u-my-auto {
  margin-top: auto !important;
}

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

.u-mb-auto,
.u-my-auto {
  margin-bottom: auto !important;
}

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

@media screen and (min-width: 576px) {
  .u-m-sm-0 {
    margin: 0 !important;
  }
  .u-mt-sm-0,
  .u-my-sm-0 {
    margin-top: 0 !important;
  }
  .u-mr-sm-0,
  .u-mx-sm-0 {
    margin-right: 0 !important;
  }
  .u-mb-sm-0,
  .u-my-sm-0 {
    margin-bottom: 0 !important;
  }
  .u-ml-sm-0,
  .u-mx-sm-0 {
    margin-left: 0 !important;
  }
  .u-m-sm-1 {
    margin: 0.5rem !important;
  }
  .u-mt-sm-1,
  .u-my-sm-1 {
    margin-top: 0.5rem !important;
  }
  .u-mr-sm-1,
  .u-mx-sm-1 {
    margin-right: 0.5rem !important;
  }
  .u-mb-sm-1,
  .u-my-sm-1 {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-sm-1,
  .u-mx-sm-1 {
    margin-left: 0.5rem !important;
  }
  .u-m-sm-2 {
    margin: 1rem !important;
  }
  .u-mt-sm-2,
  .u-my-sm-2 {
    margin-top: 1rem !important;
  }
  .u-mr-sm-2,
  .u-mx-sm-2 {
    margin-right: 1rem !important;
  }
  .u-mb-sm-2,
  .u-my-sm-2 {
    margin-bottom: 1rem !important;
  }
  .u-ml-sm-2,
  .u-mx-sm-2 {
    margin-left: 1rem !important;
  }
  .u-m-sm-3 {
    margin: 1.5rem !important;
  }
  .u-mt-sm-3,
  .u-my-sm-3 {
    margin-top: 1.5rem !important;
  }
  .u-mr-sm-3,
  .u-mx-sm-3 {
    margin-right: 1.5rem !important;
  }
  .u-mb-sm-3,
  .u-my-sm-3 {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-sm-3,
  .u-mx-sm-3 {
    margin-left: 1.5rem !important;
  }
  .u-m-sm-4 {
    margin: 2rem !important;
  }
  .u-mt-sm-4,
  .u-my-sm-4 {
    margin-top: 2rem !important;
  }
  .u-mr-sm-4,
  .u-mx-sm-4 {
    margin-right: 2rem !important;
  }
  .u-mb-sm-4,
  .u-my-sm-4 {
    margin-bottom: 2rem !important;
  }
  .u-ml-sm-4,
  .u-mx-sm-4 {
    margin-left: 2rem !important;
  }
  .u-m-sm-5 {
    margin: 3rem !important;
  }
  .u-mt-sm-5,
  .u-my-sm-5 {
    margin-top: 3rem !important;
  }
  .u-mr-sm-5,
  .u-mx-sm-5 {
    margin-right: 3rem !important;
  }
  .u-mb-sm-5,
  .u-my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .u-ml-sm-5,
  .u-mx-sm-5 {
    margin-left: 3rem !important;
  }
  .u-p-sm-0 {
    padding: 0 !important;
  }
  .u-pt-sm-0,
  .u-py-sm-0 {
    padding-top: 0 !important;
  }
  .u-pr-sm-0,
  .u-px-sm-0 {
    padding-right: 0 !important;
  }
  .u-pb-sm-0,
  .u-py-sm-0 {
    padding-bottom: 0 !important;
  }
  .u-pl-sm-0,
  .u-px-sm-0 {
    padding-left: 0 !important;
  }
  .u-p-sm-1 {
    padding: 0.5rem !important;
  }
  .u-pt-sm-1,
  .u-py-sm-1 {
    padding-top: 0.5rem !important;
  }
  .u-pr-sm-1,
  .u-px-sm-1 {
    padding-right: 0.5rem !important;
  }
  .u-pb-sm-1,
  .u-py-sm-1 {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-sm-1,
  .u-px-sm-1 {
    padding-left: 0.5rem !important;
  }
  .u-p-sm-2 {
    padding: 1rem !important;
  }
  .u-pt-sm-2,
  .u-py-sm-2 {
    padding-top: 1rem !important;
  }
  .u-pr-sm-2,
  .u-px-sm-2 {
    padding-right: 1rem !important;
  }
  .u-pb-sm-2,
  .u-py-sm-2 {
    padding-bottom: 1rem !important;
  }
  .u-pl-sm-2,
  .u-px-sm-2 {
    padding-left: 1rem !important;
  }
  .u-p-sm-3 {
    padding: 1.5rem !important;
  }
  .u-pt-sm-3,
  .u-py-sm-3 {
    padding-top: 1.5rem !important;
  }
  .u-pr-sm-3,
  .u-px-sm-3 {
    padding-right: 1.5rem !important;
  }
  .u-pb-sm-3,
  .u-py-sm-3 {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-sm-3,
  .u-px-sm-3 {
    padding-left: 1.5rem !important;
  }
  .u-p-sm-4 {
    padding: 2rem !important;
  }
  .u-pt-sm-4,
  .u-py-sm-4 {
    padding-top: 2rem !important;
  }
  .u-pr-sm-4,
  .u-px-sm-4 {
    padding-right: 2rem !important;
  }
  .u-pb-sm-4,
  .u-py-sm-4 {
    padding-bottom: 2rem !important;
  }
  .u-pl-sm-4,
  .u-px-sm-4 {
    padding-left: 2rem !important;
  }
  .u-p-sm-5 {
    padding: 3rem !important;
  }
  .u-pt-sm-5,
  .u-py-sm-5 {
    padding-top: 3rem !important;
  }
  .u-pr-sm-5,
  .u-px-sm-5 {
    padding-right: 3rem !important;
  }
  .u-pb-sm-5,
  .u-py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .u-pl-sm-5,
  .u-px-sm-5 {
    padding-left: 3rem !important;
  }
  .u-m-sm-auto {
    margin: auto !important;
  }
  .u-mt-sm-auto,
  .u-my-sm-auto {
    margin-top: auto !important;
  }
  .u-mr-sm-auto,
  .u-mx-sm-auto {
    margin-right: auto !important;
  }
  .u-mb-sm-auto,
  .u-my-sm-auto {
    margin-bottom: auto !important;
  }
  .u-ml-sm-auto,
  .u-mx-sm-auto {
    margin-left: auto !important;
  }
}
@media screen and (min-width: 768px) {
  .u-m-md-0 {
    margin: 0 !important;
  }
  .u-mt-md-0,
  .u-my-md-0 {
    margin-top: 0 !important;
  }
  .u-mr-md-0,
  .u-mx-md-0 {
    margin-right: 0 !important;
  }
  .u-mb-md-0,
  .u-my-md-0 {
    margin-bottom: 0 !important;
  }
  .u-ml-md-0,
  .u-mx-md-0 {
    margin-left: 0 !important;
  }
  .u-m-md-1 {
    margin: 0.5rem !important;
  }
  .u-mt-md-1,
  .u-my-md-1 {
    margin-top: 0.5rem !important;
  }
  .u-mr-md-1,
  .u-mx-md-1 {
    margin-right: 0.5rem !important;
  }
  .u-mb-md-1,
  .u-my-md-1 {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-md-1,
  .u-mx-md-1 {
    margin-left: 0.5rem !important;
  }
  .u-m-md-2 {
    margin: 1rem !important;
  }
  .u-mt-md-2,
  .u-my-md-2 {
    margin-top: 1rem !important;
  }
  .u-mr-md-2,
  .u-mx-md-2 {
    margin-right: 1rem !important;
  }
  .u-mb-md-2,
  .u-my-md-2 {
    margin-bottom: 1rem !important;
  }
  .u-ml-md-2,
  .u-mx-md-2 {
    margin-left: 1rem !important;
  }
  .u-m-md-3 {
    margin: 1.5rem !important;
  }
  .u-mt-md-3,
  .u-my-md-3 {
    margin-top: 1.5rem !important;
  }
  .u-mr-md-3,
  .u-mx-md-3 {
    margin-right: 1.5rem !important;
  }
  .u-mb-md-3,
  .u-my-md-3 {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-md-3,
  .u-mx-md-3 {
    margin-left: 1.5rem !important;
  }
  .u-m-md-4 {
    margin: 2rem !important;
  }
  .u-mt-md-4,
  .u-my-md-4 {
    margin-top: 2rem !important;
  }
  .u-mr-md-4,
  .u-mx-md-4 {
    margin-right: 2rem !important;
  }
  .u-mb-md-4,
  .u-my-md-4 {
    margin-bottom: 2rem !important;
  }
  .u-ml-md-4,
  .u-mx-md-4 {
    margin-left: 2rem !important;
  }
  .u-m-md-5 {
    margin: 3rem !important;
  }
  .u-mt-md-5,
  .u-my-md-5 {
    margin-top: 3rem !important;
  }
  .u-mr-md-5,
  .u-mx-md-5 {
    margin-right: 3rem !important;
  }
  .u-mb-md-5,
  .u-my-md-5 {
    margin-bottom: 3rem !important;
  }
  .u-ml-md-5,
  .u-mx-md-5 {
    margin-left: 3rem !important;
  }
  .u-p-md-0 {
    padding: 0 !important;
  }
  .u-pt-md-0,
  .u-py-md-0 {
    padding-top: 0 !important;
  }
  .u-pr-md-0,
  .u-px-md-0 {
    padding-right: 0 !important;
  }
  .u-pb-md-0,
  .u-py-md-0 {
    padding-bottom: 0 !important;
  }
  .u-pl-md-0,
  .u-px-md-0 {
    padding-left: 0 !important;
  }
  .u-p-md-1 {
    padding: 0.5rem !important;
  }
  .u-pt-md-1,
  .u-py-md-1 {
    padding-top: 0.5rem !important;
  }
  .u-pr-md-1,
  .u-px-md-1 {
    padding-right: 0.5rem !important;
  }
  .u-pb-md-1,
  .u-py-md-1 {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-md-1,
  .u-px-md-1 {
    padding-left: 0.5rem !important;
  }
  .u-p-md-2 {
    padding: 1rem !important;
  }
  .u-pt-md-2,
  .u-py-md-2 {
    padding-top: 1rem !important;
  }
  .u-pr-md-2,
  .u-px-md-2 {
    padding-right: 1rem !important;
  }
  .u-pb-md-2,
  .u-py-md-2 {
    padding-bottom: 1rem !important;
  }
  .u-pl-md-2,
  .u-px-md-2 {
    padding-left: 1rem !important;
  }
  .u-p-md-3 {
    padding: 1.5rem !important;
  }
  .u-pt-md-3,
  .u-py-md-3 {
    padding-top: 1.5rem !important;
  }
  .u-pr-md-3,
  .u-px-md-3 {
    padding-right: 1.5rem !important;
  }
  .u-pb-md-3,
  .u-py-md-3 {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-md-3,
  .u-px-md-3 {
    padding-left: 1.5rem !important;
  }
  .u-p-md-4 {
    padding: 2rem !important;
  }
  .u-pt-md-4,
  .u-py-md-4 {
    padding-top: 2rem !important;
  }
  .u-pr-md-4,
  .u-px-md-4 {
    padding-right: 2rem !important;
  }
  .u-pb-md-4,
  .u-py-md-4 {
    padding-bottom: 2rem !important;
  }
  .u-pl-md-4,
  .u-px-md-4 {
    padding-left: 2rem !important;
  }
  .u-p-md-5 {
    padding: 3rem !important;
  }
  .u-pt-md-5,
  .u-py-md-5 {
    padding-top: 3rem !important;
  }
  .u-pr-md-5,
  .u-px-md-5 {
    padding-right: 3rem !important;
  }
  .u-pb-md-5,
  .u-py-md-5 {
    padding-bottom: 3rem !important;
  }
  .u-pl-md-5,
  .u-px-md-5 {
    padding-left: 3rem !important;
  }
  .u-m-md-auto {
    margin: auto !important;
  }
  .u-mt-md-auto,
  .u-my-md-auto {
    margin-top: auto !important;
  }
  .u-mr-md-auto,
  .u-mx-md-auto {
    margin-right: auto !important;
  }
  .u-mb-md-auto,
  .u-my-md-auto {
    margin-bottom: auto !important;
  }
  .u-ml-md-auto,
  .u-mx-md-auto {
    margin-left: auto !important;
  }
}
@media screen and (min-width: 992px) {
  .u-m-lg-0 {
    margin: 0 !important;
  }
  .u-mt-lg-0,
  .u-my-lg-0 {
    margin-top: 0 !important;
  }
  .u-mr-lg-0,
  .u-mx-lg-0 {
    margin-right: 0 !important;
  }
  .u-mb-lg-0,
  .u-my-lg-0 {
    margin-bottom: 0 !important;
  }
  .u-ml-lg-0,
  .u-mx-lg-0 {
    margin-left: 0 !important;
  }
  .u-m-lg-1 {
    margin: 0.5rem !important;
  }
  .u-mt-lg-1,
  .u-my-lg-1 {
    margin-top: 0.5rem !important;
  }
  .u-mr-lg-1,
  .u-mx-lg-1 {
    margin-right: 0.5rem !important;
  }
  .u-mb-lg-1,
  .u-my-lg-1 {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-lg-1,
  .u-mx-lg-1 {
    margin-left: 0.5rem !important;
  }
  .u-m-lg-2 {
    margin: 1rem !important;
  }
  .u-mt-lg-2,
  .u-my-lg-2 {
    margin-top: 1rem !important;
  }
  .u-mr-lg-2,
  .u-mx-lg-2 {
    margin-right: 1rem !important;
  }
  .u-mb-lg-2,
  .u-my-lg-2 {
    margin-bottom: 1rem !important;
  }
  .u-ml-lg-2,
  .u-mx-lg-2 {
    margin-left: 1rem !important;
  }
  .u-m-lg-3 {
    margin: 1.5rem !important;
  }
  .u-mt-lg-3,
  .u-my-lg-3 {
    margin-top: 1.5rem !important;
  }
  .u-mr-lg-3,
  .u-mx-lg-3 {
    margin-right: 1.5rem !important;
  }
  .u-mb-lg-3,
  .u-my-lg-3 {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-lg-3,
  .u-mx-lg-3 {
    margin-left: 1.5rem !important;
  }
  .u-m-lg-4 {
    margin: 2rem !important;
  }
  .u-mt-lg-4,
  .u-my-lg-4 {
    margin-top: 2rem !important;
  }
  .u-mr-lg-4,
  .u-mx-lg-4 {
    margin-right: 2rem !important;
  }
  .u-mb-lg-4,
  .u-my-lg-4 {
    margin-bottom: 2rem !important;
  }
  .u-ml-lg-4,
  .u-mx-lg-4 {
    margin-left: 2rem !important;
  }
  .u-m-lg-5 {
    margin: 3rem !important;
  }
  .u-mt-lg-5,
  .u-my-lg-5 {
    margin-top: 3rem !important;
  }
  .u-mr-lg-5,
  .u-mx-lg-5 {
    margin-right: 3rem !important;
  }
  .u-mb-lg-5,
  .u-my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .u-ml-lg-5,
  .u-mx-lg-5 {
    margin-left: 3rem !important;
  }
  .u-p-lg-0 {
    padding: 0 !important;
  }
  .u-pt-lg-0,
  .u-py-lg-0 {
    padding-top: 0 !important;
  }
  .u-pr-lg-0,
  .u-px-lg-0 {
    padding-right: 0 !important;
  }
  .u-pb-lg-0,
  .u-py-lg-0 {
    padding-bottom: 0 !important;
  }
  .u-pl-lg-0,
  .u-px-lg-0 {
    padding-left: 0 !important;
  }
  .u-p-lg-1 {
    padding: 0.5rem !important;
  }
  .u-pt-lg-1,
  .u-py-lg-1 {
    padding-top: 0.5rem !important;
  }
  .u-pr-lg-1,
  .u-px-lg-1 {
    padding-right: 0.5rem !important;
  }
  .u-pb-lg-1,
  .u-py-lg-1 {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-lg-1,
  .u-px-lg-1 {
    padding-left: 0.5rem !important;
  }
  .u-p-lg-2 {
    padding: 1rem !important;
  }
  .u-pt-lg-2,
  .u-py-lg-2 {
    padding-top: 1rem !important;
  }
  .u-pr-lg-2,
  .u-px-lg-2 {
    padding-right: 1rem !important;
  }
  .u-pb-lg-2,
  .u-py-lg-2 {
    padding-bottom: 1rem !important;
  }
  .u-pl-lg-2,
  .u-px-lg-2 {
    padding-left: 1rem !important;
  }
  .u-p-lg-3 {
    padding: 1.5rem !important;
  }
  .u-pt-lg-3,
  .u-py-lg-3 {
    padding-top: 1.5rem !important;
  }
  .u-pr-lg-3,
  .u-px-lg-3 {
    padding-right: 1.5rem !important;
  }
  .u-pb-lg-3,
  .u-py-lg-3 {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-lg-3,
  .u-px-lg-3 {
    padding-left: 1.5rem !important;
  }
  .u-p-lg-4 {
    padding: 2rem !important;
  }
  .u-pt-lg-4,
  .u-py-lg-4 {
    padding-top: 2rem !important;
  }
  .u-pr-lg-4,
  .u-px-lg-4 {
    padding-right: 2rem !important;
  }
  .u-pb-lg-4,
  .u-py-lg-4 {
    padding-bottom: 2rem !important;
  }
  .u-pl-lg-4,
  .u-px-lg-4 {
    padding-left: 2rem !important;
  }
  .u-p-lg-5 {
    padding: 3rem !important;
  }
  .u-pt-lg-5,
  .u-py-lg-5 {
    padding-top: 3rem !important;
  }
  .u-pr-lg-5,
  .u-px-lg-5 {
    padding-right: 3rem !important;
  }
  .u-pb-lg-5,
  .u-py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .u-pl-lg-5,
  .u-px-lg-5 {
    padding-left: 3rem !important;
  }
  .u-m-lg-auto {
    margin: auto !important;
  }
  .u-mt-lg-auto,
  .u-my-lg-auto {
    margin-top: auto !important;
  }
  .u-mr-lg-auto,
  .u-mx-lg-auto {
    margin-right: auto !important;
  }
  .u-mb-lg-auto,
  .u-my-lg-auto {
    margin-bottom: auto !important;
  }
  .u-ml-lg-auto,
  .u-mx-lg-auto {
    margin-left: auto !important;
  }
}
@media screen and (min-width: 1280px) {
  .u-m-xl-0 {
    margin: 0 !important;
  }
  .u-mt-xl-0,
  .u-my-xl-0 {
    margin-top: 0 !important;
  }
  .u-mr-xl-0,
  .u-mx-xl-0 {
    margin-right: 0 !important;
  }
  .u-mb-xl-0,
  .u-my-xl-0 {
    margin-bottom: 0 !important;
  }
  .u-ml-xl-0,
  .u-mx-xl-0 {
    margin-left: 0 !important;
  }
  .u-m-xl-1 {
    margin: 0.5rem !important;
  }
  .u-mt-xl-1,
  .u-my-xl-1 {
    margin-top: 0.5rem !important;
  }
  .u-mr-xl-1,
  .u-mx-xl-1 {
    margin-right: 0.5rem !important;
  }
  .u-mb-xl-1,
  .u-my-xl-1 {
    margin-bottom: 0.5rem !important;
  }
  .u-ml-xl-1,
  .u-mx-xl-1 {
    margin-left: 0.5rem !important;
  }
  .u-m-xl-2 {
    margin: 1rem !important;
  }
  .u-mt-xl-2,
  .u-my-xl-2 {
    margin-top: 1rem !important;
  }
  .u-mr-xl-2,
  .u-mx-xl-2 {
    margin-right: 1rem !important;
  }
  .u-mb-xl-2,
  .u-my-xl-2 {
    margin-bottom: 1rem !important;
  }
  .u-ml-xl-2,
  .u-mx-xl-2 {
    margin-left: 1rem !important;
  }
  .u-m-xl-3 {
    margin: 1.5rem !important;
  }
  .u-mt-xl-3,
  .u-my-xl-3 {
    margin-top: 1.5rem !important;
  }
  .u-mr-xl-3,
  .u-mx-xl-3 {
    margin-right: 1.5rem !important;
  }
  .u-mb-xl-3,
  .u-my-xl-3 {
    margin-bottom: 1.5rem !important;
  }
  .u-ml-xl-3,
  .u-mx-xl-3 {
    margin-left: 1.5rem !important;
  }
  .u-m-xl-4 {
    margin: 2rem !important;
  }
  .u-mt-xl-4,
  .u-my-xl-4 {
    margin-top: 2rem !important;
  }
  .u-mr-xl-4,
  .u-mx-xl-4 {
    margin-right: 2rem !important;
  }
  .u-mb-xl-4,
  .u-my-xl-4 {
    margin-bottom: 2rem !important;
  }
  .u-ml-xl-4,
  .u-mx-xl-4 {
    margin-left: 2rem !important;
  }
  .u-m-xl-5 {
    margin: 3rem !important;
  }
  .u-mt-xl-5,
  .u-my-xl-5 {
    margin-top: 3rem !important;
  }
  .u-mr-xl-5,
  .u-mx-xl-5 {
    margin-right: 3rem !important;
  }
  .u-mb-xl-5,
  .u-my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .u-ml-xl-5,
  .u-mx-xl-5 {
    margin-left: 3rem !important;
  }
  .u-p-xl-0 {
    padding: 0 !important;
  }
  .u-pt-xl-0,
  .u-py-xl-0 {
    padding-top: 0 !important;
  }
  .u-pr-xl-0,
  .u-px-xl-0 {
    padding-right: 0 !important;
  }
  .u-pb-xl-0,
  .u-py-xl-0 {
    padding-bottom: 0 !important;
  }
  .u-pl-xl-0,
  .u-px-xl-0 {
    padding-left: 0 !important;
  }
  .u-p-xl-1 {
    padding: 0.5rem !important;
  }
  .u-pt-xl-1,
  .u-py-xl-1 {
    padding-top: 0.5rem !important;
  }
  .u-pr-xl-1,
  .u-px-xl-1 {
    padding-right: 0.5rem !important;
  }
  .u-pb-xl-1,
  .u-py-xl-1 {
    padding-bottom: 0.5rem !important;
  }
  .u-pl-xl-1,
  .u-px-xl-1 {
    padding-left: 0.5rem !important;
  }
  .u-p-xl-2 {
    padding: 1rem !important;
  }
  .u-pt-xl-2,
  .u-py-xl-2 {
    padding-top: 1rem !important;
  }
  .u-pr-xl-2,
  .u-px-xl-2 {
    padding-right: 1rem !important;
  }
  .u-pb-xl-2,
  .u-py-xl-2 {
    padding-bottom: 1rem !important;
  }
  .u-pl-xl-2,
  .u-px-xl-2 {
    padding-left: 1rem !important;
  }
  .u-p-xl-3 {
    padding: 1.5rem !important;
  }
  .u-pt-xl-3,
  .u-py-xl-3 {
    padding-top: 1.5rem !important;
  }
  .u-pr-xl-3,
  .u-px-xl-3 {
    padding-right: 1.5rem !important;
  }
  .u-pb-xl-3,
  .u-py-xl-3 {
    padding-bottom: 1.5rem !important;
  }
  .u-pl-xl-3,
  .u-px-xl-3 {
    padding-left: 1.5rem !important;
  }
  .u-p-xl-4 {
    padding: 2rem !important;
  }
  .u-pt-xl-4,
  .u-py-xl-4 {
    padding-top: 2rem !important;
  }
  .u-pr-xl-4,
  .u-px-xl-4 {
    padding-right: 2rem !important;
  }
  .u-pb-xl-4,
  .u-py-xl-4 {
    padding-bottom: 2rem !important;
  }
  .u-pl-xl-4,
  .u-px-xl-4 {
    padding-left: 2rem !important;
  }
  .u-p-xl-5 {
    padding: 3rem !important;
  }
  .u-pt-xl-5,
  .u-py-xl-5 {
    padding-top: 3rem !important;
  }
  .u-pr-xl-5,
  .u-px-xl-5 {
    padding-right: 3rem !important;
  }
  .u-pb-xl-5,
  .u-py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .u-pl-xl-5,
  .u-px-xl-5 {
    padding-left: 3rem !important;
  }
  .u-m-xl-auto {
    margin: auto !important;
  }
  .u-mt-xl-auto,
  .u-my-xl-auto {
    margin-top: auto !important;
  }
  .u-mr-xl-auto,
  .u-mx-xl-auto {
    margin-right: auto !important;
  }
  .u-mb-xl-auto,
  .u-my-xl-auto {
    margin-bottom: auto !important;
  }
  .u-ml-xl-auto,
  .u-mx-xl-auto {
    margin-left: auto !important;
  }
}
/* =========================================================
display - ブレイクポイントごとに表示切替
========================================================= */
.u-none {
  display: none !important;
}

.u-inline {
  display: inline !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-block {
  display: block !important;
}

.u-table {
  display: table !important;
}

.u-table-row {
  display: table-row !important;
}

.u-table-cell {
  display: table-cell !important;
}

.u-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.u-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

@media screen and (min-width: 576px) {
  .u-sm-none {
    display: none !important;
  }
  .u-sm-inline {
    display: inline !important;
  }
  .u-sm-inline-block {
    display: inline-block !important;
  }
  .u-sm-block {
    display: block !important;
  }
  .u-sm-table {
    display: table !important;
  }
  .u-sm-table-row {
    display: table-row !important;
  }
  .u-sm-table-cell {
    display: table-cell !important;
  }
  .u-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .u-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
@media screen and (min-width: 768px) {
  .u-mu-none {
    display: none !important;
  }
  .u-mu-inline {
    display: inline !important;
  }
  .u-mu-inline-block {
    display: inline-block !important;
  }
  .u-mu-block {
    display: block !important;
  }
  .u-mu-table {
    display: table !important;
  }
  .u-mu-table-row {
    display: table-row !important;
  }
  .u-mu-table-cell {
    display: table-cell !important;
  }
  .u-mu-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .u-mu-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
@media screen and (min-width: 992px) {
  .u-lg-none {
    display: none !important;
  }
  .u-lg-inline {
    display: inline !important;
  }
  .u-lg-inline-block {
    display: inline-block !important;
  }
  .u-lg-block {
    display: block !important;
  }
  .u-lg-table {
    display: table !important;
  }
  .u-lg-table-row {
    display: table-row !important;
  }
  .u-lg-table-cell {
    display: table-cell !important;
  }
  .u-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .u-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1280px) {
  .u-xl-none {
    display: none !important;
  }
  .u-xl-inline {
    display: inline !important;
  }
  .u-xl-inline-block {
    display: inline-block !important;
  }
  .u-xl-block {
    display: block !important;
  }
  .u-xl-table {
    display: table !important;
  }
  .u-xl-table-row {
    display: table-row !important;
  }
  .u-xl-table-cell {
    display: table-cell !important;
  }
  .u-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .u-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
@media print {
  .u-print-none {
    display: none !important;
  }
  .u-print-inline {
    display: inline !important;
  }
  .u-print-inline-block {
    display: inline-block !important;
  }
  .u-print-block {
    display: block !important;
  }
  .u-print-table {
    display: table !important;
  }
  .u-print-table-row {
    display: table-row !important;
  }
  .u-print-table-cell {
    display: table-cell !important;
  }
  .u-print-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .u-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
.pc-show {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-show {
    display: block;
  }
}

.sp-show {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp-show {
    display: none !important;
  }
}

/* =========================================================
flex - flexを使った位置調整など
========================================================= */
.u-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.u-flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important;
}

.u-flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

.u-flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

.u-flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important;
}

.u-flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.u-flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.u-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.u-flex-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
}

.u-flex-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important;
}

.u-flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important;
}

.u-flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
}

.u-flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important;
}

.u-justify-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

.u-justify-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
}

.u-justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.u-justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.u-justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
}

.u-align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.u-align-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important;
}

.u-align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

.u-align-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important;
}

.u-align-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

.u-align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important;
}

.u-align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important;
}

.u-align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}

.u-align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important;
}

.u-align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important;
}

.u-align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important;
}

.u-align-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important;
}

.u-align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.u-align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.u-align-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

.u-align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important;
}

.u-align-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important;
}

@media screen and (min-width: 576px) {
  .u-flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .u-flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .u-flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .u-flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .u-flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .u-flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .u-flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .u-flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .u-justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .u-justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .u-justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .u-justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .u-justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .u-align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .u-align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .u-align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .u-align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .u-align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .u-align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .u-align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .u-align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .u-align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .u-align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .u-align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .u-align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .u-align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .u-align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .u-align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .u-align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .u-align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .u-flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-flex-md-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .u-flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .u-flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .u-flex-md-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .u-flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .u-flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .u-flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .u-flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .u-justify-content-md-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .u-justify-content-md-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .u-justify-content-md-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .u-justify-content-md-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .u-justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .u-align-items-md-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .u-align-items-md-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .u-align-items-md-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .u-align-items-md-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .u-align-items-md-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .u-align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .u-align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .u-align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .u-align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .u-align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .u-align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .u-align-self-md-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .u-align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .u-align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .u-align-self-md-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .u-align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .u-align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
@media screen and (min-width: 992px) {
  .u-flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .u-flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .u-flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .u-flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .u-flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .u-flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .u-flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .u-flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .u-justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .u-justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .u-justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .u-justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .u-justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .u-align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .u-align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .u-align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .u-align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .u-align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .u-align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .u-align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .u-align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .u-align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .u-align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .u-align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .u-align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .u-align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .u-align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .u-align-self-lg-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .u-align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .u-align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
@media screen and (min-width: 1280px) {
  .u-flex-xl-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .u-flex-xl-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .u-flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .u-flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .u-flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .u-flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .u-flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .u-flex-xl-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .u-flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .u-flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .u-flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .u-flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .u-justify-content-xl-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .u-justify-content-xl-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .u-justify-content-xl-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .u-justify-content-xl-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .u-justify-content-xl-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .u-align-items-xl-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .u-align-items-xl-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .u-align-items-xl-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .u-align-items-xl-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .u-align-items-xl-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .u-align-content-xl-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .u-align-content-xl-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .u-align-content-xl-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .u-align-content-xl-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .u-align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .u-align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .u-align-self-xl-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .u-align-self-xl-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .u-align-self-xl-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .u-align-self-xl-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .u-align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .u-align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}