@charset "UTF-8";
/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

@media print {
  body {
    zoom: 50%;
    width: 100% !important; }

  #pagetop {
    display: none !important; } }
/* 共通 */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box; }

.shrink-vspace {
  padding-top: 0;
  padding-bottom: 0; }

.container-fluid {
  width: 100%;
  max-width: auto;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box; }

.inner-width {
  max-width: 980px; }

/* PC */
.container {
  max-width: 1020px; }

.container,
.container-fluid {
  padding-left: 50px;
  padding-right: 50px;
  padding-top: 25px;
  padding-bottom: 25px; }

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: calc( 50px / 2 - 50px );
  margin-left: calc( 50px / 2 - 50px );
  /* margin-top: $vSpace / 2;*/ }

.row + .row {
  /* margin-top: $vSpace;*/ }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  position: relative;
  box-sizing: border-box;
  padding: 25px; }

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%; }

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%; }

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%; }

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%; }

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%; }

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%; }

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%; }

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%; }

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  -ms-flex-order: -1;
  order: -1; }

.order-last {
  -ms-flex-order: 13;
  order: 13; }

.order-0 {
  -ms-flex-order: 0;
  order: 0; }

.order-1 {
  -ms-flex-order: 1;
  order: 1; }

.order-2 {
  -ms-flex-order: 2;
  order: 2; }

.order-3 {
  -ms-flex-order: 3;
  order: 3; }

.order-4 {
  -ms-flex-order: 4;
  order: 4; }

.order-5 {
  -ms-flex-order: 5;
  order: 5; }

.order-6 {
  -ms-flex-order: 6;
  order: 6; }

.order-7 {
  -ms-flex-order: 7;
  order: 7; }

.order-8 {
  -ms-flex-order: 8;
  order: 8; }

.order-9 {
  -ms-flex-order: 9;
  order: 9; }

.order-10 {
  -ms-flex-order: 10;
  order: 10; }

.order-11 {
  -ms-flex-order: 11;
  order: 11; }

.order-12 {
  -ms-flex-order: 12;
  order: 12; }

.m-0 {
  margin: 0 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.offset-1 {
  margin-left: 8.3333333333%; }

.offset-2 {
  margin-left: 16.6666666667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.3333333333%; }

.offset-5 {
  margin-left: 41.6666666667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.3333333333%; }

.offset-8 {
  margin-left: 66.6666666667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.3333333333%; }

.offset-11 {
  margin-left: 91.6666666667%; }

/* タブレット グリッドシステム */
@media only screen and (max-width: 1024px) {
  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%; }

  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%; }

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%; }

  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%; }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }

  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%; }

  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%; }

  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }

  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%; }

  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%; }

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }

  .order-md-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-md-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-md-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-md-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-md-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-md-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-md-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-md-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-md-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-md-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-md-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-md-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-md-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-md-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-md-12 {
    -ms-flex-order: 12;
    order: 12; }

  .m-md-0 {
    margin: 0 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .m-md-n1 {
    margin: -1rem !important; }

  .mt-md-n1,
  .my-md-n1 {
    margin-top: -1rem !important; }

  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -1rem !important; }

  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -1rem !important; }

  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -1rem !important; }

  .m-md-n2 {
    margin: -2rem !important; }

  .mt-md-n2,
  .my-md-n2 {
    margin-top: -2rem !important; }

  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -2rem !important; }

  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -2rem !important; }

  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -2rem !important; }

  .m-md-n3 {
    margin: -3rem !important; }

  .mt-md-n3,
  .my-md-n3 {
    margin-top: -3rem !important; }

  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -3rem !important; }

  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -3rem !important; }

  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -3rem !important; }

  .m-md-n4 {
    margin: -4rem !important; }

  .mt-md-n4,
  .my-md-n4 {
    margin-top: -4rem !important; }

  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -4rem !important; }

  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -4rem !important; }

  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -4rem !important; }

  .m-md-n5 {
    margin: -5rem !important; }

  .mt-md-n5,
  .my-md-n5 {
    margin-top: -5rem !important; }

  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -5rem !important; }

  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -5rem !important; }

  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -5rem !important; }

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

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

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

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

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

  .offset-md-0 {
    margin-left: 0; }

  .offset-md-1 {
    margin-left: 8.3333333333%; }

  .offset-md-2 {
    margin-left: 16.6666666667%; }

  .offset-md-3 {
    margin-left: 25%; }

  .offset-md-4 {
    margin-left: 33.3333333333%; }

  .offset-md-5 {
    margin-left: 41.6666666667%; }

  .offset-md-6 {
    margin-left: 50%; }

  .offset-md-7 {
    margin-left: 58.3333333333%; }

  .offset-md-8 {
    margin-left: 66.6666666667%; }

  .offset-md-9 {
    margin-left: 75%; }

  .offset-md-10 {
    margin-left: 83.3333333333%; }

  .offset-md-11 {
    margin-left: 91.6666666667%; } }
@media only screen and (max-width: 768px) {
  .container,
  .container-fluid {
    padding-left: clamp(0px, 5vw, 50px);
    padding-right: clamp(0px, 5vw, 50px);
    padding-top: clamp(10px, 7.5vw, 25px);
    padding-bottom: clamp(10px, 7.5vw, 50px); }

  .row {
    margin-right: calc( 5vw / 2 - 5vw );
    margin-left: calc( 5vw / 2 - 5vw );
    /* margin-top: clamp(0px, $spVSpace, $vSpace / 2);*/ }

  .col-sp-1, .col-sp-2, .col-sp-3, .col-sp-4, .col-sp-5, .col-sp-6,
  .col-sp-7, .col-sp-8, .col-sp-9, .col-sp-10, .col-sp-11, .col-sp-12 {
    padding: clamp(10px, 2.5vw, 2.5vw); }

  .col-sp-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%; }

  .col-sp-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%; }

  .col-sp-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }

  .col-sp-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%; }

  .col-sp-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%; }

  .col-sp-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }

  .col-sp-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%; }

  .col-sp-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%; }

  .col-sp-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }

  .col-sp-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%; }

  .col-sp-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%; }

  .col-sp-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }

  .order-sp-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-sp-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-sp-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-sp-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-sp-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-sp-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-sp-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-sp-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-sp-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-sp-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-sp-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-sp-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-sp-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-sp-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-sp-12 {
    -ms-flex-order: 12;
    order: 12; }

  .m-sp-0 {
    margin: 0 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .m-sp-n1 {
    margin: -1rem !important; }

  .mt-sp-n1,
  .my-sp-n1 {
    margin-top: -1rem !important; }

  .mr-sp-n1,
  .mx-sp-n1 {
    margin-right: -1rem !important; }

  .mb-sp-n1,
  .my-sp-n1 {
    margin-bottom: -1rem !important; }

  .ml-sp-n1,
  .mx-sp-n1 {
    margin-left: -1rem !important; }

  .m-sp-n2 {
    margin: -2rem !important; }

  .mt-sp-n2,
  .my-sp-n2 {
    margin-top: -2rem !important; }

  .mr-sp-n2,
  .mx-sp-n2 {
    margin-right: -2rem !important; }

  .mb-sp-n2,
  .my-sp-n2 {
    margin-bottom: -2rem !important; }

  .ml-sp-n2,
  .mx-sp-n2 {
    margin-left: -2rem !important; }

  .m-sp-n3 {
    margin: -3rem !important; }

  .mt-sp-n3,
  .my-sp-n3 {
    margin-top: -3rem !important; }

  .mr-sp-n3,
  .mx-sp-n3 {
    margin-right: -3rem !important; }

  .mb-sp-n3,
  .my-sp-n3 {
    margin-bottom: -3rem !important; }

  .ml-sp-n3,
  .mx-sp-n3 {
    margin-left: -3rem !important; }

  .m-sp-n4 {
    margin: -4rem !important; }

  .mt-sp-n4,
  .my-sp-n4 {
    margin-top: -4rem !important; }

  .mr-sp-n4,
  .mx-sp-n4 {
    margin-right: -4rem !important; }

  .mb-sp-n4,
  .my-sp-n4 {
    margin-bottom: -4rem !important; }

  .ml-sp-n4,
  .mx-sp-n4 {
    margin-left: -4rem !important; }

  .m-sp-n5 {
    margin: -5rem !important; }

  .mt-sp-n5,
  .my-sp-n5 {
    margin-top: -5rem !important; }

  .mr-sp-n5,
  .mx-sp-n5 {
    margin-right: -5rem !important; }

  .mb-sp-n5,
  .my-sp-n5 {
    margin-bottom: -5rem !important; }

  .ml-sp-n5,
  .mx-sp-n5 {
    margin-left: -5rem !important; }

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

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

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

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

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

  .offset-sp-0 {
    margin-left: 0; }

  .offset-sp-1 {
    margin-left: 8.3333333333%; }

  .offset-sp-2 {
    margin-left: 16.6666666667%; }

  .offset-sp-3 {
    margin-left: 25%; }

  .offset-sp-4 {
    margin-left: 33.3333333333%; }

  .offset-sp-5 {
    margin-left: 41.6666666667%; }

  .offset-sp-6 {
    margin-left: 50%; }

  .offset-sp-7 {
    margin-left: 58.3333333333%; }

  .offset-sp-8 {
    margin-left: 66.6666666667%; }

  .offset-sp-9 {
    margin-left: 75%; }

  .offset-sp-10 {
    margin-left: 83.3333333333%; }

  .offset-sp-11 {
    margin-left: 91.6666666667%; } }
/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

