@charset "UTF-8";

/* ----------
 index memo
----------  */
/*  ブレイクポイントでの表示制御  */
/*  クリアーフィックス  */
/*  ポジション  */
/*  オーバーフロー  */
/*  フロート  */
/*  汎用 フォント  */
/*  align  */
/*  p  */
/*  フォントサイズ  */
/*  汎用 max-width  */
/*  max-width 中央設置用  */
/*  汎用 中央設置用  */
/*  汎用 width  */
/*  汎用pcのマージントップ  */
/*  汎用pcのマージンライト  */
/*  汎用pcのマージンボトム  */
/*  PC・SP共通 mb  */
/*  汎用pcのマージンレフト  */
/*  padding-top  */
/*  padding-bottom  */
/*    */
/*---------------
ブレイクポイントでの表示制御
---------------*/
.sp-only,
.ipad-only {
  display: none;
}

.pc960,
.pc960only,
.pc1440,
.pc1440only,
.tb768,
.tb768only {
  display: none;
}

/*---------------
クリアーフィックス
---------------*/
.clearfix {
  *zoom: 1;
}

.clearfix:after {
  display: block;
  content: '';
  clear: both;
}

/*---------------
   ポジション
---------------*/
.poshi-rela {
  position: relative;
}

.poshi-relaz1 {
  position: relative;
  z-index: 1;
}

.poshi-relaz2 {
  position: relative;
  z-index: 2;
}

.poshi-ab {
  position: absolute;
}

.poshi-abz1 {
  position: absolute;
  z-index: 1;
}

.poshi-abz2 {
  position: absolute;
  z-index: 2;
}

.poshi-fix {
  position: fixed;
}

/*---------------
  オーバーフロー
---------------*/
.ov-hid {
  /*スマホ時display:none*/
  overflow: hidden;
}

.ov-hidden {
  overflow: hidden;
}

.ov-auto {
  overflow: auto;
}

.ov-vi {
  overflow: visible;
}

/*---------------
    フロート
---------------*/
.float-l {
  float: left;
}

.float-r {
  float: right;
}

/*---------------------*/
/*    汎用 フォント
/*---------------------*/
.minfont {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}

.gofont {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
}

.text-shadow {
  color: #123d51;
  text-shadow:
    0 0 50px #ffffff,
    0 0 50px #ffffff,
    0 0 50px #ffffff,
    0 0 10px #ffffff,
    0 0 15px #ffffff,
    0 0 25px #ffffff,
    0 0 20px #ffffff,
    0 0 0.40px #ffffff;
}

/*align*/
.tcenter {
  text-align: center;
}

.tleft {
  text-align: left;
}

.tright {
  text-align: right;
}

/*p*/
.ptype1 {
  font-size: 16px;
  color: #123d51;
}

.font-b {
  font-weight: bold;
}

/*フォントサイズ*/
/*px 12～48で指定*/
.fs-px12 {
  font-size: 12px
}

.fs-px13 {
  font-size: 13px
}

.fs-px14 {
  font-size: 14px
}

.fs-px15 {
  font-size: 15px
}

.fs-px16 {
  font-size: 16px
}

.fs-px17 {
  font-size: 17px
}

.fs-px18 {
  font-size: 18px
}

.fs-px19 {
  font-size: 19px
}

.fs-px20 {
  font-size: 20px
}

.fs-px21 {
  font-size: 21px
}

.fs-px22 {
  font-size: 22px
}

.fs-px23 {
  font-size: 23px
}

.fs-px24 {
  font-size: 24px
}

.fs-px25 {
  font-size: 25px
}

.fs-px26 {
  font-size: 26px
}

.fs-px27 {
  font-size: 27px
}

.fs-px28 {
  font-size: 28px
}

.fs-px29 {
  font-size: 29px
}

.fs-px30 {
  font-size: 30px
}

.fs-px31 {
  font-size: 31px
}

.fs-px32 {
  font-size: 32px
}

.fs-px33 {
  font-size: 33px
}

.fs-px34 {
  font-size: 34px
}

.fs-px35 {
  font-size: 35px
}

.fs-px36 {
  font-size: 36px
}

.fs-px37 {
  font-size: 37px
}

.fs-px38 {
  font-size: 38px
}

.fs-px39 {
  font-size: 39px
}

.fs-px40 {
  font-size: 40px
}

.fs-px41 {
  font-size: 41px
}

.fs-px42 {
  font-size: 42px
}

.fs-px43 {
  font-size: 43px
}

.fs-px44 {
  font-size: 44px
}

.fs-px45 {
  font-size: 45px
}

.fs-px46 {
  font-size: 46px
}

.fs-px47 {
  font-size: 47px
}

.fs-px48 {
  font-size: 48px
}

/*---------------------*/
/*    汎用 max-width
/*---------------------*/
.max100p {
  max-width: 100%;
}

.max1440 {
  max-width: 1440px;
}

.max1088 {
  max-width: 1088px;
}

.max960 {
  max-width: 960px;
}

