@charset "UTF-8";
/*====================================================================================
エリアの設定
====================================================================================*/
html, body { overflow-x: hidden; 　position: relative; background: #fff; }

/*====================================================================================
テキスト
====================================================================================*/
body { -webkit-font-smoothing: antialiased; }

/*------------------------------------------
基本フォント
------------------------------------------*/
h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, dt, dd, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure { font-size: 14px; font-weight: normal; font-family: 'ヒラギノ角ゴ ProN W3', 'HiraKakuProN-W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif; color: #000; text-align: left; line-height: 160%; letter-spacing: 0; word-wrap: break-word; }

/*------------------------------------------
テキストスタイル
------------------------------------------*/
/* 行揃え
------------------------------------------*/
.ta-le { text-align: left; }

.ta-ce { text-align: center; }

.ta-ri { text-align: right; }

@media screen and (max-width: 500px) { .ta-le_sp { text-align: left; }
  .ta-ce_sp { text-align: center; }
  .ta-ri_sp { text-align: right; } }
@media screen and (min-width: 500px) { .ta-le_pc { text-align: left; }
  .ta-ce_pc { text-align: center; }
  .ta-ri_pc { text-align: right; } }
/* 縦揃え（vertiacl-align
------------------------------------------*/
.va-to { vertical-align: top; }

.va-mi { vertical-align: middle; }

.va-bo { vertical-align: bottom; }

@media screen and (max-width: 500px) { .va-to_sp { vertical-align: top; }
  .va-mi_sp { vertical-align: middle; }
  .va-bo_sp { vertical-align: bottom; } }
@media screen and (min-width: 500px) { .va-to_pc { vertical-align: top; }
  .va-mi_pc { vertical-align: middle; }
  .va-bo_pc { vertical-align: bottom; } }
/* テキストの太さ
------------------------------------------*/
.fw-bo { font-weight: bold; }

.fw-no { font-weight: normal; }

@media screen and (max-width: 500px) { .fw-bo_sp { font-weight: bold; }
  .fw-no_sp { font-weight: normal; } }
@media screen and (min-width: 500px) { .fw-bo_pc { font-weight: bold; }
  .fw-no_pc { font-weight: normal; } }
/* テキストの大きさ
------------------------------------------*/
.fs-la { font-size: 120%; }

.fs-me { font-size: 100%; }

.fs-sm { font-size: 80%; }

@media screen and (max-width: 500px) { .txt-la_sp { font-size: 120%; }
  .txt-me_sp { font-size: 100%; }
  .txt-sm_sp { font-size: 80%; } }
@media screen and (min-width: 500px) { .txt-la_pc { font-size: 120%; }
  .txt-me_pc { font-size: 100%; }
  .txt-sm_pc { font-size: 80%; } }
/* 一行ではみ出た部分を...
------------------------------------------*/
.to-el { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media screen and (max-width: 500px) { .to-el_sp { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
@media screen and (min-width: 500px) { .to-el_pc { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
/* 折り返しなし・はみ出たら非表示
------------------------------------------*/
.to-el { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media screen and (max-width: 500px) { .to-el_sp { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
@media screen and (min-width: 500px) { .to-el_pc { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
/*====================================================================================
余白の設定：top、right、bottom、left、topとbottom、leftとright
====================================================================================*/
/*------------------------------------------
paddingを与える
------------------------------------------*/
.pt0 { padding-top: 0px; }

.pr0 { padding-right: 0px; }

.pb0 { padding-bottom: 0px; }

.pl0 { padding-left: 0px; }

.ptb0 { padding-top: 0px; padding-bottom: 0px; }

.plr0 { padding-left: 0px; padding-right: 0px; }

.pt10 { padding-top: 10px; }

.pr10 { padding-right: 10px; }

.pb10 { padding-bottom: 10px; }

.pl10 { padding-left: 10px; }

.ptb10 { padding-top: 10px; padding-bottom: 10px; }

.plr10 { padding-left: 10px; padding-right: 10px; }

.pt20 { padding-top: 20px; }

.pr20 { padding-right: 20px; }

.pb20 { padding-bottom: 20px; }

.pl20 { padding-left: 20px; }

.ptb20 { padding-top: 20px; padding-bottom: 20px; }

.plr20 { padding-left: 20px; padding-right: 20px; }

.pt30 { padding-top: 30px; }

.pr30 { padding-right: 30px; }

.pb30 { padding-bottom: 30px; }

.pl30 { padding-left: 30px; }

.ptb30 { padding-top: 30px; padding-bottom: 30px; }

.plr30 { padding-left: 30px; padding-right: 30px; }

.pt40 { padding-top: 40px; }

.pr40 { padding-right: 40px; }

.pb40 { padding-bottom: 40px; }

.pl40 { padding-left: 40px; }

.ptb40 { padding-top: 40px; padding-bottom: 40px; }

.plr40 { padding-left: 40px; padding-right: 40px; }

.pt50 { padding-top: 50px; }

.pr50 { padding-right: 50px; }

.pb50 { padding-bottom: 50px; }

.pl50 { padding-left: 50px; }

.ptb50 { padding-top: 50px; padding-bottom: 50px; }

.plr50 { padding-left: 50px; padding-right: 50px; }

.pt60 { padding-top: 60px; }

.pr60 { padding-right: 60px; }

.pb60 { padding-bottom: 60px; }

.pl60 { padding-left: 60px; }

.ptb60 { padding-top: 60px; padding-bottom: 60px; }

.plr60 { padding-left: 60px; padding-right: 60px; }

.pt70 { padding-top: 70px; }

.pr70 { padding-right: 70px; }

.pb70 { padding-bottom: 70px; }

.pl70 { padding-left: 70px; }

.ptb70 { padding-top: 70px; padding-bottom: 70px; }

.plr70 { padding-left: 70px; padding-right: 70px; }

.pt80 { padding-top: 80px; }

.pr80 { padding-right: 80px; }

.pb80 { padding-bottom: 80px; }

.pl80 { padding-left: 80px; }

.ptb80 { padding-top: 80px; padding-bottom: 80px; }

.plr80 { padding-left: 80px; padding-right: 80px; }

.pt90 { padding-top: 90px; }

.pr90 { padding-right: 90px; }

.pb90 { padding-bottom: 90px; }

.pl90 { padding-left: 90px; }

.ptb90 { padding-top: 90px; padding-bottom: 90px; }

.plr90 { padding-left: 90px; padding-right: 90px; }

.pt100 { padding-top: 100px; }

.pr100 { padding-right: 100px; }

.pb100 { padding-bottom: 100px; }

.pl100 { padding-left: 100px; }

.ptb100 { padding-top: 100px; padding-bottom: 100px; }

.plr100 { padding-left: 100px; padding-right: 100px; }

.ptAuto { padding-top: auto; }

.prAuto { padding-right: auto; }

.pbAuto { padding-bottom: auto; }

.plAuto { padding-left: auto; }

.ptbAuto { padding-top: auto; padding-bottom: auto; }

.plrAuto { padding-left: auto; padding-right: auto; }

@media screen and (max-width: 500px) { .pt0_sp { padding-top: 0px; }
  .pr0_sp { padding-right: 0px; }
  .pb0_sp { padding-bottom: 0px; }
  .pl0_sp { padding-left: 0px; }
  .ptb0_sp { padding-top: 0px; padding-bottom: 0px; }
  .plr0_sp { padding-left: 0px; padding-right: 0px; }
  .pt10_sp { padding-top: 10px; }
  .pr10_sp { padding-right: 10px; }
  .pb10_sp { padding-bottom: 10px; }
  .pl10_sp { padding-left: 10px; }
  .ptb10_sp { padding-top: 10px; padding-bottom: 10px; }
  .plr10_sp { padding-left: 10px; padding-right: 10px; }
  .pt20_sp { padding-top: 20px; }
  .pr20_sp { padding-right: 20px; }
  .pb20_sp { padding-bottom: 20px; }
  .pl20_sp { padding-left: 20px; }
  .ptb20_sp { padding-top: 20px; padding-bottom: 20px; }
  .plr20_sp { padding-left: 20px; padding-right: 20px; }
  .pt30_sp { padding-top: 30px; }
  .pr30_sp { padding-right: 30px; }
  .pb30_sp { padding-bottom: 30px; }
  .pl30_sp { padding-left: 30px; }
  .ptb30_sp { padding-top: 30px; padding-bottom: 30px; }
  .plr30_sp { padding-left: 30px; padding-right: 30px; }
  .pt40_sp { padding-top: 40px; }
  .pr40_sp { padding-right: 40px; }
  .pb40_sp { padding-bottom: 40px; }
  .pl40_sp { padding-left: 40px; }
  .ptb40_sp { padding-top: 40px; padding-bottom: 40px; }
  .plr40_sp { padding-left: 40px; padding-right: 40px; }
  .pt50_sp { padding-top: 50px; }
  .pr50_sp { padding-right: 50px; }
  .pb50_sp { padding-bottom: 50px; }
  .pl50_sp { padding-left: 50px; }
  .ptb50_sp { padding-top: 50px; padding-bottom: 50px; }
  .plr50_sp { padding-left: 50px; padding-right: 50px; }
  .pt60_sp { padding-top: 60px; }
  .pr60_sp { padding-right: 60px; }
  .pb60_sp { padding-bottom: 60px; }
  .pl60_sp { padding-left: 60px; }
  .ptb60_sp { padding-top: 60px; padding-bottom: 60px; }
  .plr60_sp { padding-left: 60px; padding-right: 60px; }
  .pt70_sp { padding-top: 70px; }
  .pr70_sp { padding-right: 70px; }
  .pb70_sp { padding-bottom: 70px; }
  .pl70_sp { padding-left: 70px; }
  .ptb70_sp { padding-top: 70px; padding-bottom: 70px; }
  .plr70_sp { padding-left: 70px; padding-right: 70px; }
  .pt80_sp { padding-top: 80px; }
  .pr80_sp { padding-right: 80px; }
  .pb80_sp { padding-bottom: 80px; }
  .pl80_sp { padding-left: 80px; }
  .ptb80_sp { padding-top: 80px; padding-bottom: 80px; }
  .plr80_sp { padding-left: 80px; padding-right: 80px; }
  .pt90_sp { padding-top: 90px; }
  .pr90_sp { padding-right: 90px; }
  .pb90_sp { padding-bottom: 90px; }
  .pl90_sp { padding-left: 90px; }
  .ptb90_sp { padding-top: 90px; padding-bottom: 90px; }
  .plr90_sp { padding-left: 90px; padding-right: 90px; }
  .pt100_sp { padding-top: 100px; }
  .pr100_sp { padding-right: 100px; }
  .pb100_sp { padding-bottom: 100px; }
  .pl100_sp { padding-left: 100px; }
  .ptb100_sp { padding-top: 100px; padding-bottom: 100px; }
  .plr100_sp { padding-left: 100px; padding-right: 100px; }
  .ptAuto_sp { padding-top: auto; }
  .prAuto_sp { padding-right: auto; }
  .pbAuto_sp { padding-bottom: auto; }
  .plAuto_sp { padding-left: auto; }
  .ptbAuto_sp { padding-top: auto; padding-bottom: auto; }
  .plrAuto_sp { padding-left: auto; padding-right: auto; } }
@media screen and (min-width: 500px) { .pt0_pc { padding-top: 0px; }
  .pr0_pc { padding-right: 0px; }
  .pb0_pc { padding-bottom: 0px; }
  .pl0_pc { padding-left: 0px; }
  .ptb0_pc { padding-top: 0px; padding-bottom: 0px; }
  .plr0_pc { padding-left: 0px; padding-right: 0px; }
  .pt10_pc { padding-top: 10px; }
  .pr10_pc { padding-right: 10px; }
  .pb10_pc { padding-bottom: 10px; }
  .pl10_pc { padding-left: 10px; }
  .ptb10_pc { padding-top: 10px; padding-bottom: 10px; }
  .plr10_pc { padding-left: 10px; padding-right: 10px; }
  .pt20_pc { padding-top: 20px; }
  .pr20_pc { padding-right: 20px; }
  .pb20_pc { padding-bottom: 20px; }
  .pl20_pc { padding-left: 20px; }
  .ptb20_pc { padding-top: 20px; padding-bottom: 20px; }
  .plr20_pc { padding-left: 20px; padding-right: 20px; }
  .pt30_pc { padding-top: 30px; }
  .pr30_pc { padding-right: 30px; }
  .pb30_pc { padding-bottom: 30px; }
  .pl30_pc { padding-left: 30px; }
  .ptb30_pc { padding-top: 30px; padding-bottom: 30px; }
  .plr30_pc { padding-left: 30px; padding-right: 30px; }
  .pt40_pc { padding-top: 40px; }
  .pr40_pc { padding-right: 40px; }
  .pb40_pc { padding-bottom: 40px; }
  .pl40_pc { padding-left: 40px; }
  .ptb40_pc { padding-top: 40px; padding-bottom: 40px; }
  .plr40_pc { padding-left: 40px; padding-right: 40px; }
  .pt50_pc { padding-top: 50px; }
  .pr50_pc { padding-right: 50px; }
  .pb50_pc { padding-bottom: 50px; }
  .pl50_pc { padding-left: 50px; }
  .ptb50_pc { padding-top: 50px; padding-bottom: 50px; }
  .plr50_pc { padding-left: 50px; padding-right: 50px; }
  .pt60_pc { padding-top: 60px; }
  .pr60_pc { padding-right: 60px; }
  .pb60_pc { padding-bottom: 60px; }
  .pl60_pc { padding-left: 60px; }
  .ptb60_pc { padding-top: 60px; padding-bottom: 60px; }
  .plr60_pc { padding-left: 60px; padding-right: 60px; }
  .pt70_pc { padding-top: 70px; }
  .pr70_pc { padding-right: 70px; }
  .pb70_pc { padding-bottom: 70px; }
  .pl70_pc { padding-left: 70px; }
  .ptb70_pc { padding-top: 70px; padding-bottom: 70px; }
  .plr70_pc { padding-left: 70px; padding-right: 70px; }
  .pt80_pc { padding-top: 80px; }
  .pr80_pc { padding-right: 80px; }
  .pb80_pc { padding-bottom: 80px; }
  .pl80_pc { padding-left: 80px; }
  .ptb80_pc { padding-top: 80px; padding-bottom: 80px; }
  .plr80_pc { padding-left: 80px; padding-right: 80px; }
  .pt90_pc { padding-top: 90px; }
  .pr90_pc { padding-right: 90px; }
  .pb90_pc { padding-bottom: 90px; }
  .pl90_pc { padding-left: 90px; }
  .ptb90_pc { padding-top: 90px; padding-bottom: 90px; }
  .plr90_pc { padding-left: 90px; padding-right: 90px; }
  .pt100_pc { padding-top: 100px; }
  .pr100_pc { padding-right: 100px; }
  .pb100_pc { padding-bottom: 100px; }
  .pl100_pc { padding-left: 100px; }
  .ptb100_pc { padding-top: 100px; padding-bottom: 100px; }
  .plr100_pc { padding-left: 100px; padding-right: 100px; }
  .ptAuto_pc { padding-top: auto; }
  .prAuto_pc { padding-right: auto; }
  .pbAuto_pc { padding-bottom: auto; }
  .plAuto_pc { padding-left: auto; }
  .ptbAuto_pc { padding-top: auto; padding-bottom: auto; }
  .plrAuto_pc { padding-left: auto; padding-right: auto; } }
/*------------------------------------------
marginを与える
------------------------------------------*/
.mt0 { margin-top: 0px; }

.mr0 { margin-right: 0px; }

.mb0 { margin-bottom: 0px; }

.ml0 { margin-left: 0px; }

.mtb0 { margin-top: 0px; margin-bottom: 0px; }

.mlr0 { margin-left: 0px; margin-right: 0px; }

.mt10 { margin-top: 10px; }

.mr10 { margin-right: 10px; }

.mb10 { margin-bottom: 10px; }

.ml10 { margin-left: 10px; }

.mtb10 { margin-top: 10px; margin-bottom: 10px; }

.mlr10 { margin-left: 10px; margin-right: 10px; }

.mt20 { margin-top: 20px; }

.mr20 { margin-right: 20px; }

.mb20 { margin-bottom: 20px; }

.ml20 { margin-left: 20px; }

.mtb20 { margin-top: 20px; margin-bottom: 20px; }

.mlr20 { margin-left: 20px; margin-right: 20px; }

.mt30 { margin-top: 30px; }

.mr30 { margin-right: 30px; }

.mb30 { margin-bottom: 30px; }

.ml30 { margin-left: 30px; }

.mtb30 { margin-top: 30px; margin-bottom: 30px; }

.mlr30 { margin-left: 30px; margin-right: 30px; }

.mt40 { margin-top: 40px; }

.mr40 { margin-right: 40px; }

.mb40 { margin-bottom: 40px; }

.ml40 { margin-left: 40px; }

.mtb40 { margin-top: 40px; margin-bottom: 40px; }

.mlr40 { margin-left: 40px; margin-right: 40px; }

.mt50 { margin-top: 50px; }

.mr50 { margin-right: 50px; }

.mb50 { margin-bottom: 50px; }

.ml50 { margin-left: 50px; }

.mtb50 { margin-top: 50px; margin-bottom: 50px; }

.mlr50 { margin-left: 50px; margin-right: 50px; }

.mt60 { margin-top: 60px; }

.mr60 { margin-right: 60px; }

.mb60 { margin-bottom: 60px; }

.ml60 { margin-left: 60px; }

.mtb60 { margin-top: 60px; margin-bottom: 60px; }

.mlr60 { margin-left: 60px; margin-right: 60px; }

.mt70 { margin-top: 70px; }

.mr70 { margin-right: 70px; }

.mb70 { margin-bottom: 70px; }

.ml70 { margin-left: 70px; }

.mtb70 { margin-top: 70px; margin-bottom: 70px; }

.mlr70 { margin-left: 70px; margin-right: 70px; }

.mt80 { margin-top: 80px; }

.mr80 { margin-right: 80px; }

.mb80 { margin-bottom: 80px; }

.ml80 { margin-left: 80px; }

.mtb80 { margin-top: 80px; margin-bottom: 80px; }

.mlr80 { margin-left: 80px; margin-right: 80px; }

.mt90 { margin-top: 90px; }

.mr90 { margin-right: 90px; }

.mb90 { margin-bottom: 90px; }

.ml90 { margin-left: 90px; }

.mtb90 { margin-top: 90px; margin-bottom: 90px; }

.mlr90 { margin-left: 90px; margin-right: 90px; }

.mt100 { margin-top: 100px; }

.mr100 { margin-right: 100px; }

.mb100 { margin-bottom: 100px; }

.ml100 { margin-left: 100px; }

.mtb100 { margin-top: 100px; margin-bottom: 100px; }

.mlr100 { margin-left: 100px; margin-right: 100px; }

.mtAuto { margin-top: auto; }

.mrAuto { margin-right: auto; }

.mbAuto { margin-bottom: auto; }

.mlAuto { margin-left: auto; }

.mtbAuto { margin-top: auto; margin-bottom: auto; }

.mlrAuto { margin-left: auto; margin-right: auto; }

@media screen and (max-width: 500px) { .mt0_sp { margin-top: 0px; }
  .mr0_sp { margin-right: 0px; }
  .mb0_sp { margin-bottom: 0px; }
  .ml0_sp { margin-left: 0px; }
  .mtb0_sp { margin-top: 0px; margin-bottom: 0px; }
  .mlr0_sp { margin-left: 0px; margin-right: 0px; }
  .mt10_sp { margin-top: 10px; }
  .mr10_sp { margin-right: 10px; }
  .mb10_sp { margin-bottom: 10px; }
  .ml10_sp { margin-left: 10px; }
  .mtb10_sp { margin-top: 10px; margin-bottom: 10px; }
  .mlr10_sp { margin-left: 10px; margin-right: 10px; }
  .mt20_sp { margin-top: 20px; }
  .mr20_sp { margin-right: 20px; }
  .mb20_sp { margin-bottom: 20px; }
  .ml20_sp { margin-left: 20px; }
  .mtb20_sp { margin-top: 20px; margin-bottom: 20px; }
  .mlr20_sp { margin-left: 20px; margin-right: 20px; }
  .mt30_sp { margin-top: 30px; }
  .mr30_sp { margin-right: 30px; }
  .mb30_sp { margin-bottom: 30px; }
  .ml30_sp { margin-left: 30px; }
  .mtb30_sp { margin-top: 30px; margin-bottom: 30px; }
  .mlr30_sp { margin-left: 30px; margin-right: 30px; }
  .mt40_sp { margin-top: 40px; }
  .mr40_sp { margin-right: 40px; }
  .mb40_sp { margin-bottom: 40px; }
  .ml40_sp { margin-left: 40px; }
  .mtb40_sp { margin-top: 40px; margin-bottom: 40px; }
  .mlr40_sp { margin-left: 40px; margin-right: 40px; }
  .mt50_sp { margin-top: 50px; }
  .mr50_sp { margin-right: 50px; }
  .mb50_sp { margin-bottom: 50px; }
  .ml50_sp { margin-left: 50px; }
  .mtb50_sp { margin-top: 50px; margin-bottom: 50px; }
  .mlr50_sp { margin-left: 50px; margin-right: 50px; }
  .mt60_sp { margin-top: 60px; }
  .mr60_sp { margin-right: 60px; }
  .mb60_sp { margin-bottom: 60px; }
  .ml60_sp { margin-left: 60px; }
  .mtb60_sp { margin-top: 60px; margin-bottom: 60px; }
  .mlr60_sp { margin-left: 60px; margin-right: 60px; }
  .mt70_sp { margin-top: 70px; }
  .mr70_sp { margin-right: 70px; }
  .mb70_sp { margin-bottom: 70px; }
  .ml70_sp { margin-left: 70px; }
  .mtb70_sp { margin-top: 70px; margin-bottom: 70px; }
  .mlr70_sp { margin-left: 70px; margin-right: 70px; }
  .mt80_sp { margin-top: 80px; }
  .mr80_sp { margin-right: 80px; }
  .mb80_sp { margin-bottom: 80px; }
  .ml80_sp { margin-left: 80px; }
  .mtb80_sp { margin-top: 80px; margin-bottom: 80px; }
  .mlr80_sp { margin-left: 80px; margin-right: 80px; }
  .mt90_sp { margin-top: 90px; }
  .mr90_sp { margin-right: 90px; }
  .mb90_sp { margin-bottom: 90px; }
  .ml90_sp { margin-left: 90px; }
  .mtb90_sp { margin-top: 90px; margin-bottom: 90px; }
  .mlr90_sp { margin-left: 90px; margin-right: 90px; }
  .mt100_sp { margin-top: 100px; }
  .mr100_sp { margin-right: 100px; }
  .mb100_sp { margin-bottom: 100px; }
  .ml100_sp { margin-left: 100px; }
  .mtb100_sp { margin-top: 100px; margin-bottom: 100px; }
  .mlr100_sp { margin-left: 100px; margin-right: 100px; }
  .mtAuto_sp { margin-top: auto; }
  .mrAuto_sp { margin-right: auto; }
  .mbAuto_sp { margin-bottom: auto; }
  .mlAuto_sp { margin-left: auto; }
  .mtbAuto_sp { margin-top: auto; margin-bottom: auto; }
  .mlrAuto_sp { margin-left: auto; margin-right: auto; } }
@media screen and (min-width: 500px) { .mt0_pc { margin-top: 0px; }
  .mr0_pc { margin-right: 0px; }
  .mb0_pc { margin-bottom: 0px; }
  .ml0_pc { margin-left: 0px; }
  .mtb0_pc { margin-top: 0px; margin-bottom: 0px; }
  .mlr0_pc { margin-left: 0px; margin-right: 0px; }
  .mt10_pc { margin-top: 10px; }
  .mr10_pc { margin-right: 10px; }
  .mb10_pc { margin-bottom: 10px; }
  .ml10_pc { margin-left: 10px; }
  .mtb10_pc { margin-top: 10px; margin-bottom: 10px; }
  .mlr10_pc { margin-left: 10px; margin-right: 10px; }
  .mt20_pc { margin-top: 20px; }
  .mr20_pc { margin-right: 20px; }
  .mb20_pc { margin-bottom: 20px; }
  .ml20_pc { margin-left: 20px; }
  .mtb20_pc { margin-top: 20px; margin-bottom: 20px; }
  .mlr20_pc { margin-left: 20px; margin-right: 20px; }
  .mt30_pc { margin-top: 30px; }
  .mr30_pc { margin-right: 30px; }
  .mb30_pc { margin-bottom: 30px; }
  .ml30_pc { margin-left: 30px; }
  .mtb30_pc { margin-top: 30px; margin-bottom: 30px; }
  .mlr30_pc { margin-left: 30px; margin-right: 30px; }
  .mt40_pc { margin-top: 40px; }
  .mr40_pc { margin-right: 40px; }
  .mb40_pc { margin-bottom: 40px; }
  .ml40_pc { margin-left: 40px; }
  .mtb40_pc { margin-top: 40px; margin-bottom: 40px; }
  .mlr40_pc { margin-left: 40px; margin-right: 40px; }
  .mt50_pc { margin-top: 50px; }
  .mr50_pc { margin-right: 50px; }
  .mb50_pc { margin-bottom: 50px; }
  .ml50_pc { margin-left: 50px; }
  .mtb50_pc { margin-top: 50px; margin-bottom: 50px; }
  .mlr50_pc { margin-left: 50px; margin-right: 50px; }
  .mt60_pc { margin-top: 60px; }
  .mr60_pc { margin-right: 60px; }
  .mb60_pc { margin-bottom: 60px; }
  .ml60_pc { margin-left: 60px; }
  .mtb60_pc { margin-top: 60px; margin-bottom: 60px; }
  .mlr60_pc { margin-left: 60px; margin-right: 60px; }
  .mt70_pc { margin-top: 70px; }
  .mr70_pc { margin-right: 70px; }
  .mb70_pc { margin-bottom: 70px; }
  .ml70_pc { margin-left: 70px; }
  .mtb70_pc { margin-top: 70px; margin-bottom: 70px; }
  .mlr70_pc { margin-left: 70px; margin-right: 70px; }
  .mt80_pc { margin-top: 80px; }
  .mr80_pc { margin-right: 80px; }
  .mb80_pc { margin-bottom: 80px; }
  .ml80_pc { margin-left: 80px; }
  .mtb80_pc { margin-top: 80px; margin-bottom: 80px; }
  .mlr80_pc { margin-left: 80px; margin-right: 80px; }
  .mt90_pc { margin-top: 90px; }
  .mr90_pc { margin-right: 90px; }
  .mb90_pc { margin-bottom: 90px; }
  .ml90_pc { margin-left: 90px; }
  .mtb90_pc { margin-top: 90px; margin-bottom: 90px; }
  .mlr90_pc { margin-left: 90px; margin-right: 90px; }
  .mt100_pc { margin-top: 100px; }
  .mr100_pc { margin-right: 100px; }
  .mb100_pc { margin-bottom: 100px; }
  .ml100_pc { margin-left: 100px; }
  .mtb100_pc { margin-top: 100px; margin-bottom: 100px; }
  .mlr100_pc { margin-left: 100px; margin-right: 100px; }
  .mtAuto_pc { margin-top: auto; }
  .mrAuto_pc { margin-right: auto; }
  .mbAuto_pc { margin-bottom: auto; }
  .mlAuto_pc { margin-left: auto; }
  .mtbAuto_pc { margin-top: auto; margin-bottom: auto; }
  .mlrAuto_pc { margin-left: auto; margin-right: auto; } }
/*====================================================================================
限定
====================================================================================*/
.sp { display: block; }

.pc { display: none; }

@media screen and (max-width: 500px) { .sp { display: none; }
  .pc { display: block; } }
/*====================================================================================
横並びの設定
====================================================================================*/
/*------------------------------------------
解除
------------------------------------------*/
.cf:after { content: ""; display: block; width: 100%; height: 0; clear: both; }

@media screen and (max-width: 500px) { .cf_sp:after { content: ""; display: block; width: 100%; height: 0; clear: both; } }
@media screen and (min-width: 500px) { .cf_pc:after { content: ""; display: block; width: 100%; height: 0; clear: both; } }
/*------------------------------------------
カラム
------------------------------------------*/
/* table-cell
------------------------------------------*/
.colArea-table { width: 100%; display: table; table-layout: fixed; }
.colArea-table > * { display: table-cell; }

@media screen and (max-width: 500px) { .colArea-table_sp { width: 100%; display: table; table-layout: fixed; }
  .colArea-table_sp > * { display: table-cell; } }
@media screen and (min-width: 500px) { .colArea-table_pc { width: 100%; display: table; table-layout: fixed; }
  .colArea-table_pc > * { display: table-cell; } }
/* float
------------------------------------------*/
.coArea-float { width: 100%; display: block; }
.coArea-float > *:first-child { float: left; }
.coArea-float > *:last-child { float: right; }

@media screen and (max-width: 500px) { .coArea-float_sp { width: 100%; display: block; }
  .coArea-float_sp > *:first-child { float: left; }
  .coArea-float_sp > *:last-child { float: right; } }
@media screen and (min-width: 500px) { .coArea-float_pc { width: 100%; display: block; }
  .coArea-float_pc > *:first-child { float: left; }
  .coArea-float_pc > *:last-child { float: right; } }
html:root { min-width: 320px; max-width: 414px; margin-left: auto; margin-right: auto; }

header { margin-bottom: 25px; }

section[id^="area"]:not(:last-of-type) { margin-bottom: 40px; }

section[id^="area"]:last-of-type { margin-bottom: 55px; }

.tit_site img { width: 100%; }

.tit_area { height: 75px; color: #fff; font-size: 22px; font-weight: bold; line-height: 26px; letter-spacing: -0.025em; padding: 2px 0; background: #53b000; box-sizing: border-box; position: relative; margin-bottom: 20px; }
.tit_area:before { content: ""; display: block; width: 116px; height: 75px; background: url("../images/line.png") no-repeat; background-size: cover; position: absolute; top: 0; right: 0; }
.tit_area small { font-size: 16px; }
.tit_area .tit_area__inner { width: 300px; padding: 7px 0; padding-left: 80px; margin-left: auto; margin-right: auto; position: relative; }
.tit_area i { display: inline-block; width: 71px; height: 71px; position: absolute; top: 0; left: 0; background-color: #fff; border-radius: 70px; }

.icon01 { background: url(../images/stop/icon01.png) no-repeat; background-size: 71px; }

.icon02 { background: url(../images/stop/icon02.png) no-repeat; background-size: 71px; }

.icon03 { background: url(../images/stop/icon03.png) no-repeat; background-size: 71px; }

.icon04 { background: url(../images/stop/icon04.png) no-repeat; background-size: 71px; }

.iphone { width: 210px; margin-left: auto; margin-right: auto; margin-top: -25px; position: relative; z-index: 2; }
.iphone img { width: 100%; }

.arrow { position: relative; }
.arrow:after { content: ""; width: 158px; height: 131.5px; background: url(../images/arrow.png) no-repeat; background-size: 158px 131.5px; position: absolute; top: -16px; right: -61px; }

.txt_area { font-weight: bold; line-height: 22px; text-shadow: 0px 0px 10px white; margin-left: 10px; margin-right: 10px; }

.btn { width: auto; max-width: 375px; margin: 0 10px; background: #ebc200; overflow: hidden; position: relative; margin-bottom: 10px; }
.btn:before { content: ""; display: block; width: 116px; height: 75px; background: url("../images/line.png") no-repeat; background-size: cover; position: absolute; top: 0; right: 0; }
.btn > * { color: #fff; font-weight: bold; font-size: 22px; line-height: 25px; text-align: center; display: block; padding: 10px 0; }

*[class*="icon"].act { background-color: #fff !important; }

.icon01.act { background: url(../images/icon01.png) no-repeat; animation: icon01 4s steps(59) 0.75s forwards; background-size: 71px; }

@keyframes icon01 { 0% { background-position: 0 0; }
  25% { background-position: 0 -4484px; }
  100% { background-position: 0 -4484px; } }
.icon02.act { background: url(../images/icon02.png) no-repeat; animation: icon02 4s steps(59) 0.75s forwards; background-size: 71px; }

@keyframes icon02 { 0% { background-position: 0 0; }
  25% { background-position: 0 -4484px; }
  100% { background-position: 0 -4484px; } }
.icon03.act { background: url(../images/icon03.png) no-repeat; animation: icon03 4s steps(59) 0.75s forwards; background-size: 71px; }

@keyframes icon03 { 0% { background-position: 0 0; }
  25% { background-position: 0 -4484px; }
  100% { background-position: 0 -4484px; } }
.icon04.act { background: url(../images/icon04.png) no-repeat; animation: icon04 4s steps(59) 0.75s forwards; background-size: 71px; }

@keyframes icon04 { 0% { background-position: 0 0; }
  25% { background-position: 0 -4484px; }
  100% { background-position: 0 -4484px; } }