/* 
    オリジナルフレームワーク
    by Yuki Ashikaga $ Yohbunsha
    date: 2021.10
*/
header {
  z-index: 99997; }
  @media print, screen and (min-width: 1025px) {
    header {
      /*　画面サイズ $tabWidth からはここを読み込む　*/
      background: rgba(28, 28, 28, 0.7);
      position: relative;
      position: fixed;
      top: 0; }
      header .navToggle {
        display: none; }
      header .logo {
        height: 50px;
        margin-left: 30px; }
      header .gnav {
        display: flex;
        margin-top: 25px;
        margin-right: 50px; }
        header .gnav li {
          padding: 0px 24px; }
          header .gnav li a {
            color: #ffffff; }
            header .gnav li a:hover {
              opacity: 0.7; }
        header .gnav .contact_p {
          padding: 8px 30px;
          border: 1px solid #ffffff;
          transform: translateY(-10px);
          min-width: 160px; }
          header .gnav .contact_p:hover {
            opacity: 0.7; }
      header .headernav_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: -webkit-sticky;
        /* Safari */
        position: sticky;
        height: 110px;
        width: 100vw;
        margin: 0 auto;
        border-radius: 20px;
        z-index: 99998; } }
  @media only screen and (max-width: 1024px) {
    header {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      background: rgba(28, 28, 28, 0.7);
      position: relative;
      top: 0; }
      header .logo {
        max-height: 40px;
        min-height: 30px;
        margin-left: 10px; }
      header .gnav {
        display: none; }
      header .headernav_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: -webkit-sticky;
        /* Safari */
        position: sticky;
        height: 70px;
        margin: 0 auto; }
      header #gnav.active {
        left: 0; }
      header #gnav {
        position: fixed;
        display: flex;
        height: 100%;
        width: 100%;
        top: 0;
        margin: auto;
        left: 100%;
        z-index: 99998;
        background-color: #313131;
        flex-direction: column;
        transition: all 0.1s ease;
        padding: 5vw; }
        header #gnav > li {
          border-bottom: 1px solid #ffffff;
          border-left: none;
          position: relative;
          line-height: 1.5; }
          header #gnav > li a {
            display: block;
            color: #ffffff;
            padding: 30px; }
          header #gnav > li ul {
            display: none; }
            header #gnav > li ul li {
              line-height: 2; }
              header #gnav > li ul li a {
                padding-left: 15px; }
            header #gnav > li ul li:last-child {
              margin-bottom: 20px; }
          header #gnav > li .open {
            display: block; }
          header #gnav > li .gnv_subttl {
            font-size: 1.3rem; } }

@media only screen and (max-width: 1024px) {
  #navToggle {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/
    border: 1px solid #ffffff;
    background-color: #313131;
    display: block;
    position: fixed;
    right: 15px;
    width: 50px;
    top: 10px;
    height: 50px;
    cursor: pointer;
    z-index: 999998;
    text-align: center;
    padding: 20px;
    margin: auto; }
    #navToggle span {
      display: block;
      position: absolute;
      width: 30px;
      border-bottom: solid 2px #fff;
      -webkit-transition: 0.2s ease-in-out;
      -moz-transition: 0.2s ease-in-out;
      transition: 0.2s ease-in-out;
      right: 9px; }
    #navToggle span:nth-child(1) {
      top: 13px; }
    #navToggle span:nth-child(2) {
      top: 23px; }
    #navToggle span:nth-child(3) {
      top: 33px; } }

@media only screen and (max-width: 1024px) {
  #navToggle.active {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/
    background-color: #313131; }
    #navToggle.active span {
      border-bottom: solid 2px #fff; }
    #navToggle.active span:nth-child(1) {
      top: 24px;
      transform: rotate(-45deg); }
    #navToggle.active span:nth-child(2) {
      width: 0;
      left: -10px; }
    #navToggle.active span:nth-child(3) {
      top: 24px;
      transform: rotate(45deg); } }

footer {
  height: auto;
  background-color: #313131;
  padding: 100px 50px; }
  @media only screen and (max-width: 768px) {
    footer {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: 50px 50px; } }
  footer .footer_companyname {
    font-size: 3.2rem;
    font-family: kozuka-mincho-pr6n, serif;
    color: #003288; }
  footer .footer_inner {
    width: 85vw;
    margin: 50px auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 1024px) {
      footer .footer_inner {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        display: block;
        width: auto;
        margin: auto;
        margin-bottom: 25px; } }
  footer .footer_nav #fnav {
    display: flex;
    line-height: 4.0;
    justify-content: flex-end; }
    @media only screen and (max-width: 1024px) {
      footer .footer_nav #fnav {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        display: block;
        margin-top: 30px;
        line-height: 3.5; } }
    footer .footer_nav #fnav li {
      margin-right: 30px; }
      footer .footer_nav #fnav li a {
        color: #ffffff; }
        footer .footer_nav #fnav li a:hover {
          opacity: 0.7; }
        @media only screen and (max-width: 1024px) {
          footer .footer_nav #fnav li a {
            /*　画面サイズ $tabWitdh まではここを読み込む　*/
            margin-top: 30px; } }
  footer .contact_p {
    line-height: 1.8;
    padding: 8px 30px;
    border: 1px solid #ffffff; }
    footer .contact_p:hover {
      opacity: 0.7; }
    @media only screen and (max-width: 1024px) {
      footer .contact_p {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        width: 150px;
        margin-top: 10px; } }
  footer .add {
    color: #ffffff; }

.copy_footer {
  text-align: center;
  color: #ffffff; }

#pagetop {
  position: fixed;
  display: block;
  bottom: -80px;
  right: 20px;
  z-index: 9999;
  width: 60px;
  height: 60px;
  background-color: #ccc;
  border-radius: 30px;
  transition: all 0.6s ease;
  cursor: pointer; }
  #pagetop span {
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #ffffff #ffffff transparent transparent;
    transform: rotate(-45deg);
    position: absolute;
    top: 27px;
    right: 0;
    left: 0;
    margin: auto;
    outline: none;
    transition: all 0.3s ease; }

#pagetop.disp {
  bottom: 20px; }

#pagetop:hover {
  opacity: 0.8;
  transition: all 0.1s ease; }

/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  right: 50px;
  bottom: 50px;
  /*全体の高さ*/
  height: 50px; }

/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 1.2rem;
  letter-spacing: 0.05em; }

/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 20px;
  /*線の形状*/
  width: 1px;
  height: 38px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0; }

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 10px;
    opacity: 0; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 60px;
    opacity: 0; } }
#loading {
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1000000;
  position: fixed; }

.onload {
  animation-name: loading;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

@keyframes loading {
  0% {
    opacity: 1;
    z-index: 999999; }
  99% {
    opacity: 0;
    display: none;
    z-index: -1; }
  100% {
    opacity: 0;
    display: none;
    z-index: -1; } }
.loader {
  color: #003288;
  font-size: 0.8rem;
  margin: auto;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  text-indent: -9999em;
  -webkit-animation: load4 1.3s infinite linear;
  animation: load4 1.3s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

@-webkit-keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; } }
@keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; } }
/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

/* 共通 */
html {
  font-size: 62.5%; }
  @media only screen and (max-width: 768px) {
    html {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: clamp(6.25px, 2.67vw, 10px); } }

body {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #000000;
  font-family: 'Noto Sans JP',"noto sans jp", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
  font-weight: normal;
  overflow-x: hidden;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }
  @media only screen and (max-width: 768px) {
    body {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 14px; } }