.max936 {
  max-width: 936px;
}

.max928 {
  max-width: 928px;
}

.max888 {
  max-width: 888px;
}

.max848 {
  max-width: 848px;
}

.max800 {
  max-width: 800px;
}

.max219 {
  max-width: 219px;
}

.max500 {
  max-width: 500px;
}

.max389 {
  max-width: 389px;
}

.max320 {
  max-width: 320px;
}

.max300 {
  max-width: 300px;
}

.max280 {
  max-width: 280px;
}

.max240 {
  max-width: 240px;
}

.max200 {
  max-width: 200px;
}

/*  max-width 中央設置用  */
.max1440,
.max1088,
.max800 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/*  汎用 中央設置用  */
.block-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*---------------------*/
/*    汎用 width
/*---------------------*/
.w100 {
  width: 100%;
}

/*---------------------*/
/*汎用pcのマージントップ
/*---------------------*/
.pcmt0 {
  margin-top: 0;
}

.pcmt8 {
  margin-top: 8px;
}

.pcmt16 {
  margin-top: 16px;
}

.pcmt24 {
  margin-top: 24px;
}

.pcmt32 {
  margin-top: 32px;
}

.pcmt40 {
  margin-top: 40px;
}

.pcmt48 {
  margin-top: 48px;
}

.pcmt56 {
  margin-top: 56px;
}

.pcmt60 {
  margin-top: 60px;
}

.pcmt64 {
  margin-top: 64px;
}

.pcmt72 {
  margin-top: 72px;
}

.pcmt80 {
  margin-top: 80px;
}

.pcmt88 {
  margin-top: 88px;
}

/*---------------------*/
/*汎用pcのマージンライト
/*---------------------*/
.pcmr0 {
  margin-right: 0;
}

.pcmr8 {
  margin-right: 8px;
}

.pcmr16 {
  margin-right: 16px;
}

.pcmr24 {
  margin-right: 24px;
}

.pcmr32 {
  margin-right: 32px;
}

.pcmr40 {
  margin-right: 40px;
}

.pcmr48 {
  margin-right: 48px;
}

/*---------------------*/
/*汎用pcのマージンボトム
/*---------------------*/
.pcmb0 {
  margin-bottom: 0;
}

.pcmb8 {
  margin-bottom: 8px;
}

.pcmb16 {
  margin-bottom: 16px;
}

.pcmb24 {
  margin-bottom: 24px;
}

.pcmb32 {
  margin-bottom: 32px;
}

.pcmb40 {
  margin-bottom: 40px;
}

.pcmb48 {
  margin-bottom: 48px;
}

.pcmb56 {
  margin-bottom: 56px;
}

.pcmb64 {
  margin-bottom: 64px;
}

.pcmb72 {
  margin-bottom: 72px;
}

.pcmb80 {
  margin-bottom: 80px;
}

.pcmb88 {
  margin-bottom: 88px;
}

.pcmb96 {
  margin-bottom: 96px;
}

.pcmb104 {
  margin-bottom: 104px;
}

.pcmb112 {
  margin-bottom: 112px;
}

/*--------------------
*** PC・SP共通 mb ***
----------------------*/
.mbx1 {
  margin-bottom: 1em;
}

.mbx1o2 {
  margin-bottom: 1.2em;
}

.mbx1o4 {
  margin-bottom: 1.4em
}

.mbx1o6 {
  margin-bottom: 1.6em
}

.mbx1o8 {
  margin-bottom: 1.8em
}

.mbx2 {
  margin-bottom: 2em;
}

/*---------------------*/
/*汎用pcのマージンレフト
/*---------------------*/
.pcml0 {
  margin-left: 0;
}

.pcml8 {
  margin-left: 8px;
}

.pcml16 {
  margin-left: 16px;
}

.pcml24 {
  margin-left: 24px;
}

.pcml32 {
  margin-left: 32px;
}

.pcml40 {
  margin-left: 40px;
}

.pcml48 {
  margin-left: 48px;
}

/*---------------------*/
/*   padding-top
/*---------------------*/
.pcpt0 {
  padding-top: 0;
}

.pcpt8 {
  padding-top: 8px;
}

.pcpt16 {
  padding-top: 16px;
}

.pcpt24 {
  padding-top: 24px;
}

.pcpt32 {
  padding-top: 32px;
}

.pcpt40 {
  padding-top: 40px;
}

.pcpt48 {
  padding-top: 48px;
}

.pcpt56 {
  padding-top: 56px;
}

.pcpt64 {
  padding-top: 64px;
}

.pcpt72 {
  padding-top: 72px;
}

.pcpt80 {
  padding-top: 80px;
}

/*---------------------*/
/*    padding-bottom
/*---------------------*/
.pcpb0 {
  padding-bottom: 0;
}

.pcpb8 {
  padding-bottom: 8px;
}

.pcpb16 {
  padding-bottom: 16px;
}

.pcpb24 {
  padding-bottom: 24px;
}

.pcpb32 {
  padding-bottom: 32px;
}

