@charset "UTF-8";
/* CSS Document v1 */

/*  --------------------------------
 配置
--------------------------------  */
/* 左右中央揃え（position: absolute指定した時） */
.abs-x-center {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

/* 上下中央揃え（position: absolute指定した時） */
.abs-y-center {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
}

/* 上下左右中央揃え（position: absolute指定した時） */
.abs-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

/* 右寄せ（position: absolute指定した時） */
.abs-float-right {
  position: absolute;
  right: 0;
}

/* 左寄せ（position: absolute指定した時） */
.abs-float-left {
  position: absolute;
  left: 0;
}

/* 中央寄せ */
.margin-auto {
  margin: auto;
}

/*  --------------------------------
 装飾
--------------------------------  */

/* アンダーライン：マーカーイエロー（文字） */
.underline-marker-yel {
  background: linear-gradient(transparent 60%, #fff100 60%);
}

/* アンダーライン：マーカーピンク（文字） */
.underline-marker-pnk {
  background: linear-gradient(transparent 60%, #ffabdd 60%);
}

/* アンダーライン：マーカーブルー（文字） */
.underline-marker-blu {
  background: linear-gradient(transparent 60%, #00e6ff 60%);
}

/* ボックスシャドウ */
.box-shadow-m {
  box-shadow: 0px 5px 9px rgba(92, 92, 92, 0.22);
}

/* テキスト光彩：白 */
.text-glow-wht {
  text-shadow: 0px 0px .25rem #fff, 0px 0px .5rem #fff, 0px 0px .75rem #fff, 0px 0px 1rem #fff, 0px 0px 1.25rem #fff, 0px 0px 1.5rem #fff, 0px 0px 1.75rem #fff;
}

/* テキスト光彩：黒 */
.text-glow-blk {
  text-shadow: 0px 0px .25rem #000, 0px 0px .5rem #000, 0px 0px .75rem #000, 0px 0px 1rem #000, 0px 0px 1.25rem #000, 0px 0px 1.5rem #000, 0px 0px 1.75rem #fff;
}
/*  --------------------------------
  アンカー
--------------------------------  */
.js-anchor-block {
  width: 90px;
  height: 90px;
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 999;
  background: rgb(255, 0, 0, 0);
}
@media screen and (max-width: 375px) {
  .js-anchor-block {
    width: 50px;
    height: 50px;
  }
}
/*  --------------------------------
 テキストサイズ
--------------------------------  */
.t-XL{
  font-size: 72px !important;
}
.t-L{
  font-size: 36px !important;
}
.t-M{
  font-size: 24px !important;
}
.t-S{
  font-size: 16px !important;
}
.t-XS{
  font-size: 8px !important;
}
@media (max-width: 576px) {
  .t-XL{
    font-size: 42px !important;
  }
  .t-L{
    font-size: 24px !important;
  }
  .t-M{
    font-size: 16px !important;
  }
  .t-S{
    font-size: 12px !important;
  }
  .t-XS{
    font-size: 5px !important;
  }
 }


 /*  --------------------------------
 フォント
--------------------------------  */
.f__GothicA {
  font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",
    sans-serif !important;
}
.f__MinchoA {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif !important;
}
.f__Sawarabi_Mincho {
  font-family: "Sawarabi Mincho" !important;
}
.f__Sawarabi_Gothic {
  font-family: "Sawarabi Gothic" !important;
}
.f__Noto_Serif {
  font-family: "Noto Serif" !important;
}
.f__Noto_Serif_JP {
  font-family: "Noto Serif JP" !important;
}
.f__Noto_Sans {
  font-family: "Noto Sans" !important;
}
.f__Noto_Sans_JP {
  font-family: "Noto Sans JP" !important;
}
.f__M_PLUS_1p {
  font-family: "M PLUS 1p" !important;
}
.f__M_PLUS_Rounded_1c {
  font-family: "M PLUS Rounded 1c" !important;
}
.f__Kosugi_Maru {
  font-family: "Kosugi Maru" !important;
}
.f__Kosugi {
  font-family: "Kosugi" !important;
}
.f__Roboto {
  font-family: "Roboto" !important;
}
.f__Open_Sans {
  font-family: "Open Sans" !important;
}
.f__Lato {
  font-family: "Lato" !important;
}
.f__Oswald {
  font-family: "Oswald" !important;
}
.f__Montserrat {
  font-family: "Montserrat" !important;
}
.f__Source_Sans_Pro {
  font-family: "Source Sans Pro" !important;
}
.f__Raleway {
  font-family: "Raleway" !important;
}
.f__Lora {
  font-family: "Lora" !important;
}
.f__Anton {
  font-family: "Anton" !important;
}
.f__Pathway_Gothic_One {
  font-family: "Pathway Gothic One" !important;
}
.f__Rokkitt {
  font-family: "Rokkitt" !important;
}
.f__Arvo {
  font-family: "Arvo" !important;
}
.f__Amatic_SC {
  font-family: "Amatic SC" !important;
}
.f__Great_Vibes {
  font-family: "Great Vibes" !important;
}
.f__Pacifico {
  font-family: "Pacifico" !important;
}
.f__Special_Elite {
  font-family: "Special Elite" !important;
}


/*
  rkp_style.css

  RAKUPiPPi独自のスタイル設定用のCSS

  ブレイクポイントの設定について
  sp: min-width:576px
  tb: min-width:768px
  pc: min-width:992px
*/

/* Border*/
.border {
  border: 1px solid #dee2e6 !important;
}
.border-t {
  border-top: 1px solid #dee2e6 !important;
}
.border-r {
  border-right: 1px solid #dee2e6 !important;
}
.border-b {
  border-bottom: 1px solid #dee2e6 !important;
}
.border-l {
  border-left: 1px solid #dee2e6 !important;
}

/* Display */

.d-block {
  display: block !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-inline {
  display: inline !important;
}
.d-none {
  display: none !important;
}
.d-flex {
  display: flex !important;
}

@media (min-width: 576px) {
  .d-sp-block {
    display: block !important;
  }
  .d-sp-inline-block {
    display: inline-block !important;
  }
  .d-sp-inline {
    display: inline !important;
  }
  .d-sp-none {
    display: none !important;
  }
  .d-sp-flex {
    display: flex !important;
  }
}

@media (min-width: 768px) {
  .d-tb-block {
    display: block !important;
  }
  .d-tb-inline-block {
    display: inline-block !important;
  }
  .d-tb-inline {
    display: inline !important;
  }
  .d-tb-none {
    display: none !important;
  }
  .d-tb-flex {
    display: flex !important;
  }
}

@media (min-width:992px) {
  .d-pc-block {
    display: block !important;
  }
  .d-pc-inline-block {
    display: inline-block !important;
  }
  .d-pc-inline {
    display: inline !important;
  }
  .d-pc-none {
    display: none !important;
  }
  .d-pc-flex {
    display: flex !important;
  }
}

/* Flex */

.flex-column {
  flex-direction: column !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}

@media (min-width: 576px) {
  .flex-sp-row {
    flex-direction: row !important;
  }
  .flex-sp-wrap {
    flex-wrap: wrap !important;
  }
}

@media (min-width: 768px) {
  .flex-tb-row {
    flex-direction: row !important;
  }
  .flex-tb-wrap {
    flex-wrap: wrap !important;
  }
}

@media (min-width: 992px) {
  .flex-pc-row {
    flex-direction: row !important;
  }
  .flex-pc-wrap {
    flex-wrap: wrap !important;
  }
}

.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-around {
  justify-content: space-around !important;
}

.align-items-center {
  align-items: center !important;
}

/* Grid */
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.full-container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col, .col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1,
.col-pc, .col-pc-auto, .col-pc-12, .col-pc-11, .col-pc-10, .col-pc-9, .col-pc-8, .col-pc-7, .col-pc-6, .col-pc-5, .col-pc-4, .col-pc-3, .col-pc-2, .col-pc-1,
.col-tb, .col-tb-auto, .col-tb-12, .col-tb-11, .col-tb-10, .col-tb-9, .col-tb-8, .col-tb-7, .col-tb-6, .col-tb-5, .col-tb-4, .col-tb-3, .col-tb-2, .col-tb-1,
.col-sp, .col-sp-auto, .col-sp-12, .col-sp-11, .col-sp-10, .col-sp-9, .col-sp-8, .col-sp-7, .col-sp-6, .col-sp-5, .col-sp-4, .col-sp-3, .col-sp-2, .col-sp-1 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}
.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}
.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}
.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}
.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}
.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}
.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}
.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}
.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 576px) {
  .col-sp {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sp-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sp-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sp-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sp-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sp-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sp-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sp-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sp-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sp-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sp-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sp-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sp-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sp-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .col-tb {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-tb-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-tb-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-tb-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-tb-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-tb-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-tb-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-tb-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-tb-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-tb-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-tb-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-tb-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-tb-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-tb-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .col-pc {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-pc-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-pc-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-pc-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-pc-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-pc-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-pc-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-pc-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-pc-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-pc-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-pc-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-pc-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-pc-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-pc-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Position */
.align-top {
  vertical-align: top !important;
}
.align-mid {
  vertical-align: middle !important;
}
.align-btm {
  vertical-align: bottom !important;
}

.position-abs {
  position: absolute !important;
}
.position-rel {
  position: relative !important;
}
.position-fixed {
  position: fixed !important;
}

.float-l {
  float: left !important;
}
.float-r {
  float: right !important;
}

/* Rounded */
.rounded-25 {
  border-radius: 0.25rem !important;
}
.rounded-50 {
  border-radius: 0.5rem !important;
}
.rounded-75 {
  border-radius: 0.75rem !important;
}
.rounded-100 {
  border-radius: 50% !important;
}

/* Sizing */

.w-10 {
  width: 10% !important;
}
.w-15 {
  width: 15% !important;
}
.w-20 {
  width: 20% !important;
}
.w-25 {
  width: 25% !important;
}
.w-30 {
  width: 30% !important;
}
.w-35 {
  width: 35% !important;
}
.w-40 {
  width: 40% !important;
}
.w-45 {
  width: 45% !important;
}
.w-50 {
  width: 50% !important;
}
.w-55 {
  width: 55% !important;
}
.w-60 {
  width: 60% !important;
}
.w-65 {
  width: 65% !important;
}
.w-70 {
  width: 70% !important;
}
.w-75 {
  width: 75% !important;
}
.w-80 {
  width: 80% !important;
}
.w-85 {
  width: 85% !important;
}
.w-90 {
  width: 90% !important;
}
.w-95 {
  width: 95% !important;
}
.w-100 {
  width: 100% !important;
}

.h-10 {
  height: 10% !important;
}
.h-15 {
  height: 15% !important;
}
.h-20 {
  height: 20% !important;
}
.h-25 {
  height: 25% !important;
}
.h-30 {
  height: 30% !important;
}
.h-35 {
  height: 35% !important;
}
.h-40 {
  height: 40% !important;
}
.h-45 {
  height: 45% !important;
}
.h-50 {
  height: 50% !important;
}
.h-55 {
  height: 55% !important;
}
.h-60 {
  height: 60% !important;
}
.h-65 {
  height: 65% !important;
}
.h-70 {
  height: 70% !important;
}
.h-75 {
  height: 75% !important;
}
.h-80 {
  height: 80% !important;
}
.h-85 {
  height: 85% !important;
}
.h-90 {
  height: 90% !important;
}
.h-95 {
  height: 95% !important;
}
.h-100 {
  height: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}
.mw-100 {
  max-width: 100% !important;
}

/* Spacing */

.m-0 {
  margin: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.m-3 {
  margin: 1rem !important;
}
.m-4 {
  margin: 1.5rem !important;
}
.m-5 {
  margin: 3rem !important;
}
.m-auto {
  margin: auto !important;
}

.mt-0, .my-0 {
  margin-top: 0 !important;
}
.mt-1, .my-1 {
  margin-top: 0.25rem !important;
}
.mt-2, .my-2 {
  margin-top: 0.5rem !important;
}
.mt-3, .my-3 {
  margin-top: 1rem !important;
}
.mt-4, .my-4 {
  margin-top: 1.5rem !important;
}
.mt-5, .my-5 {
  margin-top: 3rem !important;
}
.mt-auto, .my-auto {
  margin-top: auto !important;
}

.mr-0, .mx-0 {
  margin-right: 0 !important;
}
.mr-1, .mx-1 {
  margin-right: 0.25rem !important;
}
.mr-2, .mx-2 {
  margin-right: 0.5rem !important;
}
.mr-3, .mx-3 {
  margin-right: 1rem !important;
}
.mr-4, .mx-4 {
  margin-right: 1.5rem !important;
}
.mr-5, .mx-5 {
  margin-right: 3rem !important;
}
.mr-auto, .mx-auto {
  margin-right: auto !important;
}

.mb-0, .my-0 {
  margin-bottom: 0 !important;
}
.mb-1, .my-1 {
  margin-bottom: 0.25rem !important;
}
.mb-2, .my-2 {
  margin-bottom: 0.5rem !important;
}
.mb-3, .my-3 {
  margin-bottom: 1rem !important;
}
.mb-4, .my-4 {
  margin-bottom: 1.5rem !important;
}
.mb-5, .my-5 {
  margin-bottom: 3rem !important;
}
.mb-auto, .my-auto {
  margin-bottom: auto !important;
}

.ml-0, .mx-0 {
  margin-left: 0 !important;
}
.ml-1, .mx-1 {
  margin-left: 0.25rem !important;
}
.ml-2, .mx-2 {
  margin-left: 0.5rem !important;
}
.ml-3, .mx-3 {
  margin-left: 1rem !important;
}
.ml-4, .mx-4 {
  margin-left: 1.5rem !important;
}
.ml-5, .mx-5 {
  margin-left: 3rem !important;
}
.ml-auto, .mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sp-0 {
    margin: 0 !important;
  }
  .m-sp-1 {
    margin: 0.25rem !important;
  }
  .m-sp-2 {
    margin: 0.5rem !important;
  }
  .m-sp-3 {
    margin: 1rem !important;
  }
  .m-sp-4 {
    margin: 1.5rem !important;
  }
  .m-sp-5 {
    margin: 3rem !important;
  }
  .m-sp-auto {
    margin: auto !important;
  }
  .mt-sp-0, .my-sp-0 {
    margin-top: 0 !important;
  }
  .mt-sp-1, .my-sp-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sp-2, .my-sp-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sp-3, .my-sp-3 {
    margin-top: 1rem !important;
  }
  .mt-sp-4, .my-sp-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sp-5, .my-sp-5 {
    margin-top: 3rem !important;
  }
  .mt-sp-auto, .my-sp-auto {
    margin-top: auto !important;
  }
  .mr-sp-0, .mx-sp-0 {
    margin-right: 0 !important;
  }
  .mr-sp-1, .mx-sp-1 {
    margin-right: 0.25rem !important;
  }
  .mr-sp-2, .mx-sp-2 {
    margin-right: 0.5rem !important;
  }
  .mr-sp-3, .mx-sp-3 {
    margin-right: 1rem !important;
  }
  .mr-sp-4, .mx-sp-4 {
    margin-right: 1.5rem !important;
  }
  .mr-sp-5, .mx-sp-5 {
    margin-right: 3rem !important;
  }
  .mr-sp-auto, .mx-sp-auto {
    margin-right: auto !important;
  }
  .mb-sp-0, .my-sp-0 {
    margin-bottom: 0 !important;
  }
  .mb-sp-1, .my-sp-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sp-2, .my-sp-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sp-3, .my-sp-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sp-4, .my-sp-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sp-5, .my-sp-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sp-auto, .my-sp-auto {
    margin-bottom: auto !important;
  }
  .ml-sp-0, .mx-sp-0 {
    margin-left: 0 !important;
  }
  .ml-sp-1, .mx-sp-1 {
    margin-left: 0.25rem !important;
  }
  .ml-sp-2, .mx-sp-2 {
    margin-left: 0.5rem !important;
  }
  .ml-sp-3, .mx-sp-3 {
    margin-left: 1rem !important;
  }
  .ml-sp-4, .mx-sp-4 {
    margin-left: 1.5rem !important;
  }
  .ml-sp-5, .mx-sp-5 {
    margin-left: 3rem !important;
  }
  .ml-sp-auto, .mx-sp-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-tb-0 {
    margin: 0 !important;
  }
  .m-tb-1 {
    margin: 0.25rem !important;
  }
  .m-tb-2 {
    margin: 0.5rem !important;
  }
  .m-tb-3 {
    margin: 1rem !important;
  }
  .m-tb-4 {
    margin: 1.5rem !important;
  }
  .m-tb-5 {
    margin: 3rem !important;
  }
  .m-tb-auto {
    margin: auto !important;
  }
  .mt-tb-0, .my-tb-0 {
    margin-top: 0 !important;
  }
  .mt-tb-1, .my-tb-1 {
    margin-top: 0.25rem !important;
  }
  .mt-tb-2, .my-tb-2 {
    margin-top: 0.5rem !important;
  }
  .mt-tb-3, .my-tb-3 {
    margin-top: 1rem !important;
  }
  .mt-tb-4, .my-tb-4 {
    margin-top: 1.5rem !important;
  }
  .mt-tb-5, .my-tb-5 {
    margin-top: 3rem !important;
  }
  .mt-tb-auto, .my-tb-auto {
    margin-top: auto !important;
  }
  .mr-tb-0, .mx-tb-0 {
    margin-right: 0 !important;
  }
  .mr-tb-1, .mx-tb-1 {
    margin-right: 0.25rem !important;
  }
  .mr-tb-2, .mx-tb-2 {
    margin-right: 0.5rem !important;
  }
  .mr-tb-3, .mx-tb-3 {
    margin-right: 1rem !important;
  }
  .mr-tb-4, .mx-tb-4 {
    margin-right: 1.5rem !important;
  }
  .mr-tb-5, .mx-tb-5 {
    margin-right: 3rem !important;
  }
  .mr-tb-auto, .mx-tb-auto {
    margin-right: auto !important;
  }
  .mb-tb-0, .my-tb-0 {
    margin-bottom: 0 !important;
  }
  .mb-tb-1, .my-tb-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-tb-2, .my-tb-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-tb-3, .my-tb-3 {
    margin-bottom: 1rem !important;
  }
  .mb-tb-4, .my-tb-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-tb-5, .my-tb-5 {
    margin-bottom: 3rem !important;
  }
  .mb-tb-auto, .my-tb-auto {
    margin-bottom: auto !important;
  }
  .ml-tb-0, .mx-tb-0 {
    margin-left: 0 !important;
  }
  .ml-tb-1, .mx-tb-1 {
    margin-left: 0.25rem !important;
  }
  .ml-tb-2, .mx-tb-2 {
    margin-left: 0.5rem !important;
  }
  .ml-tb-3, .mx-tb-3 {
    margin-left: 1rem !important;
  }
  .ml-tb-4, .mx-tb-4 {
    margin-left: 1.5rem !important;
  }
  .ml-tb-5, .mx-tb-5 {
    margin-left: 3rem !important;
  }
  .ml-tb-auto, .mx-tb-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-pc-0 {
    margin: 0 !important;
  }
  .m-pc-1 {
    margin: 0.25rem !important;
  }
  .m-pc-2 {
    margin: 0.5rem !important;
  }
  .m-pc-3 {
    margin: 1rem !important;
  }
  .m-pc-4 {
    margin: 1.5rem !important;
  }
  .m-pc-5 {
    margin: 3rem !important;
  }
  .m-pc-auto {
    margin: auto !important;
  }
  .mt-pc-0, .my-pc-0 {
    margin-top: 0 !important;
  }
  .mt-pc-1, .my-pc-1 {
    margin-top: 0.25rem !important;
  }
  .mt-pc-2, .my-pc-2 {
    margin-top: 0.5rem !important;
  }
  .mt-pc-3, .my-pc-3 {
    margin-top: 1rem !important;
  }
  .mt-pc-4, .my-pc-4 {
    margin-top: 1.5rem !important;
  }
  .mt-pc-5, .my-pc-5 {
    margin-top: 3rem !important;
  }
  .mt-pc-auto, .my-pc-auto {
    margin-top: auto !important;
  }
  .mr-pc-0, .mx-pc-0 {
    margin-right: 0 !important;
  }
  .mr-pc-1, .mx-pc-1 {
    margin-right: 0.25rem !important;
  }
  .mr-pc-2, .mx-pc-2 {
    margin-right: 0.5rem !important;
  }
  .mr-pc-3, .mx-pc-3 {
    margin-right: 1rem !important;
  }
  .mr-pc-4, .mx-pc-4 {
    margin-right: 1.5rem !important;
  }
  .mr-pc-5, .mx-pc-5 {
    margin-right: 3rem !important;
  }
  .mr-pc-auto, .mx-pc-auto {
    margin-right: auto !important;
  }
  .mb-pc-0, .my-pc-0 {
    margin-bottom: 0 !important;
  }
  .mb-pc-1, .my-pc-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-pc-2, .my-pc-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-pc-3, .my-pc-3 {
    margin-bottom: 1rem !important;
  }
  .mb-pc-4, .my-pc-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-pc-5, .my-pc-5 {
    margin-bottom: 3rem !important;
  }
  .mb-pc-auto, .my-pc-auto {
    margin-bottom: auto !important;
  }
  .ml-pc-0, .mx-pc-0 {
    margin-left: 0 !important;
  }
  .ml-pc-1, .mx-pc-1 {
    margin-left: 0.25rem !important;
  }
  .ml-pc-2, .mx-pc-2 {
    margin-left: 0.5rem !important;
  }
  .ml-pc-3, .mx-pc-3 {
    margin-left: 1rem !important;
  }
  .ml-pc-4, .mx-pc-4 {
    margin-left: 1.5rem !important;
  }
  .ml-pc-5, .mx-pc-5 {
    margin-left: 3rem !important;
  }
  .ml-pc-auto, .mx-pc-auto {
    margin-left: auto !important;
  }
}

.p-0 {
  padding: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.p-3 {
  padding: 1rem !important;
}
.p-4 {
  padding: 1.5rem !important;
}
.p-5 {
  padding: 3rem !important;
}

.pt-0, .py-0 {
  padding-top: 0 !important;
}
.pt-1, .py-1 {
  padding-top: 0.25rem !important;
}
.pt-2, .py-2 {
  padding-top: 0.5rem !important;
}
.pt-3, .py-3 {
  padding-top: 1rem !important;
}
.pt-4, .py-4 {
  padding-top: 1.5rem !important;
}
.pt-5, .py-5 {
  padding-top: 3rem !important;
}

.pr-0, .px-0 {
  padding-right: 0 !important;
}
.pr-1, .px-1 {
  padding-right: 0.25rem !important;
}
.pr-2, .px-2 {
  padding-right: 0.5rem !important;
}
.pr-3, .px-3 {
  padding-right: 1rem !important;
}
.pr-4, .px-4 {
  padding-right: 1.5rem !important;
}
.pr-5, .px-5 {
  padding-right: 3rem !important;
}

.pb-0, .py-0 {
  padding-bottom: 0 !important;
}
.pb-1, .py-1 {
  padding-bottom: 0.25rem !important;
}
.pb-2, .py-2 {
  padding-bottom: 0.5rem !important;
}
.pb-3, .py-3 {
  padding-bottom: 1rem !important;
}
.pb-4, .py-4 {
  padding-bottom: 1.5rem !important;
}
.pb-5, .py-5 {
  padding-bottom: 3rem !important;
}

.pl-0, .px-0 {
  padding-left: 0 !important;
}
.pl-1, .px-1 {
  padding-left: 0.25rem !important;
}
.pl-2, .px-2 {
  padding-left: 0.5rem !important;
}
.pl-3, .px-3 {
  padding-left: 1rem !important;
}
.pl-4, .px-4 {
  padding-left: 1.5rem !important;
}
.pl-5, .px-5 {
  padding-left: 3rem !important;
}

@media (min-width: 576px) {
  .p-sp-0 {
    padding: 0 !important;
  }
  .p-sp-1 {
    padding: 0.25rem !important;
  }
  .p-sp-2 {
    padding: 0.5rem !important;
  }
  .p-sp-3 {
    padding: 1rem !important;
  }
  .p-sp-4 {
    padding: 1.5rem !important;
  }
  .p-sp-5 {
    padding: 3rem !important;
  }

  .pt-sp-0, .py-sp-0 {
    padding-top: 0 !important;
  }
  .pt-sp-1, .py-sp-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sp-2, .py-sp-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sp-3, .py-sp-3 {
    padding-top: 1rem !important;
  }
  .pt-sp-4, .py-sp-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sp-5, .py-sp-5 {
    padding-top: 3rem !important;
  }

  .pr-sp-0, .px-sp-0 {
    padding-right: 0 !important;
  }
  .pr-sp-1, .px-sp-1 {
    padding-right: 0.25rem !important;
  }
  .pr-sp-2, .px-sp-2 {
    padding-right: 0.5rem !important;
  }
  .pr-sp-3, .px-sp-3 {
    padding-right: 1rem !important;
  }
  .pr-sp-4, .px-sp-4 {
    padding-right: 1.5rem !important;
  }
  .pr-sp-5, .px-sp-5 {
    padding-right: 3rem !important;
  }

  .pb-sp-0, .py-sp-0 {
    padding-bottom: 0 !important;
  }
  .pb-sp-1, .py-sp-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sp-2, .py-sp-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sp-3, .py-sp-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sp-4, .py-sp-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sp-5, .py-sp-5 {
    padding-bottom: 3rem !important;
  }

  .pl-sp-0, .px-sp-0 {
    padding-left: 0 !important;
  }
  .pl-sp-1, .px-sp-1 {
    padding-left: 0.25rem !important;
  }
  .pl-sp-2, .px-sp-2 {
    padding-left: 0.5rem !important;
  }
  .pl-sp-3, .px-sp-3 {
    padding-left: 1rem !important;
  }
  .pl-sp-4, .px-sp-4 {
    padding-left: 1.5rem !important;
  }
  .pl-sp-5, .px-sp-5 {
    padding-left: 3rem !important;
  }
}

@media (min-width: 768px) {
  .p-tb-0 {
    padding: 0 !important;
  }
  .p-tb-1 {
    padding: 0.25rem !important;
  }
  .p-tb-2 {
    padding: 0.5rem !important;
  }
  .p-tb-3 {
    padding: 1rem !important;
  }
  .p-tb-4 {
    padding: 1.5rem !important;
  }
  .p-tb-5 {
    padding: 3rem !important;
  }

  .pt-tb-0, .py-tb-0 {
    padding-top: 0 !important;
  }
  .pt-tb-1, .py-tb-1 {
    padding-top: 0.25rem !important;
  }
  .pt-tb-2, .py-tb-2 {
    padding-top: 0.5rem !important;
  }
  .pt-tb-3, .py-tb-3 {
    padding-top: 1rem !important;
  }
  .pt-tb-4, .py-tb-4 {
    padding-top: 1.5rem !important;
  }
  .pt-tb-5, .py-tb-5 {
    padding-top: 3rem !important;
  }

  .pr-tb-0, .px-tb-0 {
    padding-right: 0 !important;
  }
  .pr-tb-1, .px-tb-1 {
    padding-right: 0.25rem !important;
  }
  .pr-tb-2, .px-tb-2 {
    padding-right: 0.5rem !important;
  }
  .pr-tb-3, .px-tb-3 {
    padding-right: 1rem !important;
  }
  .pr-tb-4, .px-tb-4 {
    padding-right: 1.5rem !important;
  }
  .pr-tb-5, .px-tb-5 {
    padding-right: 3rem !important;
  }

  .pb-tb-0, .py-tb-0 {
    padding-bottom: 0 !important;
  }
  .pb-tb-1, .py-tb-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-tb-2, .py-tb-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-tb-3, .py-tb-3 {
    padding-bottom: 1rem !important;
  }
  .pb-tb-4, .py-tb-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-tb-5, .py-tb-5 {
    padding-bottom: 3rem !important;
  }

  .pl-tb-0, .px-tb-0 {
    padding-left: 0 !important;
  }
  .pl-tb-1, .px-tb-1 {
    padding-left: 0.25rem !important;
  }
  .pl-tb-2, .px-tb-2 {
    padding-left: 0.5rem !important;
  }
  .pl-tb-3, .px-tb-3 {
    padding-left: 1rem !important;
  }
  .pl-tb-4, .px-tb-4 {
    padding-left: 1.5rem !important;
  }
  .pl-tb-5, .px-tb-5 {
    padding-left: 3rem !important;
  }
}

@media (min-width: 992px) {
  .p-pc-0 {
    padding: 0 !important;
  }
  .p-pc-1 {
    padding: 0.25rem !important;
  }
  .p-pc-2 {
    padding: 0.5rem !important;
  }
  .p-pc-3 {
    padding: 1rem !important;
  }
  .p-pc-4 {
    padding: 1.5rem !important;
  }
  .p-pc-5 {
    padding: 3rem !important;
  }

  .pt-pc-0, .py-pc-0 {
    padding-top: 0 !important;
  }
  .pt-pc-1, .py-pc-1 {
    padding-top: 0.25rem !important;
  }
  .pt-pc-2, .py-pc-2 {
    padding-top: 0.5rem !important;
  }
  .pt-pc-3, .py-pc-3 {
    padding-top: 1rem !important;
  }
  .pt-pc-4, .py-pc-4 {
    padding-top: 1.5rem !important;
  }
  .pt-pc-5, .py-pc-5 {
    padding-top: 3rem !important;
  }

  .pr-pc-0, .px-pc-0 {
    padding-right: 0 !important;
  }
  .pr-pc-1, .px-pc-1 {
    padding-right: 0.25rem !important;
  }
  .pr-pc-2, .px-pc-2 {
    padding-right: 0.5rem !important;
  }
  .pr-pc-3, .px-pc-3 {
    padding-right: 1rem !important;
  }
  .pr-pc-4, .px-pc-4 {
    padding-right: 1.5rem !important;
  }
  .pr-pc-5, .px-pc-5 {
    padding-right: 3rem !important;
  }

  .pb-pc-0, .py-pc-0 {
    padding-bottom: 0 !important;
  }
  .pb-pc-1, .py-pc-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-pc-2, .py-pc-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-pc-3, .py-pc-3 {
    padding-bottom: 1rem !important;
  }
  .pb-pc-4, .py-pc-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-pc-5, .py-pc-5 {
    padding-bottom: 3rem !important;
  }

  .pl-pc-0, .px-pc-0 {
    padding-left: 0 !important;
  }
  .pl-pc-1, .px-pc-1 {
    padding-left: 0.25rem !important;
  }
  .pl-pc-2, .px-pc-2 {
    padding-left: 0.5rem !important;
  }
  .pl-pc-3, .px-pc-3 {
    padding-left: 1rem !important;
  }
  .pl-pc-4, .px-pc-4 {
    padding-left: 1.5rem !important;
  }
  .pl-pc-5, .px-pc-5 {
    padding-left: 3rem !important;
  }
}

/* Table */

.table {
  width: 100%;
  margin-bottom: 1rem;
}

.table th,
.table td {
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  border-bottom: 2px solid #dee2e6;
}

.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

/* Text */

.font-bold {
  font-weight: 700 !important;
}

.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sp-left {
    text-align: left !important;
  }
  .text-sp-right {
    text-align: right !important;
  }
  .text-sp-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-tb-left {
    text-align: left !important;
  }
  .text-tb-right {
    text-align: right !important;
  }
  .text-tb-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-pc-left {
    text-align: left !important;
  }
  .text-pc-right {
    text-align: right !important;
  }
  .text-pc-center {
    text-align: center !important;
  }
}


/* Form */
.form-group {
  margin-bottom: 1rem;
}
.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
}
.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #1e89fc;
  background-color: #1e89fc;
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(30, 137, 252, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(30, 137, 252, 0.5);
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #e05360;
}
.was-valid .custom-select:invalid ~ .invalid-feedback,
.was-valid .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid .form-control-file:invalid ~ .invalid-feedback,
.was-valid .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #e05360;
}
.was-valid .form-check-input:invalid ~ .invalid-feedback,
.was-valid .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #e05360;
}
.was-valid .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #e05360;
}
.was-valid .custom-control-input:invalid ~ .invalid-feedback,
.was-valid .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d;
}
.was-valid .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(224, 83, 96, 0.25);
}
.was-valid .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #e05360;
}
.was-valid .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #e05360;
}
.was-valid .custom-file-input:invalid ~ .invalid-feedback,
.was-valid .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #3aa152;
  box-shadow: 0 0 0 0.2rem rgba(58, 161, 82, 0.25);
}
.was-valid .form-control:valid ~ .valid-feedback,
.was-valid .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-valid .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #3aa152;
  box-shadow: 0 0 0 0.2rem rgba(58, 161, 82, 0.25);
}
.was-valid .custom-select:valid ~ .valid-feedback,
.was-valid .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid .form-control-file:valid ~ .valid-feedback,
.was-valid .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #3aa152;
}
.was-valid .form-check-input:valid ~ .valid-feedback,
.was-valid .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #3aa152;
}
.was-valid .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #3aa152;
}
.was-valid .custom-control-input:valid ~ .valid-feedback,
.was-valid .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #40ce61;
  background-color: #40ce61;
}
.was-valid .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(58, 161, 82, 0.25);
}
.was-valid .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #3aa152;
}
.was-valid .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #3aa152;
}
.was-valid .custom-file-input:valid ~ .valid-feedback,
.was-valid .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-valid .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #3aa152;
  box-shadow: 0 0 0 0.2rem rgba(58, 161, 82, 0.25);
}
.was-valid .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #e05360;
  box-shadow: 0 0 0 0.2rem rgba(224, 83, 96, 0.25);
}
.was-valid .form-control:invalid ~ .invalid-feedback,
.was-valid .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-valid textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-valid .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #e05360;
  box-shadow: 0 0 0 0.2rem rgba(224, 83, 96, 0.25);
}
.was-valid .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #e05360;
  box-shadow: 0 0 0 0.2rem rgba(224, 83, 96, 0.25);
}
.form-control.is-invalid, .was-valid .form-control:invalid {
  border-color: #e05360;
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22errormark%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020.33%2020.33%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23e05360%3Bstroke-miterlimit%3A10%3Bstroke-width%3A4px%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M1.41%201.41l17.5%2017.5M18.91%201.41l-17.5%2017.5%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center right calc(.375em + .1875rem);
  background-size: 0.8rem;
}
.form-control.is-valid, .was-valid .form-control:valid {
  border-color: #3aa152;
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.33%2023.33%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%233aa152%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%224%22%20d%3D%22M1.41%209.57l9.56%209.68L27.91%202.08%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center right calc(.375em + .1875rem);
  background-size: 1rem;
}
.custom-control-label::before {
  position: absolute;
  top: .25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: #adb5bd solid 1px;
}
.custom-control-input:checked~.custom-control-label::before {
  color: #fff;
  border-color: #1e89fc;
  background-color: #1e89fc;
}
.custom-control-label::after {
  position: absolute;
  top: .25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: no-repeat 50%/50% 50%;
}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2029.33%2023.33%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%224%22%20d%3D%22M1.41%209.57l9.56%209.68L27.91%202.08%22%2F%3E%3C%2Fsvg%3E");
}
.custom-control-label::before, .custom-file-label, .custom-select {
  transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.custom-control-input.is-valid:checked ~ .custom-control-label::before,
.was-valid .custom-control-input:valid:checked~.custom-control-label::before {
  border-color: #40ce61;
  background-color: #40ce61;
}
textarea.form-control {
  height: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}


/******ナビメニュー*******/
.navimenu-toggler {
  display: none;
}
.navimenu {
  position: relative;
  min-height: 48px;
}
.navimenu label {
  color: #ffffff;
  cursor: pointer;
  width: 40px;
  height: 40px;
  margin-bottom: 0rem;
  position: absolute;
  left: 11px;
  top: 3px;
  z-index: 999;
}
.collapse {
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s;
}
.navimenu-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-align: center;
  align-items: center;
}
.navimenu-nav .nav-link {
  padding-right: 0;
  padding-left: 0;
}
.navimenu-nav .dropdown-menu {
  position: static;
  float: none;
}
.nav-link {
  display: block;
  padding: .5rem 1rem;
}
.nav-link:hover, .nav-link:focus {
  text-decoration: none;
}
.navimenu-toggler {
  padding: .25rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: .25rem;
}
.navimenu-toggler:hover, .navimenu-toggler:focus {
  text-decoration: none;
}
@media (min-width: 992px) {
  .navimenu-expand-lg {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .navimenu-expand-lg .navimenu-nav {
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .navimenu-expand-lg .navimenu-nav .dropdown-menu {
    position: absolute;
  }
  .navimenu-expand-lg .navimenu-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .navimenu-expand-lg > .container,
  .navimenu-expand-lg > .container-fluid {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .navimenu-expand-lg .navimenu-collapse {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    padding-top: 0rem;
  }
  .navimenu-expand-lg .navimenu-toggler {
    display: none;
  }
  .navimenu-toggler-icon {
    display: none !important;
  }
}


/****** jsブロック背景設定 *******/
.js-block {
	background-position:  center center !important;
    background-size: cover !important;
	background-repeat: no-repeat !important;
}
.anime-invisible{
  visibility: hidden;
}