pre {
  font-family: "noto sans jp", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic", sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

a {
  color: #003288;
  text-decoration: none; }
  a:link {
    color: #003288; }
  a:visited {
    color: #003288; }
  a:hover {
    color: #313131; }
  a:active {
    color: #313131; }

.center {
  text-align: center !important; }

.justify {
  text-align: justify !important; }

.left {
  text-align: left !important; }

.right {
  text-align: right !important; }

@media only screen and (max-width: 1024px) {
  .br_pc {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/
    display: none; } }
@media only screen and (max-width: 768px) {
  .br_pc {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    display: none; } }

@media print, screen and (min-width: 1025px) {
  .br_tab {
    /*　画面サイズ $tabWidth からはここを読み込む　*/
    display: none; } }
@media only screen and (max-width: 768px) {
  .br_tab {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    display: none; } }

.br_sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .br_sp {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: initial; } }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

/* アニメーション */
.fadeIn {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  visibility: visible !important; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fadeInLeft {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
  visibility: visible !important; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
    -ms-transform: translateX(40px);
    transform: translateX(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInRight {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
  visibility: visible !important; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    transform: translateX(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInTop {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInTop;
  animation-name: fadeInTop;
  visibility: visible !important; }

@-webkit-keyframes fadeInTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
.fadeInBottom {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 3.25s;
  -ms-animation-duration: 3.25s;
  animation-duration: 3.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInBottom;
  animation-name: fadeInBottom;
  visibility: visible !important; }

@-webkit-keyframes fadeInBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
.animationBar {
  display: inline-block;
  position: relative;
  overflow: hidden; }

.animationBar span {
  animation: 0s fadeIn 0.5s ease forwards;
  opacity: 0;
  visibility: visible !important; }

.animationBar:before {
  content: "";
  width: 0%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: black;
  visibility: visible !important;
  animation: 1.25s animationBar 0s cubic-bezier(0.83, 0, 0.17, 1) forwards; }

@keyframes animationBar {
  0% {
    width: 0%; }
  40% {
    width: 100%; }
  60% {
    width: 100%; }
  100% {
    width: 0%; } }
.animationBar-wh {
  display: inline-block;
  position: relative;
  overflow: hidden; }

.animationBar-wh span {
  animation: 0s fadeIn 0.5s ease forwards;
  opacity: 0;
  visibility: visible !important; }

.animationBar-wh:before {
  content: "";
  width: 0%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: white;
  visibility: visible !important;
  animation: 1.25s animationBar-wh 0s cubic-bezier(0.83, 0, 0.17, 1) forwards; }

@keyframes animationBar-wh {
  0% {
    width: 0%; }
  40% {
    width: 100%; }
  60% {
    width: 100%; }
  100% {
    width: 0%; } }
.fadeInScale {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 4s;
  -ms-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-name: fadeInScale;
  animation-name: fadeInScale;
  visibility: visible !important;
  z-index: 1; }

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  100% {
    opacity: 1;
    transform: scale(1); } }
.animation-grad-left {
  overflow: hidden;
  position: relative;
  visibility: visible !important; }

.animation-grad-left:before {
  background: #000;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  opacity: 0.9; }

.fadeInGradLeft:before {
  animation: fadeInGradLeft 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards; }

@keyframes fadeInGradLeft {
  100% {
    transform: translateX(100%); } }
.animation-grad-right {
  overflow: hidden;
  position: relative;
  visibility: visible !important; }

.animation-grad-right:before {
  background: #000;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  opacity: 0.9; }

.fadeInGradRight:before {
  animation: fadeInGradRight 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards; }

@keyframes fadeInGradRight {
  100% {
    transform: translateX(-100%); } }
.fadeInSlant {
  animation: fadeInSlant 2s ease forwards;
  animation-delay: 0.3s;
  transform-origin: 50% 0% 0px;
  transform: matrix3d(0.996195, 0, 0.0871557, -0.000217889, 0.00759612, 0.996195, -0.0868241, 0.00021706, -0.0868241, 0.0871557, 0.992404, -0.00248101, 0, 90, 0, 1);
  opacity: 0;
  visibility: visible !important; }

@-webkit-keyframes fadeInSlant {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } }
@keyframes fadeInSlant {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } }
/***************************************************
 * Generated by SVG Artista on 1/31/2022, 11:24:58 AM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
.hero_image svg {
  visibility: hidden; }

.hero_image.loaded svg {
  visibility: visible; }
@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 157.36000061035156px;
    stroke-dasharray: 157.36000061035156px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 157.36000061035156px; } }
@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 157.36000061035156px;
    stroke-dasharray: 157.36000061035156px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 157.36000061035156px; } }
.hero_image.loaded .svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.1s ease 0.1s both;
  animation: animate-svg-stroke-1 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.1s ease 0.1s both; }
@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 242.43661499023438px;
    stroke-dasharray: 242.43661499023438px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.43661499023438px; } }
@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 242.43661499023438px;
    stroke-dasharray: 242.43661499023438px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.43661499023438px; } }
.hero_image.loaded .svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-2 0.1s ease 0.14s both;
  animation: animate-svg-stroke-2 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-2 0.1s ease 0.14s both; }
@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 286.9186706542969px;
    stroke-dasharray: 286.9186706542969px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 286.9186706542969px; } }
@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 286.9186706542969px;
    stroke-dasharray: 286.9186706542969px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 286.9186706542969px; } }
.hero_image.loaded .svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-3 0.1s ease 0.18s both;
  animation: animate-svg-stroke-3 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-3 0.1s ease 0.18s both; }
@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 175.74000549316406px;
    stroke-dasharray: 175.74000549316406px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.74000549316406px; } }
@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 175.74000549316406px;
    stroke-dasharray: 175.74000549316406px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.74000549316406px; } }
.hero_image.loaded .svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-4 0.1s ease 0.22s both;
  animation: animate-svg-stroke-4 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-4 0.1s ease 0.22s both; }
@-webkit-keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 175.6800079345703px;
    stroke-dasharray: 175.6800079345703px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.6800079345703px; } }
@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 175.6800079345703px;
    stroke-dasharray: 175.6800079345703px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.6800079345703px; } }
.hero_image.loaded .svg-elem-5 {
  -webkit-animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-5 0.1s ease 0.26s both;
  animation: animate-svg-stroke-5 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-5 0.1s ease 0.26s both; }
@-webkit-keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 234.04908752441406px;
    stroke-dasharray: 234.04908752441406px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 234.04908752441406px; } }
@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 234.04908752441406px;
    stroke-dasharray: 234.04908752441406px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 234.04908752441406px; } }
.hero_image.loaded .svg-elem-6 {
  -webkit-animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-6 0.1s ease 0.3s both;
  animation: animate-svg-stroke-6 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-6 0.1s ease 0.3s both; }
@-webkit-keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 158.79449462890625px;
    stroke-dasharray: 158.79449462890625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 158.79449462890625px; } }
@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 158.79449462890625px;
    stroke-dasharray: 158.79449462890625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 158.79449462890625px; } }
.hero_image.loaded .svg-elem-7 {
  -webkit-animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-7 0.1s ease 0.34s both;
  animation: animate-svg-stroke-7 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-7 0.1s ease 0.34s both; }
@-webkit-keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 253.2225341796875px;
    stroke-dasharray: 253.2225341796875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 253.2225341796875px; } }
@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 253.2225341796875px;
    stroke-dasharray: 253.2225341796875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 253.2225341796875px; } }
.hero_image.loaded .svg-elem-8 {
  -webkit-animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-8 0.1s ease 0.38s both;
  animation: animate-svg-stroke-8 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-8 0.1s ease 0.38s both; }
@-webkit-keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 233.8793182373047px;
    stroke-dasharray: 233.8793182373047px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 233.8793182373047px; } }
@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 233.8793182373047px;
    stroke-dasharray: 233.8793182373047px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 233.8793182373047px; } }
.hero_image.loaded .svg-elem-9 {
  -webkit-animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-9 0.1s ease 0.42s both;
  animation: animate-svg-stroke-9 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-9 0.1s ease 0.42s both; }
@-webkit-keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 175.6800079345703px;
    stroke-dasharray: 175.6800079345703px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.6800079345703px; } }
@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 175.6800079345703px;
    stroke-dasharray: 175.6800079345703px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.6800079345703px; } }
.hero_image.loaded .svg-elem-10 {
  -webkit-animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-10 0.1s ease 0.46s both;
  animation: animate-svg-stroke-10 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-10 0.1s ease 0.46s both; }
@-webkit-keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 242.45701599121094px;
    stroke-dasharray: 242.45701599121094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.45701599121094px; } }
@keyframes animate-svg-stroke-11 {
  0% {
    stroke-dashoffset: 242.45701599121094px;
    stroke-dasharray: 242.45701599121094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.45701599121094px; } }
.hero_image.loaded .svg-elem-11 {
  -webkit-animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-11 0.1s ease 0.5s both;
  animation: animate-svg-stroke-11 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-11 0.1s ease 0.5s both; }
@-webkit-keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 175.70001220703125px;
    stroke-dasharray: 175.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.70001220703125px; } }
@keyframes animate-svg-stroke-12 {
  0% {
    stroke-dashoffset: 175.70001220703125px;
    stroke-dasharray: 175.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.70001220703125px; } }
.hero_image.loaded .svg-elem-12 {
  -webkit-animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-12 0.1s ease 0.54s both;
  animation: animate-svg-stroke-12 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-12 0.1s ease 0.54s both; }
@-webkit-keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 236.37615966796875px;
    stroke-dasharray: 236.37615966796875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.37615966796875px; } }
@keyframes animate-svg-stroke-13 {
  0% {
    stroke-dashoffset: 236.37615966796875px;
    stroke-dasharray: 236.37615966796875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.37615966796875px; } }
.hero_image.loaded .svg-elem-13 {
  -webkit-animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-13 0.1s ease 0.58s both;
  animation: animate-svg-stroke-13 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-13 0.1s ease 0.58s both; }
@-webkit-keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 264.1424865722656px;
    stroke-dasharray: 264.1424865722656px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 264.1424865722656px; } }
@keyframes animate-svg-stroke-14 {
  0% {
    stroke-dashoffset: 264.1424865722656px;
    stroke-dasharray: 264.1424865722656px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 264.1424865722656px; } }
.hero_image.loaded .svg-elem-14 {
  -webkit-animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-14 0.1s ease 0.62s both;
  animation: animate-svg-stroke-14 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-14 0.1s ease 0.62s both; }
@-webkit-keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 462.2718505859375px;
    stroke-dasharray: 462.2718505859375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 462.2718505859375px; } }
@keyframes animate-svg-stroke-15 {
  0% {
    stroke-dashoffset: 462.2718505859375px;
    stroke-dasharray: 462.2718505859375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 462.2718505859375px; } }
.hero_image.loaded .svg-elem-15 {
  -webkit-animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-15 0.1s ease 0.66s both;
  animation: animate-svg-stroke-15 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-15 0.1s ease 0.66s both; }
@-webkit-keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 236.16615295410156px;
    stroke-dasharray: 236.16615295410156px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.16615295410156px; } }
@keyframes animate-svg-stroke-16 {
  0% {
    stroke-dashoffset: 236.16615295410156px;
    stroke-dasharray: 236.16615295410156px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.16615295410156px; } }
.hero_image.loaded .svg-elem-16 {
  -webkit-animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-16 0.1s ease 0.7s both;
  animation: animate-svg-stroke-16 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-16 0.1s ease 0.7s both; }
@-webkit-keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 158.85031127929688px;
    stroke-dasharray: 158.85031127929688px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 158.85031127929688px; } }
@keyframes animate-svg-stroke-17 {
  0% {
    stroke-dashoffset: 158.85031127929688px;
    stroke-dasharray: 158.85031127929688px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 158.85031127929688px; } }
.hero_image.loaded .svg-elem-17 {
  -webkit-animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-17 0.1s ease 0.74s both;
  animation: animate-svg-stroke-17 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-17 0.1s ease 0.74s both; }
@-webkit-keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 262.125244140625px;
    stroke-dasharray: 262.125244140625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 262.125244140625px; } }
@keyframes animate-svg-stroke-18 {
  0% {
    stroke-dashoffset: 262.125244140625px;
    stroke-dasharray: 262.125244140625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 262.125244140625px; } }
.hero_image.loaded .svg-elem-18 {
  -webkit-animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-18 0.1s ease 0.78s both;
  animation: animate-svg-stroke-18 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-18 0.1s ease 0.78s both; }
@-webkit-keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 242.41258239746094px;
    stroke-dasharray: 242.41258239746094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.41258239746094px; } }
@keyframes animate-svg-stroke-19 {
  0% {
    stroke-dashoffset: 242.41258239746094px;
    stroke-dasharray: 242.41258239746094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 242.41258239746094px; } }
.hero_image.loaded .svg-elem-19 {
  -webkit-animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-19 0.1s ease 0.82s both;
  animation: animate-svg-stroke-19 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-19 0.1s ease 0.82s both; }
@-webkit-keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 177.85997009277344px;
    stroke-dasharray: 177.85997009277344px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 177.85997009277344px; } }
@keyframes animate-svg-stroke-20 {
  0% {
    stroke-dashoffset: 177.85997009277344px;
    stroke-dasharray: 177.85997009277344px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 177.85997009277344px; } }
.hero_image.loaded .svg-elem-20 {
  -webkit-animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-20 0.1s ease 0.86s both;
  animation: animate-svg-stroke-20 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-20 0.1s ease 0.86s both; }
@-webkit-keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 167.74783325195312px;
    stroke-dasharray: 167.74783325195312px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 167.74783325195312px; } }
@keyframes animate-svg-stroke-21 {
  0% {
    stroke-dashoffset: 167.74783325195312px;
    stroke-dasharray: 167.74783325195312px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 167.74783325195312px; } }
.hero_image.loaded .svg-elem-21 {
  -webkit-animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-21 0.1s ease 0.9s both;
  animation: animate-svg-stroke-21 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-21 0.1s ease 0.9s both; }
@-webkit-keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 290.46942138671875px;
    stroke-dasharray: 290.46942138671875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 290.46942138671875px; } }
@keyframes animate-svg-stroke-22 {
  0% {
    stroke-dashoffset: 290.46942138671875px;
    stroke-dasharray: 290.46942138671875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 290.46942138671875px; } }
.hero_image.loaded .svg-elem-22 {
  -webkit-animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-22 0.1s ease 0.94s both;
  animation: animate-svg-stroke-22 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-22 0.1s ease 0.94s both; }
@-webkit-keyframes animate-svg-stroke-23 {
  0% {
    stroke-dashoffset: 44.84004211425781px;
    stroke-dasharray: 44.84004211425781px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 44.84004211425781px; } }
@keyframes animate-svg-stroke-23 {
  0% {
    stroke-dashoffset: 44.84004211425781px;
    stroke-dasharray: 44.84004211425781px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 44.84004211425781px; } }
.hero_image.loaded .svg-elem-23 {
  -webkit-animation: animate-svg-stroke-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-23 0.1s ease 0.98s both;
  animation: animate-svg-stroke-23 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-23 0.1s ease 0.98s both; }
@-webkit-keyframes animate-svg-stroke-24 {
  0% {
    stroke-dashoffset: 165.27999877929688px;
    stroke-dasharray: 165.27999877929688px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 165.27999877929688px; } }
@keyframes animate-svg-stroke-24 {
  0% {
    stroke-dashoffset: 165.27999877929688px;
    stroke-dasharray: 165.27999877929688px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 165.27999877929688px; } }
@-webkit-keyframes animate-svg-fill-24 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-24 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-24 {
  -webkit-animation: animate-svg-stroke-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-24 0.1s ease 1.02s both;
  animation: animate-svg-stroke-24 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-24 0.1s ease 1.02s both; }
@-webkit-keyframes animate-svg-stroke-25 {
  0% {
    stroke-dashoffset: 250.38922119140625px;
    stroke-dasharray: 250.38922119140625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.38922119140625px; } }
@keyframes animate-svg-stroke-25 {
  0% {
    stroke-dashoffset: 250.38922119140625px;
    stroke-dasharray: 250.38922119140625px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.38922119140625px; } }
@-webkit-keyframes animate-svg-fill-25 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-25 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-25 {
  -webkit-animation: animate-svg-stroke-25 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-25 0.1s ease 1.06s both;
  animation: animate-svg-stroke-25 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-25 0.1s ease 1.06s both; }
@-webkit-keyframes animate-svg-stroke-26 {
  0% {
    stroke-dashoffset: 293.5876770019531px;
    stroke-dasharray: 293.5876770019531px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 293.5876770019531px; } }
@keyframes animate-svg-stroke-26 {
  0% {
    stroke-dashoffset: 293.5876770019531px;
    stroke-dasharray: 293.5876770019531px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 293.5876770019531px; } }
@-webkit-keyframes animate-svg-fill-26 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-26 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-26 {
  -webkit-animation: animate-svg-stroke-26 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-26 0.1s ease 1.1s both;
  animation: animate-svg-stroke-26 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-26 0.1s ease 1.1s both; }
@-webkit-keyframes animate-svg-stroke-27 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@keyframes animate-svg-stroke-27 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@-webkit-keyframes animate-svg-fill-27 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-27 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-27 {
  -webkit-animation: animate-svg-stroke-27 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-27 0.1s ease 1.14s both;
  animation: animate-svg-stroke-27 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-27 0.1s ease 1.14s both; }
@-webkit-keyframes animate-svg-stroke-28 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@keyframes animate-svg-stroke-28 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@-webkit-keyframes animate-svg-fill-28 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-28 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-28 {
  -webkit-animation: animate-svg-stroke-28 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-28 0.1s ease 1.18s both;
  animation: animate-svg-stroke-28 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-28 0.1s ease 1.18s both; }
@-webkit-keyframes animate-svg-stroke-29 {
  0% {
    stroke-dashoffset: 234.15908813476562px;
    stroke-dasharray: 234.15908813476562px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 234.15908813476562px; } }
@keyframes animate-svg-stroke-29 {
  0% {
    stroke-dashoffset: 234.15908813476562px;
    stroke-dasharray: 234.15908813476562px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 234.15908813476562px; } }
@-webkit-keyframes animate-svg-fill-29 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-29 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-29 {
  -webkit-animation: animate-svg-stroke-29 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-29 0.1s ease 1.22s both;
  animation: animate-svg-stroke-29 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-29 0.1s ease 1.22s both; }
@-webkit-keyframes animate-svg-stroke-30 {
  0% {
    stroke-dashoffset: 168.67520141601562px;
    stroke-dasharray: 168.67520141601562px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 168.67520141601562px; } }
@keyframes animate-svg-stroke-30 {
  0% {
    stroke-dashoffset: 168.67520141601562px;
    stroke-dasharray: 168.67520141601562px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 168.67520141601562px; } }
@-webkit-keyframes animate-svg-fill-30 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-30 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-30 {
  -webkit-animation: animate-svg-stroke-30 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-30 0.1s ease 1.26s both;
  animation: animate-svg-stroke-30 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-30 0.1s ease 1.26s both; }
@-webkit-keyframes animate-svg-stroke-31 {
  0% {
    stroke-dashoffset: 253.05116271972656px;
    stroke-dasharray: 253.05116271972656px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 253.05116271972656px; } }
@keyframes animate-svg-stroke-31 {
  0% {
    stroke-dashoffset: 253.05116271972656px;
    stroke-dasharray: 253.05116271972656px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 253.05116271972656px; } }
@-webkit-keyframes animate-svg-fill-31 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-31 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-31 {
  -webkit-animation: animate-svg-stroke-31 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-31 0.1s ease 1.3s both;
  animation: animate-svg-stroke-31 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-31 0.1s ease 1.3s both; }
@-webkit-keyframes animate-svg-stroke-32 {
  0% {
    stroke-dashoffset: 241.85980224609375px;
    stroke-dasharray: 241.85980224609375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 241.85980224609375px; } }
@keyframes animate-svg-stroke-32 {
  0% {
    stroke-dashoffset: 241.85980224609375px;
    stroke-dasharray: 241.85980224609375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 241.85980224609375px; } }
@-webkit-keyframes animate-svg-fill-32 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-32 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-32 {
  -webkit-animation: animate-svg-stroke-32 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-32 0.1s ease 1.34s both;
  animation: animate-svg-stroke-32 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-32 0.1s ease 1.34s both; }
@-webkit-keyframes animate-svg-stroke-33 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@keyframes animate-svg-stroke-33 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@-webkit-keyframes animate-svg-fill-33 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-33 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-33 {
  -webkit-animation: animate-svg-stroke-33 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-33 0.1s ease 1.38s both;
  animation: animate-svg-stroke-33 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-33 0.1s ease 1.38s both; }
@-webkit-keyframes animate-svg-stroke-34 {
  0% {
    stroke-dashoffset: 250.39544677734375px;
    stroke-dasharray: 250.39544677734375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.39544677734375px; } }
@keyframes animate-svg-stroke-34 {
  0% {
    stroke-dashoffset: 250.39544677734375px;
    stroke-dasharray: 250.39544677734375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.39544677734375px; } }
@-webkit-keyframes animate-svg-fill-34 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-34 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-34 {
  -webkit-animation: animate-svg-stroke-34 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-34 0.1s ease 1.42s both;
  animation: animate-svg-stroke-34 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-34 0.1s ease 1.42s both; }
@-webkit-keyframes animate-svg-stroke-35 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@keyframes animate-svg-stroke-35 {
  0% {
    stroke-dashoffset: 191.70001220703125px;
    stroke-dasharray: 191.70001220703125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 191.70001220703125px; } }
@-webkit-keyframes animate-svg-fill-35 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-35 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-35 {
  -webkit-animation: animate-svg-stroke-35 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-35 0.1s ease 1.46s both;
  animation: animate-svg-stroke-35 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-35 0.1s ease 1.46s both; }
@-webkit-keyframes animate-svg-stroke-36 {
  0% {
    stroke-dashoffset: 236.33938598632812px;
    stroke-dasharray: 236.33938598632812px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.33938598632812px; } }
@keyframes animate-svg-stroke-36 {
  0% {
    stroke-dashoffset: 236.33938598632812px;
    stroke-dasharray: 236.33938598632812px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.33938598632812px; } }
@-webkit-keyframes animate-svg-fill-36 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-36 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-36 {
  -webkit-animation: animate-svg-stroke-36 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-36 0.1s ease 1.5s both;
  animation: animate-svg-stroke-36 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-36 0.1s ease 1.5s both; }
@-webkit-keyframes animate-svg-stroke-37 {
  0% {
    stroke-dashoffset: 273.83966064453125px;
    stroke-dasharray: 273.83966064453125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 273.83966064453125px; } }
@keyframes animate-svg-stroke-37 {
  0% {
    stroke-dashoffset: 273.83966064453125px;
    stroke-dasharray: 273.83966064453125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 273.83966064453125px; } }
@-webkit-keyframes animate-svg-fill-37 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-37 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-37 {
  -webkit-animation: animate-svg-stroke-37 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-37 0.1s ease 1.54s both;
  animation: animate-svg-stroke-37 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-37 0.1s ease 1.54s both; }
@-webkit-keyframes animate-svg-stroke-38 {
  0% {
    stroke-dashoffset: 475.1709289550781px;
    stroke-dasharray: 475.1709289550781px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 475.1709289550781px; } }
@keyframes animate-svg-stroke-38 {
  0% {
    stroke-dashoffset: 475.1709289550781px;
    stroke-dasharray: 475.1709289550781px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 475.1709289550781px; } }
@-webkit-keyframes animate-svg-fill-38 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-38 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-38 {
  -webkit-animation: animate-svg-stroke-38 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-38 0.1s ease 1.58s both;
  animation: animate-svg-stroke-38 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-38 0.1s ease 1.58s both; }
@-webkit-keyframes animate-svg-stroke-39 {
  0% {
    stroke-dashoffset: 236.25149536132812px;
    stroke-dasharray: 236.25149536132812px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.25149536132812px; } }
@keyframes animate-svg-stroke-39 {
  0% {
    stroke-dashoffset: 236.25149536132812px;
    stroke-dasharray: 236.25149536132812px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 236.25149536132812px; } }
@-webkit-keyframes animate-svg-fill-39 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-39 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-39 {
  -webkit-animation: animate-svg-stroke-39 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-39 0.1s ease 1.62s both;
  animation: animate-svg-stroke-39 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-39 0.1s ease 1.62s both; }
@-webkit-keyframes animate-svg-stroke-40 {
  0% {
    stroke-dashoffset: 168.6717987060547px;
    stroke-dasharray: 168.6717987060547px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 168.6717987060547px; } }
@keyframes animate-svg-stroke-40 {
  0% {
    stroke-dashoffset: 168.6717987060547px;
    stroke-dasharray: 168.6717987060547px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 168.6717987060547px; } }
@-webkit-keyframes animate-svg-fill-40 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-40 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-40 {
  -webkit-animation: animate-svg-stroke-40 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-40 0.1s ease 1.66s both;
  animation: animate-svg-stroke-40 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-40 0.1s ease 1.66s both; }
@-webkit-keyframes animate-svg-stroke-41 {
  0% {
    stroke-dashoffset: 273.9353942871094px;
    stroke-dasharray: 273.9353942871094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 273.9353942871094px; } }
@keyframes animate-svg-stroke-41 {
  0% {
    stroke-dashoffset: 273.9353942871094px;
    stroke-dasharray: 273.9353942871094px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 273.9353942871094px; } }
@-webkit-keyframes animate-svg-fill-41 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-41 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-41 {
  -webkit-animation: animate-svg-stroke-41 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-41 0.1s ease 1.7s both;
  animation: animate-svg-stroke-41 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-41 0.1s ease 1.7s both; }
@-webkit-keyframes animate-svg-stroke-42 {
  0% {
    stroke-dashoffset: 250.43255615234375px;
    stroke-dasharray: 250.43255615234375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.43255615234375px; } }
@keyframes animate-svg-stroke-42 {
  0% {
    stroke-dashoffset: 250.43255615234375px;
    stroke-dasharray: 250.43255615234375px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 250.43255615234375px; } }
@-webkit-keyframes animate-svg-fill-42 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-42 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-42 {
  -webkit-animation: animate-svg-stroke-42 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-42 0.1s ease 1.74s both;
  animation: animate-svg-stroke-42 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-42 0.1s ease 1.74s both; }
@-webkit-keyframes animate-svg-stroke-43 {
  0% {
    stroke-dashoffset: 185.77996826171875px;
    stroke-dasharray: 185.77996826171875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 185.77996826171875px; } }
@keyframes animate-svg-stroke-43 {
  0% {
    stroke-dashoffset: 185.77996826171875px;
    stroke-dasharray: 185.77996826171875px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 185.77996826171875px; } }
@-webkit-keyframes animate-svg-fill-43 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-43 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-43 {
  -webkit-animation: animate-svg-stroke-43 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-43 0.1s ease 1.78s both;
  animation: animate-svg-stroke-43 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-43 0.1s ease 1.78s both; }
@-webkit-keyframes animate-svg-stroke-44 {
  0% {
    stroke-dashoffset: 175.67649841308594px;
    stroke-dasharray: 175.67649841308594px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.67649841308594px; } }
@keyframes animate-svg-stroke-44 {
  0% {
    stroke-dashoffset: 175.67649841308594px;
    stroke-dasharray: 175.67649841308594px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 175.67649841308594px; } }
@-webkit-keyframes animate-svg-fill-44 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-44 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-44 {
  -webkit-animation: animate-svg-stroke-44 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-44 0.1s ease 1.82s both;
  animation: animate-svg-stroke-44 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-44 0.1s ease 1.82s both; }
@-webkit-keyframes animate-svg-stroke-45 {
  0% {
    stroke-dashoffset: 286.63330078125px;
    stroke-dasharray: 286.63330078125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 286.63330078125px; } }
@keyframes animate-svg-stroke-45 {
  0% {
    stroke-dashoffset: 286.63330078125px;
    stroke-dasharray: 286.63330078125px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 286.63330078125px; } }
@-webkit-keyframes animate-svg-fill-45 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-45 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-45 {
  -webkit-animation: animate-svg-stroke-45 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-45 0.1s ease 1.86s both;
  animation: animate-svg-stroke-45 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-45 0.1s ease 1.86s both; }
@-webkit-keyframes animate-svg-stroke-46 {
  0% {
    stroke-dashoffset: 52.76004409790039px;
    stroke-dasharray: 52.76004409790039px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 52.76004409790039px; } }
@keyframes animate-svg-stroke-46 {
  0% {
    stroke-dashoffset: 52.76004409790039px;
    stroke-dasharray: 52.76004409790039px; }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 52.76004409790039px; } }
@-webkit-keyframes animate-svg-fill-46 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
@keyframes animate-svg-fill-46 {
  0% {
    fill: transparent; }
  100% {
    fill: #fabe00; } }
.hero_image.loaded .svg-elem-46 {
  -webkit-animation: animate-svg-stroke-46 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-46 0.1s ease 1.9s both;
  animation: animate-svg-stroke-46 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-46 0.1s ease 1.9s both; }

@media print, screen and (min-width: 1025px) {
  /*　画面サイズ $tabWidth からはここを読み込む　*/
  #stalker {
    pointer-events: none;
    position: fixed;
    top: -5px;
    left: -5px;
    width: 10px;
    height: 10px;
    background: #FABE00;
    border-radius: 50%;
    transition: transform 0.2s, top, 0.2s, left 0.2s, width .2s, height .2s, background-color .2s;
    transition-timing-function: ease-out;
    z-index: 999999; }
    #stalker.hov_ {
      top: -30px;
      left: -30px;
      width: 60px;
      height: 60px;
      transition: .25s;
      background-color: rgba(250, 190, 28, 0.7); } }
/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

#page-home .hero_image {
  height: 100vh;
  width: 100%;
  background-image: url("../img/home/hero.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right 0%  top 75%;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 18vh;
  z-index: -1; }
  @media only screen and (max-width: 1024px) {
    #page-home .hero_image {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 8vh;
      margin-top: -70px; } }
  @media only screen and (max-width: 768px) {
    #page-home .hero_image {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 100%;
      background-image: url("../img/home/hero.jpg");
      background-size: cover;
      background-position: top center;
      align-items: flex-start; } }
  #page-home .hero_image .hero-enfont {
    position: absolute;
    height: 80%;
    top: 120px;
    left: 50px; }
    @media only screen and (max-width: 1024px) {
      #page-home .hero_image .hero-enfont {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        height: 70%; } }
    @media only screen and (max-width: 768px) {
      #page-home .hero_image .hero-enfont {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        height: 70%;
        left: 20px;
        top: 120px; } }
  #page-home .hero_image .hero-catch {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    color: #ffffff;
    font-size: 3.6rem;
    font-family: kozuka-gothic-pr6n,sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.7rem; }
    #page-home .hero_image .hero-catch span {
      display: inline-block;
      white-space: nowrap; }
    @media only screen and (max-width: 1024px) {
      #page-home .hero_image .hero-catch {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 2.4rem;
        padding: 40px;
        padding-bottom: 0px; } }
    @media only screen and (max-width: 768px) {
      #page-home .hero_image .hero-catch {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 4.5vw;
        margin-left: 90px;
        padding: 30px;
        padding-bottom: 0px;
        letter-spacing: 0.8vw; } }
  #page-home .hero_image .hero_sub_catch {
    font-size: 2.5rem;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    color: #ffffff;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; }
    @media only screen and (max-width: 1024px) {
      #page-home .hero_image .hero_sub_catch {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 1.8rem;
        padding: 0; } }
    @media only screen and (max-width: 768px) {
      #page-home .hero_image .hero_sub_catch {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 16px;
        padding: 0px;
        letter-spacing: 0.8vw;
        text-align: left;
        margin-left: 120px; } }
    #page-home .hero_image .hero_sub_catch:before {
      content: '';
      position: absolute;
      top: 50%;
      display: inline-block;
      width: 60px;
      height: 2px;
      background-color: #ffffff;
      left: -20px; }
      @media only screen and (max-width: 1024px) {
        #page-home .hero_image .hero_sub_catch:before {
          /*　画面サイズ $tabWitdh まではここを読み込む　*/
          width: 8px;
          height: 1px;
          left: -10px; } }
    #page-home .hero_image .hero_sub_catch:after {
      content: '';
      position: absolute;
      top: 50%;
      display: inline-block;
      width: 60px;
      height: 2px;
      background-color: #ffffff;
      right: -20px; }
      @media only screen and (max-width: 1024px) {
        #page-home .hero_image .hero_sub_catch:after {
          /*　画面サイズ $tabWitdh まではここを読み込む　*/
          width: 8px;
          height: 1px;
          right: -10px; } }