.pcpb40 {
  padding-bottom: 40px;
}

.pcpb48 {
  padding-bottom: 48px;
}

.pcpb56 {
  padding-bottom: 56px;
}

.pcpb64 {
  padding-bottom: 64px;
}

.pcpb72 {
  padding-bottom: 72px;
}

.pcpb80 {
  padding-bottom: 80px;
}

.pcpb88 {
  padding-bottom: 88px;
}

.pcpb96 {
  padding-bottom: 96px;
}

.pcpb104 {
  padding-bottom: 104px;
}

.pcpb112 {
  padding-bottom: 112px;
}

/*---------------------*/
/*  汎用 float
/*---------------------*/
.fl-l {
  float: left;
}

.fl-r {
  float: right;
}

/*---------------------*/
/*  汎用 floatセット
/*---------------------*/
/*---------------------*/
/*  汎用 margin
/*---------------------*/
@media screen and (max-width: 1440px) {

  /*---------------
ブレイクポイントでの表示制御
---------------*/
  .pcmaxonly {
    display: none;
  }

  .pc1440,
  .pc1440only {
    display: block;
  }
}

@media screen and (min-width: 960px) {
  .pcmin960 {
    display: block;
  }
}

@media screen and (max-width: 960px) {

  /*---------------
ブレイクポイントでの表示制御
---------------*/
  .pc1440only,
  .pcmin960 {
    display: none;
  }

  .pc960,
  .pc960only {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .ipad-only {
    display: block;
  }

  /*---------------
ブレイクポイントでの表示制御
---------------*/
  .tb768,
  .tb768only {
    display: block;
  }

  .pc960only {
    display: none;
  }
}

@media screen and (max-width: 767px) {

  /*---------------
ブレイクポイントでの表示制御
---------------*/
  .ipad-only {
    display: none;
  }

  .sp-only {
    display: block;
  }

  .tb768only,
  .pc-only {
    display: none;
  }

  /*---------------------*/
  /*  汎用sp-margin-bottom
/*---------------------*/
  .spmb0 {
    margin-bottom: 0;
  }

  .spmb8 {
    margin-bottom: 8px;
  }

  .spmb16 {
    margin-bottom: 16px;
  }

  .spmb24 {
    margin-bottom: 24px;
  }

  .spmb32 {
    margin-bottom: 32px;
  }

  .spmb40 {
    margin-bottom: 40px;
  }

  .spmb48 {
    margin-bottom: 48px;
  }

  .spmb56 {
    margin-bottom: 56px;
  }

  .spmb64 {
    margin-bottom: 64px;
  }

  .spmb72 {
    margin-bottom: 72px;
  }

  .spmb80 {
    margin-bottom: 80px;
  }

  .spmb88 {
    margin-bottom: 88px;
  }

  .spmb96 {
    margin-bottom: 96px;
  }

  .spmb104 {
    margin-bottom: 104px;
  }

  .spmb112 {
    margin-bottom: 112px;
  }

  /*---------------------*/
  /*  汎用sp-margin-top
/*---------------------*/
  .spmt0 {
    margin-top: 0px;
  }

  .spmt8 {
    margin-top: 8px;
  }

  .spmt16 {
    margin-top: 16px;
  }

  .spmt24 {
    margin-top: 24px;
  }

  .spmt32 {
    margin-top: 32px;
  }

  .spmt40 {
    margin-top: 40px;
  }

  .spmt48 {
    margin-top: 48px;
  }

  /*---------------------*/
  /*  汎用sp-margin-left
/*---------------------*/
  .spml0 {
    margin-left: 0;
  }

  .spml8 {
    margin-left: 8px;
  }

  .spml16 {
    margin-left: 16px;
  }

  .spml24 {
    margin-left: 24px;
  }

  .spml32 {
    margin-left: 32px;
  }

  /*---------------------*/
  /*     padding-top
/*---------------------*/
  .sppt0 {
    padding-top: 0;
  }

  .sppt8 {
    padding-top: 8px;
  }

  .sppt16 {
    padding-top: 16px;
  }

  .sppt24 {
    padding-top: 24px;
  }

  .sppt32 {
    padding-top: 32px;
  }

  .sppt40 {
    padding-top: 40px;
  }

  .sppt48 {
    padding-top: 48px;
  }

  .sppt56 {
    padding-top: 56px;
  }

  .spm-lr-auto {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  /*---------------------*/
  /*  padding-bottom
/*---------------------*/
  .sppb0 {
    padding-bottom: 0;
  }

  .sppb8 {
    padding-bottom: 8px;
  }

  .sppb16 {
    padding-bottom: 16px;
  }

  .sppb24 {
    padding-bottom: 24px;
  }

  .sppb32 {
    padding-bottom: 32px;
  }

  .sppb40 {
    padding-bottom: 40px;
  }

  .sppb48 {
    padding-bottom: 48px;
  }
}

@media screen and (max-width: 414px) {}

@media screen and (max-width: 375px) {}

@media screen and (max-width: 320px) {}