#page-home #content {
  background-image: url("../img/home/top-bg.jpg");
  background-size: contain;
  padding-top: 35vw;
  margin-top: -20vw;
  background-repeat: no-repeat;
  z-index: -7; }
  @media only screen and (max-width: 1024px) {
    #page-home #content {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      background-size: 150% auto;
      background-position: 50% -10%; } }
  @media only screen and (max-width: 768px) {
    #page-home #content {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      background-size: 1000px auto;
      background-position: 60% -12%;
      padding-top: 10vw; } }
#page-home .top-info_p {
  line-height: 2.9; }
@media only screen and (max-width: 1024px) {
  #page-home .top-info_leftwrapper {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/ } }
@media only screen and (max-width: 768px) {
  #page-home .top-info_leftwrapper {
    /*　画面サイズ $spWidth まではここを読み込む　*/ } }
#page-home .top-info_ttl {
  font-size: 4.8rem;
  color: #003288;
  font-family: kozuka-mincho-pr6n, serif;
  font-weight: 500;
  padding-bottom: 70px;
  writing-mode: vertical-rl; }
  @media only screen and (max-width: 1024px) {
    #page-home .top-info_ttl {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      padding-bottom: 0px;
      max-height: 300px;
      font-size: 3.6rem;
      margin: 0 auto;
      font-weight: 600; } }
#page-home .top-info_img {
  text-align: center; }
  @media only screen and (max-width: 768px) {
    #page-home .top-info_img {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin: 0 auto 10vw;
      width: 80%; } }
#page-home .top-info_img_shadow {
  margin-top: -180px;
  text-align: center; }
#page-home .blue-ttl_top {
  font-size: 4.8rem;
  color: #003288;
  font-family: kozuka-mincho-pr6n, serif;
  font-weight: 500;
  margin-bottom: 50px;
  line-height: 1.5; }
  @media only screen and (max-width: 1024px) {
    #page-home .blue-ttl_top {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.6rem;
      margin-bottom: 20px;
      font-weight: 600; } }
  @media only screen and (max-width: 768px) {
    #page-home .blue-ttl_top {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 2.4rem;
      margin-bottom: 10px; } }
#page-home .top-equipment {
  padding-bottom: 600px; }
  @media only screen and (max-width: 1024px) {
    #page-home .top-equipment {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      padding-bottom: 80px; } }
  @media only screen and (max-width: 768px) {
    #page-home .top-equipment {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-bottom: 50px; } }
  #page-home .top-equipment .relative {
    position: relative; }
  #page-home .top-equipment .absolute-equipment {
    position: absolute;
    top: 70%;
    right: 0px; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-equipment .absolute-equipment {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        position: static; } }
  #page-home .top-equipment .absolute-technique {
    position: absolute;
    top: 70%;
    right: 0px; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-equipment .absolute-technique {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        position: static; } }
#page-home .top-access {
  display: block;
  width: 100%;
  background-image: url("../img/home/access.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative; }
  @media only screen and (max-width: 1024px) {
    #page-home .top-access {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      height: 80vw; } }
  @media only screen and (max-width: 768px) {
    #page-home .top-access {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      height: 500px; } }
  #page-home .top-access .top-access_center {
    display: flex;
    align-items: center; }
  #page-home .top-access h3 {
    font-family: "impact", "Anton", sans-serif;
    color: #ffffff;
    font-size: 9.6rem;
    line-height: 1.3; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-access h3 {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 4.6rem; } }
    @media only screen and (max-width: 768px) {
      #page-home .top-access h3 {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 3.8rem; } }
  #page-home .top-access .sub_ttl {
    font-size: 3.6rem;
    margin-bottom: 30px;
    font-family: kozuka-mincho-pr6n, serif; }
    @media only screen and (max-width: 768px) {
      #page-home .top-access .sub_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 2.4rem;
        margin-bottom: 10px; } }
  #page-home .top-access p {
    color: #ffffff; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-access p {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        margin-bottom: 20px; } }
  #page-home .top-access .access-pd {
    padding-top: 8%;
    padding-bottom: 8%; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-access .access-pd {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        text-align: center; } }
  #page-home .top-access .access_flexend {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-access .access_flexend {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        justify-content: center; } }
#page-home .top-contact {
  display: block;
  padding-top: 0px;
  width: 100%;
  background-image: url("../img/home/contact.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media only screen and (max-width: 1024px) {
    #page-home .top-contact {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      height: 80vw; } }
  @media only screen and (max-width: 768px) {
    #page-home .top-contact {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      height: 500px; } }
  #page-home .top-contact h3 {
    font-family: "impact", "Anton", sans-serif;
    color: #ffffff;
    font-size: 9.6rem;
    line-height: 1.3;
    min-width: 400px; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-contact h3 {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 4.6rem;
        min-width: auto; } }
    @media only screen and (max-width: 768px) {
      #page-home .top-contact h3 {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 3.8rem; } }
  #page-home .top-contact .sub_ttl {
    font-size: 3.6rem;
    margin-bottom: 30px;
    font-family: kozuka-mincho-pr6n, serif; }
    @media only screen and (max-width: 768px) {
      #page-home .top-contact .sub_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 2.4rem;
        margin-bottom: 10px; } }
  #page-home .top-contact nowrap {
    color: #ffffff; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-contact nowrap {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        margin-bottom: 20px; } }
  #page-home .top-contact .top-contact_pd {
    padding-top: 8%;
    padding-bottom: 8%;
    display: flex; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-contact .top-contact_pd {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        flex-direction: column-reverse; } }
  #page-home .top-contact .top-contact_pd_2 {
    text-align: center; }
  #page-home .top-contact .top-contact_letter {
    position: relative;
    display: inline-block;
    min-width: auto; }
  #page-home .top-contact .top-contact_letter::before {
    content: url("../img/home/letter.svg");
    display: block;
    position: absolute;
    left: -100px;
    top: -10px; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-contact .top-contact_letter::before {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        transform: scale(0.5);
        right: 100%;
        top: 0px;
        transform-origin: right; } }
  #page-home .top-contact .flex-end {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end; }
    @media only screen and (max-width: 1024px) {
      #page-home .top-contact .flex-end {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        justify-content: center; } }
#page-home .request_wrap {
  width: 80%;
  margin: 0 auto;
  display: flex;
  margin-bottom: 150px; }
  @media only screen and (max-width: 768px) {
    #page-home .request_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      flex-direction: column;
      margin-bottom: 50px; } }
#page-home .lineupttl_top {
  font-size: 4.8rem;
  color: #000000;
  font-family: kozuka-mincho-pr6n, serif;
  font-weight: 500;
  margin-bottom: 50px;
  line-height: 1.5;
  display: flex;
  align-items: center; }
  @media only screen and (max-width: 1024px) {
    #page-home .lineupttl_top {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.6rem;
      margin-bottom: 20px;
      font-weight: 600; } }
  @media only screen and (max-width: 768px) {
    #page-home .lineupttl_top {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 2.4rem;
      margin-bottom: 10px; } }
  #page-home .lineupttl_top:before {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #666;
    margin-right: 3rem; }
    @media only screen and (max-width: 768px) {
      #page-home .lineupttl_top:before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        display: none; } }
  #page-home .lineupttl_top:after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #666;
    margin-left: 3rem; }
    @media only screen and (max-width: 768px) {
      #page-home .lineupttl_top:after {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        display: none; } }
#page-home .lineup_ttl_wrap {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  position: relative; }
@media only screen and (max-width: 768px) {
  #page-home .lineup_sub_p {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    text-align: left; } }
#page-home .blue {
  color: #003288; }
#page-home .track_record_wrap {
  border: 1px solid #003288;
  max-width: 900px;
  margin: 0 auto;
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    #page-home .track_record_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 30px; } }
#page-home .recordtbox_ttl {
  font-size: 2.0rem;
  color: #ffffff;
  background-color: #003288;
  padding: 0px; }
  @media only screen and (max-width: 768px) {
    #page-home .recordtbox_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 1.6rem; } }
#page-home .record_ul {
  display: flex;
  justify-content: space-around;
  padding: 20px 30px; }
  @media only screen and (max-width: 1024px) {
    #page-home .record_ul {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.6rem;
      font-weight: 600;
      padding: 5px 20px; } }
  @media only screen and (max-width: 768px) {
    #page-home .record_ul {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      flex-direction: column;
      justify-content: left;
      align-items: flex-start; } }
  #page-home .record_ul .record_li {
    font-size: 18px;
    font-weight: 400;
    padding: 10px 20px; }
    @media only screen and (max-width: 1024px) {
      #page-home .record_ul .record_li {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        text-align: left;
        font-size: 16px;
        padding: 8px 10px; } }
    @media only screen and (max-width: 768px) {
      #page-home .record_ul .record_li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 14px;
        padding: 4px 10px; } }
    #page-home .record_ul .record_li:before {
      content: "";
      /* 空の要素作成 */
      width: 10px;
      /* 幅指定 */
      height: 10px;
      /* 高さ指定 */
      display: inline-block;
      /* インラインブロックにする */
      background-color: #003288;
      /* 背景色指定 */
      border-radius: 50%;
      margin-right: 8px; }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.anim-box {
  height: 0px; }

#information .greetings_p {
  line-height: 3.6;
  font-size: 1.8rem;
  margin-bottom: 70px;
  margin-top: 10px; }
  @media only screen and (max-width: 1024px) {
    #information .greetings_p {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 40px;
      font-size: 1.6rem;
      line-height: 2.6; } }
  @media only screen and (max-width: 768px) {
    #information .greetings_p {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 30px;
      line-height: 2.3; } }
  #information .greetings_p span {
    color: red; }
#information .president_img {
  text-align: right; }
  @media only screen and (max-width: 768px) {
    #information .president_img {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 150px;
      margin-left: auto; } }
#information .philosophy {
  background-image: url("../img/information/philosophy_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 80%; }
#information .philo_ttl {
  font-size: 2.4rem;
  font-weight: 400;
  position: relative;
  display: inline; }
  @media only screen and (max-width: 1024px) {
    #information .philo_ttl {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 2.0rem;
      margin-left: 40px; } }
#information .philo_ttl:before {
  position: absolute;
  width: 20px;
  height: 30px;
  content: '';
  color: #003288;
  border-left: solid 1px;
  border-top: solid 1px;
  top: -10px;
  left: -40px; }
#information .philo_ttl:after {
  position: absolute;
  width: 20px;
  height: 30px;
  content: '';
  color: #003288;
  border-right: solid 1px;
  border-bottom: solid 1px;
  bottom: -10px;
  right: -40px; }
#information table {
  width: 100%;
  border: 1px solid #ffffff;
  position: relative; }
  @media only screen and (max-width: 1024px) {
    #information table {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin: 0 auto; } }
#information td {
  width: 25%;
  padding-left: 10%;
  border-bottom: 1px solid gray;
  border-right: 1px solid gray;
  padding-top: 20px;
  padding-bottom: 20px; }
  @media only screen and (max-width: 1024px) {
    #information td {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      width: 100%;
      padding-top: 4px;
      padding-bottom: 4px; } }
  @media only screen and (max-width: 768px) {
    #information td {
      /*　画面サイズ $spWidth まではここを読み込む　*/ } }
#information td:first-child {
  background-color: rgba(233, 236, 242, 0.6); }
  @media only screen and (max-width: 1024px) {
    #information td:first-child {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      border-bottom: 1px solid #ffffff; } }
#information td:nth-child(2n) {
  border-bottom: 1px solid gray;
  width: 75%;
  border-right: none; }
  @media only screen and (max-width: 1024px) {
    #information td:nth-child(2n) {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      border-bottom: 1px solid #ffffff;
      padding-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    #information td:nth-child(2n) {
      /*　画面サイズ $spWidth まではここを読み込む　*/ } }
#information .table_last {
  border-bottom: none !important; }
@media only screen and (max-width: 1024px) {
  #information td, #information th {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/
    width: 100%;
    display: block;
    border-right: none; } }
#information dl {
  display: flex; }
  @media only screen and (max-width: 768px) {
    #information dl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: block; } }
#information dt {
  font-size: 2.4rem;
  padding: 50px;
  color: #003288;
  font-weight: 500;
  line-height: 1.5;
  width: 300px; }
  @media only screen and (max-width: 1024px) {
    #information dt {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 1.6rem;
      padding: 16px 20px; } }
  @media only screen and (max-width: 768px) {
    #information dt {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 1.6rem;
      padding-bottom: 0px; } }
#information dd {
  font-size: 2.0rem;
  padding: 50px;
  line-height: 1.5; }
  @media only screen and (max-width: 1024px) {
    #information dd {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 1.6rem;
      padding: 16px 20px; } }
  @media only screen and (max-width: 768px) {
    #information dd {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 1.6rem;
      padding: 8px 20px; } }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.anim-box {
  height: 0px; }

#equipment .container {
  width: 75%;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) {
    #equipment .container {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      width: 100%;
      margin: 0 auto; } }
#equipment .eq_hr {
  margin-bottom: 10px; }
#equipment .eq_p {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.2; }
  @media only screen and (max-width: 1024px) {
    #equipment .eq_p {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 2.0rem;
      font-weight: 400; } }
  @media only screen and (max-width: 768px) {
    #equipment .eq_p {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 1.8rem;
      font-weight: 400; } }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.anim-box {
  height: 0px; }

#technique .tec_iso {
  text-align: right; }
#technique .tec_iso_img {
  align-items: flex-end; }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.anim-box {
  height: 0px; }

#access .access_add_ttl {
  padding: 20px 50px;
  font-weight: 400;
  font-size: 2.4rem; }
  @media only screen and (max-width: 1024px) {
    #access .access_add_ttl {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 1.6rem;
      padding: 0px 30px 30px 0px; } }
#access .access_add,
#access .access_tel {
  font-size: 2.0rem; }
  @media only screen and (max-width: 1024px) {
    #access .access_add,
    #access .access_tel {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 1.6rem; } }
#access .access_ill_wrapper {
  background-color: rgba(233, 236, 242, 0.6);
  margin-bottom: 80px; }
  @media only screen and (max-width: 1024px) {
    #access .access_ill_wrapper {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 100px; } }
  @media only screen and (max-width: 768px) {
    #access .access_ill_wrapper {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 120px; } }
  @media only screen and (max-width: 1024px) {
    #access .access_ill_wrapper .accsess_ill {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-left: 50px; } }
  #access .access_ill_wrapper h5 {
    position: relative;
    font-size: 3.5rem;
    font-weight: 400; }
    @media only screen and (max-width: 1024px) {
      #access .access_ill_wrapper h5 {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 2.4rem; } }
  #access .access_ill_wrapper h5::before {
    content: url("../img/access/car_icon.jpg");
    position: absolute;
    left: -100px;
    top: 20px; }
    @media only screen and (max-width: 1024px) {
      #access .access_ill_wrapper h5::before {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        transform: scale(0.6);
        left: -70px;
        top: -3px; } }
  #access .access_ill_wrapper .time {
    line-height: 2.5; }
  #access .access_ill_wrapper .accsess_des {
    padding-left: 50px;
    border-left: 1px solid gray;
    position: relative; }
    @media only screen and (max-width: 1024px) {
      #access .access_ill_wrapper .accsess_des {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        border-left: none;
        padding-bottom: 150px; } }
    @media only screen and (max-width: 768px) {
      #access .access_ill_wrapper .accsess_des {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-bottom: 250px;
        padding-top: 0px; } }
  #access .access_ill_wrapper .accsess_des::after {
    content: url("../img/access/access_map.png");
    position: absolute;
    top: -50px;
    left: 15vw; }
    @media only screen and (max-width: 1024px) {
      #access .access_ill_wrapper .accsess_des::after {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        top: -50px;
        left: 55vw; } }
    @media only screen and (max-width: 768px) {
      #access .access_ill_wrapper .accsess_des::after {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        top: 120px;
        left: 0;
        transform: scale(0.8); } }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.error_mess {
  padding: 10px 20px;
  border-radius: 10px;
  background: #ffe5e5;
  margin-bottom: 20px; }

#contact .main_p {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1024px) {
    #contact .main_p {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 2.0rem; } }
#contact .sub_p {
  font-size: 1.6rem; }
  #contact .sub_p a {
    color: red;
    text-decoration: underline; }
    #contact .sub_p a:hover {
      cursor: pointer; }
#contact .contact_message {
  font-size: 1.8rem;
  margin-bottom: 50px;
  text-align: center; }
#contact dl.contact_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  margin: auto;
  max-width: 920px;
  margin-bottom: 15px; }
  @media only screen and (max-width: 768px) {
    #contact dl.contact_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: block; } }
  #contact dl.contact_list dt, #contact dl.contact_list dd {
    padding: 20px 0; }
  #contact dl.contact_list dt {
    flex-basis: 30%;
    font-weight: 500;
    padding-top: 25px;
    line-height: 1.6; }
    @media only screen and (max-width: 768px) {
      #contact dl.contact_list dt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-bottom: 10px; } }
  #contact dl.contact_list dd {
    padding-left: 5%;
    flex-basis: 70%; }
    @media only screen and (max-width: 768px) {
      #contact dl.contact_list dd {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-top: 0px; } }
  #contact dl.contact_list input[type="text"], #contact dl.contact_list input[type="email"], #contact dl.contact_list input[type="tel"], #contact dl.contact_list select {
    line-height: 1.8;
    border: 1px solid gray;
    padding: 3px 8px;
    width: 100%;
    max-width: 100%;
    background: #ffffff; }
  #contact dl.contact_list select {
    margin-top: 5px; }
  #contact dl.contact_list textarea {
    border: 1px solid gray;
    padding: 2px;
    width: 100%;
    max-width: 100%; }
  #contact dl.contact_list .message_wrap span {
    white-space: pre; }
  #contact dl.contact_list .shrink {
    width: 100%;
    max-width: 200px !important; }
  #contact dl.contact_list .zip {
    max-width: 180px !important; }
  #contact dl.contact_list .time {
    width: auto !important;
    max-width: auto !important; }
  #contact dl.contact_list .return_wrap {
    display: flex;
    flex-wrap: nowrap;
    padding: 5px 10px; }
    @media only screen and (max-width: 768px) {
      #contact dl.contact_list .return_wrap {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        flex-wrap: wrap; } }
    #contact dl.contact_list .return_wrap label {
      width: auto;
      margin-right: 30px; }
      @media only screen and (max-width: 768px) {
        #contact dl.contact_list .return_wrap label {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          padding-bottom: 14px; } }
  #contact dl.contact_list pre {
    white-space: pre-wrap; }
#contact .privacy_wrap {
  border: 1px solid #333;
  height: 200px;
  overflow-y: scroll;
  margin-top: 20px;
  padding: 15px; }
  #contact .privacy_wrap .privacy_mess {
    font-weight: 500;
    margin: 0; }
  #contact .privacy_wrap .privacy_h {
    margin-top: 50px;
    margin-bottom: 8px;
    font-size: 110%; }
#contact .privacy_check {
  background: #eee;
  text-align: center;
  padding: 15px;
  margin-top: 30px; }
  #contact .privacy_check label {
    margin-right: 10px; }
  #contact .privacy_check input[type="checkbox"] {
    margin-right: 5px; }
#contact .require {
  display: inline-block;
  line-height: 1;
  padding: 3px 15px;
  padding-bottom: 5px;
  margin-right: 10px;
  background: #ed3618;
  color: #ffffff; }
  @media only screen and (max-width: 768px) {
    #contact .require {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 10px;
      padding: 3px; } }
#contact .submit_btn {
  text-align: center; }
#contact .up_wrap {
  display: flex;
  width: 100%;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    #contact .up_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: block;
      margin: 0 auto;
      text-align: center;
      min-width: 128px;
      max-width: 300px; } }
#contact .up {
  margin-left: 5vw;
  margin-right: 10vw; }
  @media only screen and (max-width: 768px) {
    #contact .up {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 20px; } }
#contact .file {
  text-align: center;
  padding: 8px 14px;
  background-color: lightgray;
  border: 1px solid gray;
  line-height: 1.6; }
#contact .status {
  text-align: center;
  padding: 8px 10px;
  line-height: 1.0; }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

.anim-box {
  height: 0px; }

@media only screen and (max-width: 768px) {
  #flow .mg-M {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    margin-bottom: 30px; } }
#flow .flow_area_wrap {
  border-bottom: 1px solid #707070; }
#flow .flow_item_wrap {
  display: flex;
  justify-content: center;
  width: 70%;
  margin: 0 auto;
  padding: 50px 0px 80px 0px; }
  @media only screen and (max-width: 768px) {
    #flow .flow_item_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      flex-direction: column;
      padding: 40px 0px 50px 0px;
      width: 100%; } }
  #flow .flow_item_wrap .flow_left_stepnum {
    font-size: 4.0rem;
    font-family: "impact", "Anton", sans-serif;
    color: #003288;
    width: 30%;
    display: flex;
    line-height: 1; }
    @media only screen and (max-width: 768px) {
      #flow .flow_item_wrap .flow_left_stepnum {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 100%;
        font-size: 2.8rem;
        margin-bottom: 15px; } }
#flow .flow_p {
  letter-spacing: 0.05em; }
#flow .flow_right_wrap {
  width: 75%; }
  @media only screen and (max-width: 768px) {
    #flow .flow_right_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 100%; } }
  #flow .flow_right_wrap .flow_ttl {
    font-size: 2.6rem;
    font-weight: 600;
    padding: 0px 15px;
    border-left: 5px solid #003288;
    margin-bottom: 20px;
    letter-spacing: 0.05em; }
    @media only screen and (max-width: 768px) {
      #flow .flow_right_wrap .flow_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 2.3rem; } }
#flow .triangle {
  width: 10vw;
  margin: 0 auto;
  height: auto; }
  @media only screen and (max-width: 768px) {
    #flow .triangle {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 100px; } }

/* 変数ファイルインポート */
/* PC用 */
/* ブレイクポイント 設定 */
/* SP用 */
/* 共通 */
.font-size-S {
  font-size: 1.5rem; }

.font-size-R {
  font-size: 1.6rem; }

.font-size-M {
  font-size: 1.7rem; }

.font-size-L {
  font-size: 1.8rem; }

.font-size-XL {
  font-size: 1.9rem; }

.font-size-XXL {
  font-size: 2rem; }

/*== 普通ボタン共通設定 */
.btn-line_wrap {
  position: relative;
  display: inline-block;
  height: 70px;
  width: 250px;
  border: 1px solid #003288; }
  .btn-line_wrap::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    height: 1px;
    width: 30px;
    right: -30px;
    background-color: #003288; }
  .btn-line_wrap .btn-line {
    color: #003288;
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 5;
    cursor: pointer; }
    .btn-line_wrap .btn-line::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      display: flex;
      height: 100%;
      width: 150%;
      right: 100%;
      margin: auto;
      background-color: #003288;
      transform: skewX(-25deg);
      transform-origin: top;
      transition: all 0.3s;
      z-index: 0; }
    .btn-line_wrap .btn-line span {
      padding-right: 20px;
      z-index: 9; }
      .btn-line_wrap .btn-line span::after {
        content: "";
        position: absolute;
        margin: auto;
        top: 0;
        bottom: 0;
        height: 1px;
        width: 35px;
        right: 0px;
        background-color: #003288; }
      .btn-line_wrap .btn-line span::before {
        content: "";
        position: absolute;
        border: 1px solid #003288;
        display: block;
        width: 30px;
        height: 30px;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
        border-radius: 50%; }
    .btn-line_wrap .btn-line:hover::before {
      right: 0%;
      transform-origin: bottom;
      z-index: 0; }
    .btn-line_wrap .btn-line:hover span {
      color: #ffffff; }
      .btn-line_wrap .btn-line:hover span::after {
        background-color: #ffffff; }
      .btn-line_wrap .btn-line:hover span::before {
        border-color: #ffffff; }

/*== 白ボタン共通設定 */
.btn_wh {
  border: 1px solid #ffffff; }
  .btn_wh::after {
    background-color: #ffffff; }
  .btn_wh .btn-line btn-line
  span {
    color: #ffffff; }
    .btn_wh .btn-line btn-line
    span:before {
      border: 1px solid #ffffff; }
    .btn_wh .btn-line btn-line
    span:after {
      background-color: #ffffff; }

/*青字の大きいタイトル*/
.blue-ttl {
  font-size: 4.8rem;
  line-height: 1.5;
  color: #003288;
  margin-bottom: 50px;
  font-family: kozuka-mincho-pr6n, serif;
  font-weight: 500; }
  @media only screen and (max-width: 1024px) {
    .blue-ttl {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.6rem;
      font-weight: 600;
      margin-bottom: 40px; }
      .blue-ttl br {
        display: none; } }
  @media only screen and (max-width: 768px) {
    .blue-ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 3.0rem;
      margin-bottom: 30px; } }

.blue-ttl-bar {
  background-image: url("../img/home/blue_ttl-bar.jpg");
  height: 72px;
  display: flex;
  justify-content: center;
  position: relative; }
  @media only screen and (max-width: 1024px) {
    .blue-ttl-bar {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      height: 50px; } }
  .blue-ttl-bar .blue-ttl-bar_ja {
    font-size: 3.2rem;
    color: #ffffff;
    font-family: "ヒラギノ角ゴ StdN", "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #ffffff;
    line-height: 2.2;
    text-align: center; }
    @media only screen and (max-width: 1024px) {
      .blue-ttl-bar .blue-ttl-bar_ja {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 2.4rem;
        line-height: 2.2; } }
  .blue-ttl-bar .blue-ttl-bar_ja:before {
    content: "Company";
    display: inline;
    font-size: 5.6rem;
    line-height: 1.2;
    font-family: "ヒラギノ角ゴ StdN", "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #ffffff;
    opacity: 0.5;
    position: absolute;
    left: 50px; }
    @media only screen and (max-width: 1024px) {
      .blue-ttl-bar .blue-ttl-bar_ja:before {
        /*　画面サイズ $tabWitdh まではここを読み込む　*/
        font-size: 3.2rem;
        line-height: 1.5; } }
    @media only screen and (max-width: 768px) {
      .blue-ttl-bar .blue-ttl-bar_ja:before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        left: 10px;
        opacity: 0.3;
        font-size: 2.4rem; } }
  .blue-ttl-bar .blue-ttl-bar_ja2:before {
    content: "Equipment"; }
  .blue-ttl-bar .blue-ttl-bar_ja3:before {
    content: "Technique&Quality"; }
  .blue-ttl-bar .blue-ttl-bar_ja4:before {
    content: "Access"; }
  .blue-ttl-bar .blue-ttl-bar_ja4:before {
    content: "Contact"; }
  .blue-ttl-bar .blue-ttl-bar_ja5:before {
    content: "Access"; }
  .blue-ttl-bar .blue-ttl-bar_ja6:before {
    content: "Contact"; }
  .blue-ttl-bar .blue-ttl-bar_ja7:before {
    content: "Flow"; }

.m-ttl_item {
  font-size: 3.6rem;
  font-weight: 500;
  color: #525252;
  display: inline; }
  @media only screen and (max-width: 1024px) {
    .m-ttl_item {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.2rem; } }
  @media only screen and (max-width: 768px) {
    .m-ttl_item {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 2.4rem; } }

.m-ttl_item:after {
  content: "Greetings";
  display: inline;
  font-size: 6.3rem;
  font-family: "impact", "Anton", sans-serif;
  color: #D0E0FF;
  margin-left: 30px;
  vertical-align: -4px; }
  @media only screen and (max-width: 1024px) {
    .m-ttl_item:after {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      font-size: 3.8rem; } }
  @media only screen and (max-width: 768px) {
    .m-ttl_item:after {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 3.2rem;
      margin-left: 20px; } }

.m-ttl_item2:after {
  content: "Philosophy"; }

.m-ttl_item3:after {
  content: "Profile"; }

.m-ttl_item4:after {
  content: "History"; }

.m-ttl_item5:after {
  content: "Access"; }

.m-ttl_item-line {
  display: block;
  width: 100%; }

.slideRight {
  animation-name: slideRight;
  animation-duration: 1s;
  animation-timing-function: ease; }

@keyframes slideRight {
  0% {
    transform: translateX(-1200px); }
  75% {
    transform: translateX(-500px); }
  100% {
    transform: translateX(0px); } }
.mg-XSS {
  margin-bottom: 25px; }
  @media only screen and (max-width: 1024px) {
    .mg-XSS {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 10px; } }

.mg-XS {
  margin-bottom: 50px; }
  @media only screen and (max-width: 1024px) {
    .mg-XS {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 20px; } }

.mg-S {
  margin-bottom: 75px; }
  @media only screen and (max-width: 1024px) {
    .mg-S {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 35px; } }

.mg-M {
  margin-bottom: 90px; }
  @media only screen and (max-width: 1024px) {
    .mg-M {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 45px; } }

.mg-L {
  margin-bottom: 110px; }
  @media only screen and (max-width: 1024px) {
    .mg-L {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      margin-bottom: 55px; } }

@media only screen and (max-width: 1024px) {
  .reverse {
    /*　画面サイズ $tabWitdh まではここを読み込む　*/
    flex-direction: column-reverse; } }

.header_image {
  height: calc(340px + 110px);
  width: 100%;
  background-image: url("../img/information/heder_img.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: auto;
  margin-top: -110px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: -1; }
  @media only screen and (max-width: 768px) {
    .header_image {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 100%;
      height: 240px;
      background-image: url("../img/information/heder_img.jpg");
      background-size: cover;
      background-position: top center; } }

.ishi_wrapper {
  width: 920px;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) {
    .ishi_wrapper {
      /*　画面サイズ $tabWitdh まではここを読み込む　*/
      width: 100%;
      margin: 0 auto; } }
