.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: 0.25rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.m-6 {
  margin: 2.5rem !important;
}

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

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

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

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

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

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

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

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

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

.m-8 {
  margin: 3.5rem !important;
}

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

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

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

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

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

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

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

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

.ml-9,
.mx-9 {
  margin-left: 4rem !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: 0.25rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.p-6 {
  padding: 2.5rem !important;
}

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

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

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

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

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

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

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

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

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

.p-8 {
  padding: 3.5rem !important;
}

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

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

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

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

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

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

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

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

.pl-9,
.px-9 {
  padding-left: 4rem !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;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 2rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 2rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 2rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 2rem !important;
  }
  .m-sm-6 {
    margin: 2.5rem !important;
  }
  .mt-sm-6,
  .my-sm-6 {
    margin-top: 2.5rem !important;
  }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 2.5rem !important;
  }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 2.5rem !important;
  }
  .m-sm-7 {
    margin: 3rem !important;
  }
  .mt-sm-7,
  .my-sm-7 {
    margin-top: 3rem !important;
  }
  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 3rem !important;
  }
  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 3rem !important;
  }
  .m-sm-8 {
    margin: 3.5rem !important;
  }
  .mt-sm-8,
  .my-sm-8 {
    margin-top: 3.5rem !important;
  }
  .mr-sm-8,
  .mx-sm-8 {
    margin-right: 3.5rem !important;
  }
  .mb-sm-8,
  .my-sm-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-sm-8,
  .mx-sm-8 {
    margin-left: 3.5rem !important;
  }
  .m-sm-9 {
    margin: 4rem !important;
  }
  .mt-sm-9,
  .my-sm-9 {
    margin-top: 4rem !important;
  }
  .mr-sm-9,
  .mx-sm-9 {
    margin-right: 4rem !important;
  }
  .mb-sm-9,
  .my-sm-9 {
    margin-bottom: 4rem !important;
  }
  .ml-sm-9,
  .mx-sm-9 {
    margin-left: 4rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 2rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 2rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 2rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 2rem !important;
  }
  .p-sm-6 {
    padding: 2.5rem !important;
  }
  .pt-sm-6,
  .py-sm-6 {
    padding-top: 2.5rem !important;
  }
  .pr-sm-6,
  .px-sm-6 {
    padding-right: 2.5rem !important;
  }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-sm-6,
  .px-sm-6 {
    padding-left: 2.5rem !important;
  }
  .p-sm-7 {
    padding: 3rem !important;
  }
  .pt-sm-7,
  .py-sm-7 {
    padding-top: 3rem !important;
  }
  .pr-sm-7,
  .px-sm-7 {
    padding-right: 3rem !important;
  }
  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-7,
  .px-sm-7 {
    padding-left: 3rem !important;
  }
  .p-sm-8 {
    padding: 3.5rem !important;
  }
  .pt-sm-8,
  .py-sm-8 {
    padding-top: 3.5rem !important;
  }
  .pr-sm-8,
  .px-sm-8 {
    padding-right: 3.5rem !important;
  }
  .pb-sm-8,
  .py-sm-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-sm-8,
  .px-sm-8 {
    padding-left: 3.5rem !important;
  }
  .p-sm-9 {
    padding: 4rem !important;
  }
  .pt-sm-9,
  .py-sm-9 {
    padding-top: 4rem !important;
  }
  .pr-sm-9,
  .px-sm-9 {
    padding-right: 4rem !important;
  }
  .pb-sm-9,
  .py-sm-9 {
    padding-bottom: 4rem !important;
  }
  .pl-sm-9,
  .px-sm-9 {
    padding-left: 4rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .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: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 2rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 2rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 2rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 2rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 2rem !important;
  }
  .m-md-6 {
    margin: 2.5rem !important;
  }
  .mt-md-6,
  .my-md-6 {
    margin-top: 2.5rem !important;
  }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 2.5rem !important;
  }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 2.5rem !important;
  }
  .m-md-7 {
    margin: 3rem !important;
  }
  .mt-md-7,
  .my-md-7 {
    margin-top: 3rem !important;
  }
  .mr-md-7,
  .mx-md-7 {
    margin-right: 3rem !important;
  }
  .mb-md-7,
  .my-md-7 {
    margin-bottom: 3rem !important;
  }
  .ml-md-7,
  .mx-md-7 {
    margin-left: 3rem !important;
  }
  .m-md-8 {
    margin: 3.5rem !important;
  }
  .mt-md-8,
  .my-md-8 {
    margin-top: 3.5rem !important;
  }
  .mr-md-8,
  .mx-md-8 {
    margin-right: 3.5rem !important;
  }
  .mb-md-8,
  .my-md-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-md-8,
  .mx-md-8 {
    margin-left: 3.5rem !important;
  }
  .m-md-9 {
    margin: 4rem !important;
  }
  .mt-md-9,
  .my-md-9 {
    margin-top: 4rem !important;
  }
  .mr-md-9,
  .mx-md-9 {
    margin-right: 4rem !important;
  }
  .mb-md-9,
  .my-md-9 {
    margin-bottom: 4rem !important;
  }
  .ml-md-9,
  .mx-md-9 {
    margin-left: 4rem !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: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 2rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 2rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 2rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 2rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 2rem !important;
  }
  .p-md-6 {
    padding: 2.5rem !important;
  }
  .pt-md-6,
  .py-md-6 {
    padding-top: 2.5rem !important;
  }
  .pr-md-6,
  .px-md-6 {
    padding-right: 2.5rem !important;
  }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-md-6,
  .px-md-6 {
    padding-left: 2.5rem !important;
  }
  .p-md-7 {
    padding: 3rem !important;
  }
  .pt-md-7,
  .py-md-7 {
    padding-top: 3rem !important;
  }
  .pr-md-7,
  .px-md-7 {
    padding-right: 3rem !important;
  }
  .pb-md-7,
  .py-md-7 {
    padding-bottom: 3rem !important;
  }
  .pl-md-7,
  .px-md-7 {
    padding-left: 3rem !important;
  }
  .p-md-8 {
    padding: 3.5rem !important;
  }
  .pt-md-8,
  .py-md-8 {
    padding-top: 3.5rem !important;
  }
  .pr-md-8,
  .px-md-8 {
    padding-right: 3.5rem !important;
  }
  .pb-md-8,
  .py-md-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-md-8,
  .px-md-8 {
    padding-left: 3.5rem !important;
  }
  .p-md-9 {
    padding: 4rem !important;
  }
  .pt-md-9,
  .py-md-9 {
    padding-top: 4rem !important;
  }
  .pr-md-9,
  .px-md-9 {
    padding-right: 4rem !important;
  }
  .pb-md-9,
  .py-md-9 {
    padding-bottom: 4rem !important;
  }
  .pl-md-9,
  .px-md-9 {
    padding-left: 4rem !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;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 2rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 2rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 2rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 2rem !important;
  }
  .m-lg-6 {
    margin: 2.5rem !important;
  }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 2.5rem !important;
  }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 2.5rem !important;
  }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 2.5rem !important;
  }
  .m-lg-7 {
    margin: 3rem !important;
  }
  .mt-lg-7,
  .my-lg-7 {
    margin-top: 3rem !important;
  }
  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 3rem !important;
  }
  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 3rem !important;
  }
  .m-lg-8 {
    margin: 3.5rem !important;
  }
  .mt-lg-8,
  .my-lg-8 {
    margin-top: 3.5rem !important;
  }
  .mr-lg-8,
  .mx-lg-8 {
    margin-right: 3.5rem !important;
  }
  .mb-lg-8,
  .my-lg-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-lg-8,
  .mx-lg-8 {
    margin-left: 3.5rem !important;
  }
  .m-lg-9 {
    margin: 4rem !important;
  }
  .mt-lg-9,
  .my-lg-9 {
    margin-top: 4rem !important;
  }
  .mr-lg-9,
  .mx-lg-9 {
    margin-right: 4rem !important;
  }
  .mb-lg-9,
  .my-lg-9 {
    margin-bottom: 4rem !important;
  }
  .ml-lg-9,
  .mx-lg-9 {
    margin-left: 4rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 2rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 2rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 2rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 2rem !important;
  }
  .p-lg-6 {
    padding: 2.5rem !important;
  }
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 2.5rem !important;
  }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 2.5rem !important;
  }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 2.5rem !important;
  }
  .p-lg-7 {
    padding: 3rem !important;
  }
  .pt-lg-7,
  .py-lg-7 {
    padding-top: 3rem !important;
  }
  .pr-lg-7,
  .px-lg-7 {
    padding-right: 3rem !important;
  }
  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-7,
  .px-lg-7 {
    padding-left: 3rem !important;
  }
  .p-lg-8 {
    padding: 3.5rem !important;
  }
  .pt-lg-8,
  .py-lg-8 {
    padding-top: 3.5rem !important;
  }
  .pr-lg-8,
  .px-lg-8 {
    padding-right: 3.5rem !important;
  }
  .pb-lg-8,
  .py-lg-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-lg-8,
  .px-lg-8 {
    padding-left: 3.5rem !important;
  }
  .p-lg-9 {
    padding: 4rem !important;
  }
  .pt-lg-9,
  .py-lg-9 {
    padding-top: 4rem !important;
  }
  .pr-lg-9,
  .px-lg-9 {
    padding-right: 4rem !important;
  }
  .pb-lg-9,
  .py-lg-9 {
    padding-bottom: 4rem !important;
  }
  .pl-lg-9,
  .px-lg-9 {
    padding-left: 4rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 2rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 2rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 2rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 2rem !important;
  }
  .m-xl-6 {
    margin: 2.5rem !important;
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 2.5rem !important;
  }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 2.5rem !important;
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 2.5rem !important;
  }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 2.5rem !important;
  }
  .m-xl-7 {
    margin: 3rem !important;
  }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 3rem !important;
  }
  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 3rem !important;
  }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 3rem !important;
  }
  .m-xl-8 {
    margin: 3.5rem !important;
  }
  .mt-xl-8,
  .my-xl-8 {
    margin-top: 3.5rem !important;
  }
  .mr-xl-8,
  .mx-xl-8 {
    margin-right: 3.5rem !important;
  }
  .mb-xl-8,
  .my-xl-8 {
    margin-bottom: 3.5rem !important;
  }
  .ml-xl-8,
  .mx-xl-8 {
    margin-left: 3.5rem !important;
  }
  .m-xl-9 {
    margin: 4rem !important;
  }
  .mt-xl-9,
  .my-xl-9 {
    margin-top: 4rem !important;
  }
  .mr-xl-9,
  .mx-xl-9 {
    margin-right: 4rem !important;
  }
  .mb-xl-9,
  .my-xl-9 {
    margin-bottom: 4rem !important;
  }
  .ml-xl-9,
  .mx-xl-9 {
    margin-left: 4rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 2rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 2rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 2rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 2rem !important;
  }
  .p-xl-6 {
    padding: 2.5rem !important;
  }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 2.5rem !important;
  }
  .pr-xl-6,
  .px-xl-6 {
    padding-right: 2.5rem !important;
  }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 2.5rem !important;
  }
  .pl-xl-6,
  .px-xl-6 {
    padding-left: 2.5rem !important;
  }
  .p-xl-7 {
    padding: 3rem !important;
  }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 3rem !important;
  }
  .pr-xl-7,
  .px-xl-7 {
    padding-right: 3rem !important;
  }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-7,
  .px-xl-7 {
    padding-left: 3rem !important;
  }
  .p-xl-8 {
    padding: 3.5rem !important;
  }
  .pt-xl-8,
  .py-xl-8 {
    padding-top: 3.5rem !important;
  }
  .pr-xl-8,
  .px-xl-8 {
    padding-right: 3.5rem !important;
  }
  .pb-xl-8,
  .py-xl-8 {
    padding-bottom: 3.5rem !important;
  }
  .pl-xl-8,
  .px-xl-8 {
    padding-left: 3.5rem !important;
  }
  .p-xl-9 {
    padding: 4rem !important;
  }
  .pt-xl-9,
  .py-xl-9 {
    padding-top: 4rem !important;
  }
  .pr-xl-9,
  .px-xl-9 {
    padding-right: 4rem !important;
  }
  .pb-xl-9,
  .py-xl-9 {
    padding-bottom: 4rem !important;
  }
  .pl-xl-9,
  .px-xl-9 {
    padding-left: 4rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
/* content
------------------------*/
.cp-section {
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 0 60px 0;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .cp-section {
    padding: 30px 18px;
  }
}
@media only screen and (max-width: 767px) {
  .cp-section {
    padding: 30px 18px;
  }
}
.cp-section._900 {
  max-width: 900px;
}

.cp-section.-padding0 {
  padding: 0;
}

.rounded {
  border-radius: 0.25rem !important;
  background-color: #fff;
  padding: 60px;
  margin: 60px 0;
}

@media only screen and (max-width: 767px) {
  .rounded {
    padding: 20px;
    margin: 20px 0;
  }
}
.rounded-pill {
  border-radius: 50rem !important;
}

/* flex
------------------------*/
.cp-flex {
  display: flex;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

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

.align-items-end {
  align-items: end !important;
}

/* heading
------------------------*/
.cp-h1 {
  font-size: 24px;
}

@media only screen and (max-width: 767px) {
  .cp-h1 {
    font-size: 20px;
  }
}
.cp-h2 {
  font-size: 20px;
}

@media only screen and (max-width: 767px) {
  .cp-h2 {
    font-size: 16px;
  }
}
.cp-h3 {
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .cp-h3 {
    font-size: 16px;
  }
}
/* phrasing
------------------------*/
sup {
  font-size: 10px;
  vertical-align: top;
  position: relative;
  top: -0.2em;
}

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

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

.cp-color-blue {
  color: #004ea2;
}

.cp-color-red {
  color: #e60012;
}

.cp-color-black {
  color: black;
}

.cp-color-white {
  color: white;
}

.cp-color-rose {
  color: #c3718e;
}

.cp-color-green {
  color: #8dc21f;
}

.txt--note {
  font-size: 10px;
}

.txt--size-s {
  font-size: 0.7em;
}

/* link
------------------------*/
.linkarrow {
  display: block;
  padding: 10px 0 0;
  text-align: right;
}

.linkarrow a {
  position: relative;
  display: block;
  padding: 0 16px 0 0;
  vertical-align: middle;
}

.linkarrow a::before,
.linkarrow a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.linkarrow a::before {
  right: 3px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #3073b3;
  border-right: 2px solid #3073b3;
  transform: rotate(45deg);
}

.linkarrow a:hover {
  opacity: 0.5;
}

.hr {
  height: 0px;
  border-radius: 1px;
  border: 1px solid #bbb;
  width: 99.7%;
  max-width: 1080px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .hr {
    margin: 0 auto;
  }
}
.fair-nav {
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
  z-index: 100;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .fair-nav {
    min-height: 57px;
  }
}
@media screen and (min-width: 1080px) {
  .fair-nav {
    max-width: 1040px;
  }
}
@media screen and (min-width: 1200px) {
  .fair-nav {
    max-width: 1080px;
  }
}
.fair-nav__items {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  justify-content: space-between;
}

.fair-nav__item {
  font-weight: 600;
  padding: 10px 14px 24px;
  box-sizing: border-box;
  display: block;
  transition: all 0.3s;
  color: #000;
  line-height: 1.3;
  max-height: 86px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .fair-nav__item {
    padding: 3px 8px 9px;
  }
}
.fair-nav__item:before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #bbb;
  border-right: solid 2px #bbb;
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin-top: -6px;
  transform: translate(-50%, 0) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .fair-nav__item:before {
    content: "";
    width: 3px;
    height: 3px;
    bottom: 4px;
  }
}
.fair-nav__item img {
  max-height: 34px;
  width: auto;
  transition: all 0.3s;
}

.fair-nav__item:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .fair-nav__item:hover {
    opacity: 1;
  }
}
.fair-nav__item:hover img {
  opacity: 0.6 !important;
}

.fair-nav__item:visited {
  color: #000;
}

.fair-nav__item {
  position: relative;
}

.fair-nav__item {
  flex-grow: 1;
  max-height: 120px;
  border-right: solid 1px #dfdfdf;
}

.fair-nav__item:nth-child(1) {
  width: 50%;
}

.fair-nav__item:nth-child(2) {
  width: 50%;
}

.fair-nav__item:nth-child(3) {
  width: 34%;
}

.fair-nav__items li:last-child,
.fair-nav-fixed__items li:last-child {
  border-right: none;
  flex-grow: 0;
}

.fair-nav-item__inner {
  display: block;
  justify-content: center;
  flex-wrap: wrap;
}

.fair-nav-item__inner .fair-nav-item__txt {
  line-height: 1.4em;
  display: block;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav-item__inner .fair-nav-item__txt {
    font-size: 1.46vw;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .fair-nav-item__inner .fair-nav-item__txt {
    font-size: 12px;
    letter-spacing: -0.1px;
  }
}
.fair-nav__item:nth-child(4) .fair-nav-item__txt,
.fair-nav__item:nth-child(5) .fair-nav-item__txt {
  padding-left: 0;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav__item {
    padding-left: 4px;
    padding-right: 4px;
  }
  .fair-nav__item img {
    max-height: 3.883495146vw;
  }
}
.fair-nav-fixed {
  opacity: 0;
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
  min-height: 48px;
  box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.2);
  position: absolute;
  margin-top: -106px;
  z-index: -1;
}

.fair-nav-fixed.is-fixed {
  opacity: 1;
  width: 100%;
  margin-top: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

/*@media screen and (max-width: 768px) {
  .fair-nav-fixed.is-fixed {
    margin-top: 9.114583333vw;
  }
}
@media screen and (min-width: 821px) and (max-width: 1030px) {
  .fair-nav-fixed.is-fixed {
    margin-top: 9.417475728vw;
  }
}*/
.fair-nav-fixed__items {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  display: flex;
}

@media screen and (min-width: 1200px) {
  .fair-nav-fixed__items {
    padding: 0 60px;
  }
}
@media screen and (max-width: 959px) and (min-width: 768px) {
  .fair-nav-fixed__items {
    width: 100%;
  }
}
.fair-nav-item__sptxt {
  display: inline-block;
  font-weight: 400;
  line-height: 1;
  padding: 5px 5px 7px;
  font-size: 12px;
  background-color: #e3ebee;
}

@media screen and (min-width: 768px) and (max-width: 1030px) {
  .fair-nav-item__sptxt {
    font-size: 10px;
    letter-spacing: -0.5px;
    margin-top: 2px;
  }
}
@media screen and (max-width: 767px) {
  .fair-nav-item__sptxt {
    font-size: 10px;
    padding: 3px 5px 5px;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.btnbox {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .btnbox {
    margin-top: 5vw;
  }
}
a.btn-reserve {
  width: 700px;
  margin: auto;
  border-radius: 4px;
  background: #EF8B1E;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

a.btn-reserve:hover {
  background-color: #F8BD14;
}

@media (max-width: 767px) {
  a.btn-reserve {
    width: 100%;
  }
}
a.btn-reserve p {
  width: 100%;
  padding: 18px 0 22px;
  text-align: center;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6em;
  position: relative;
  z-index: 3;
}

a.btn-reserve p::after {
  content: "";
  width: 9px;
  height: 18px;
  background: url(../../images/common/icon_arrow_white_light.png) center center no-repeat;
  background-size: 100%;
  position: absolute;
  right: 20px;
  top: calc(50% - 9px);
}

@media (max-width: 1030px) {
  a.btn-reserve p {
    padding: 1.75vw 0 2.14vw;
    text-align: center;
    color: #fff;
    font-size: 2.14vw;
    position: relative;
    z-index: 3;
  }
  a.btn-reserve p::after {
    content: "";
    width: 9px;
    height: 18px;
    background: url(../../images/common/icon_arrow_white_light.png) center center no-repeat;
    background-size: 100%;
    position: absolute;
    right: 20px;
    top: calc(50% - 9px);
  }
}
@media (max-width: 767px) {
  a.btn-reserve p {
    font-size: 4.53vw;
    padding: 4.53vw 0 4.53vw;
  }
}
a.btn-reserve.-btngray {
  background: #fff;
  border: solid 1px #eee;
  width: 50%;
}

@media (max-width: 767px) {
  a.btn-reserve.-btngray {
    width: 100%;
  }
}
a.btn-reserve.-btngray:hover {
  background-color: #3073bb;
}

a.btn-reserve.-btngray:hover p {
  color: #fff;
}

a.btn-reserve.-btngray p {
  color: #1c1c1c;
  font-size: 1.2em;
  font-weight: normal;
  padding: 18px 0;
}

@media (max-width: 1030px) {
  a.btn-reserve.-btngray p {
    padding: 1.75vw 0 1.75vw;
    font-size: 1.75vw;
  }
}
@media (max-width: 767px) {
  a.btn-reserve.-btngray p {
    font-size: 4.53vw;
    padding: 4.53vw 0 4.53vw;
  }
}
a.btn-reserve.-btngray p::after {
  background: url(../../images/common/icon_arrow_gray.png) center center no-repeat;
  background-size: 100%;
}

/*  recommend
------------------------*/
.select-wrap {
  width: 90%;
  margin: 0 auto 10px;
  padding: 2px;
  display: flex;
  align-items: center;
  background: #e9e9e9;
  position: relative;
}

.select-wrap .select_ttl {
  width: 133px;
  text-align: center;
  font-size: 15px;
}

.select-wrap select {
  width: calc(100% - 133px);
  padding: 12px 30px 12px 15px;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  border-radius: 0;
  outline: none;
  background: #fff;
  background-image: none;
  box-shadow: none;
  appearance: none;
  line-height: 1;
}

.select-wrap::before {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 9px solid #1c1c1c;
  margin-top: -5px;
  pointer-events: none;
}

.select-wrap select::-ms-expand {
  display: none;
}

@media (max-width: 767px) {
  .recommend .btnbox {
    margin-top: 0;
  }
  .recommend .btn-reserve.-btngray {
    width: 90%;
  }
}
.recommend__items {
  display: flex;
  margin-top: 2em;
}

@media (max-width: 767px) {
  .recommend__items {
    margin-top: 1em;
    flex-wrap: wrap;
  }
}
.recommend__item {
  width: 33.333%;
}

@media (max-width: 767px) {
  .recommend__item {
    width: 100%;
    position: relative;
    border: solid 1px #e3ebee;
    min-height: 146px;
    padding: 1em 1em;
  }
  .recommend__item + .recommend__item {
    margin-top: 2.13vw;
  }
}
.recommend h4 {
  text-align: center;
  margin-bottom: 1em;
}

@media (max-width: 767px) {
  .recommend h4 {
    margin-bottom: 0.5em;
  }
}
.recommend__title {
  text-align: center;
  margin-bottom: 2em;
}

.recommend__inner {
  width: 90%;
  margin: 0 auto;
}

.recommend .btn-navy {
  background: #003771;
  color: #fff;
  text-align: center;
  font-size: 1.06666em;
  width: 90%;
  margin: 20px auto 0;
  padding: 17px 0;
  border-radius: 3px;
  display: block;
  font-weight: 300;
  line-height: 1;
  position: relative;
}

@media (max-width: 767px) {
  .recommend .btn-navy {
    font-size: 4.27vw;
  }
}
.recommend .btn-navy::after {
  content: "";
  width: 5px;
  height: 10px;
  margin-left: 5px;
  display: inline-block;
  background: url(/assets/img/campaign/common/icon_arrow_white.png) right center no-repeat;
  background-size: 100%;
  position: absolute;
  top: calc(50% - 5px);
  right: 15px;
}

.recommend .btn-orange {
  background: #EF8B1E;
  color: #fff;
  text-align: center;
  font-size: 1.06666em;
  width: 90%;
  margin: 20px auto 0;
  padding: 17px 0;
  border-radius: 3px;
  display: block;
  font-weight: 300;
  line-height: 1;
  position: relative;
}

@media (max-width: 767px) {
  .recommend .btn-orange {
    font-size: 4.27vw;
  }
}
.recommend .btn-orange::after {
  content: "";
  width: 5px;
  height: 10px;
  margin-left: 5px;
  display: inline-block;
  background: url(/assets/img/campaign/common/icon_arrow_white.png) right center no-repeat;
  background-size: 100%;
  position: absolute;
  top: calc(50% - 5px);
  right: 15px;
}

.recommend__catalog {
  max-height: 94px;
  width: auto;
  margin: 0 auto;
  display: block;
}

.recommend__heimconcierge {
  max-height: 94px;
  width: auto;
  margin: 0 auto;
  display: block;
}

@media (max-width: 767px) {
  .recommend .searchform-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 7vw;
  }
  .recommend .searchform-wrap .select-wrap {
    width: 66%;
    margin-bottom: 0;
  }
  .recommend .searchform-wrap .btn-arrow {
    width: 28%;
    margin-top: 0;
    padding: 13px 0;
    padding: 13px 9px 13px 0;
  }
  .recommend .searchform-wrap .btn-arrow::after {
    right: 20px;
    top: calc(50% - 4px);
  }
  .recommend .searchform-wrap .select_ttl {
    width: 40%;
  }
  .recommend .searchform-wrap #tenjijoArea {
    width: 60%;
  }
}
@media (max-width: 767px) {
  a.recommend__item {
    border: solid 1px #e3ebee;
    padding: 0.5em 0;
    text-align: center;
  }
  a.recommend__item h4 {
    position: relative;
    display: inline-block;
  }
  a.recommend__item h4 i {
    font-size: 12px;
    position: absolute;
    top: 52%;
    right: -1.2em;
    transform: translateY(-50%);
    color: #000;
  }
  a.recommend__item h4 .fa-chevron-right:before {
    content: "\f054";
  }
  a.recommend__item .btn-navy {
    display: none;
  }
  a.recommend__item .btn-gold {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .greenmodel__inner {
    padding: 0 18px 0;
  }
  .greenmodel__inner img {
    margin-bottom: 4vw;
  }
}
@media only screen and (max-width: 767px) {
  .ohisama .sp2 {
    margin: 0 -18px;
  }
}
@media only screen and (max-width: 767px) {
  .info {
    padding: 30px 18px 0;
  }
}
.hr3 {
  height: 0px;
  border-radius: 1px;
  width: 99.7%;
  max-width: 1080px;
  margin: 20px auto;
  border: solid 1px #018481;
}

@media screen and (max-width: 767px) {
  .fair-nav__item:nth-child(1) {
    /*    width: 18%;*/
  }
  .fair-nav__item:nth-child(2) {
    /*    width: 36%;*/
  }
  .fair-nav__item:nth-child(3) {
    /*    width: 46%;*/
  }
}
@media screen and (max-width: 767px) {
  .select .cp-section {
    padding: 0;
  }
  .select__inner {
    padding: 18px 18px 30px 18px;
  }
}
.info {
  overflow: hidden;
}

.info .txt--note {
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  .info__ttl {
    margin-left: -18px;
    margin-right: -18px;
  }
}
.info__inner {
  padding: 30px 30px;
}

@media screen and (max-width: 767px) {
  .info__inner {
    margin: 30px -18px;
    padding: 0 18px;
  }
}
.info__inner.-top {
  margin-top: 0;
  padding-top: 30px;
  padding-bottom: 20px;
  background-color: #f5f2e8;
}

@media screen and (min-width: 768px) {
  .info__items {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .info__item {
    margin-bottom: 20px;
  }
  .info__item._01 {
    width: 72.8%;
  }
  .info__item._02 {
    width: 24.85%;
  }
}
@media screen and (min-width: 768px) {
  .info-item-01__lists {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (max-width: 1030px) {
  .info-item-01__lists {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  .info-item-01__list {
    margin-top: 20px;
  }
  .info-item-01__list._01 {
    width: 26.94%;
  }
  .info-item-01__list._02 {
    width: 70.11%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1030px) {
  .info-item-01__list._01 {
    width: 100%;
    order: 2;
  }
  .info-item-01__list._02 {
    order: 1;
    width: 100%;
    text-align: right;
  }
  .info-item-01__list._02 img {
    width: 70.11%;
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  .info .estimate__img03 {
    width: 45.33vw;
    margin: 0 auto;
  }
}
.event {
  /*  background-image: url(/assets/images/campaign/thanksfair_202309/event__bg.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #004173;
    background-size: contain;
    padding: 20px;*/
}

.event a img {
  display: block;
  transition: all 0.2s;
}

.event a:hover img {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .event {
    padding: 0;
  }
}
.event__ttl img {
  margin: 0 auto;
  max-width: 484px;
}

.event__list {
  margin-bottom: 4vw;
}

@media screen and (min-width: 768px) {
  .event__list {
    margin-bottom: 16px;
    display: flex;
    justify-content: space-between;
  }
}
.event__item,
.two-column {
  position: relative;
}

@media screen and (min-width: 768px) {
  .event__item {
    width: 32.6%;
  }
}
@media screen and (max-width: 767px) {
  .event__item {
    margin-bottom: 2vw;
  }
}
/*  color
------------------------*/
.txt-white {
  color: #fff;
}

.txt-stay01 {
  color: #005083;
}

.txt-stay02 {
  color: #5bb15a;
}

.txt-stay03 {
  color: #f2971b;
}

.specification__item-01 {
  background-color: #005083;
}

.specification__item-02 {
  background-color: #ccdce6;
}

.bg-light {
  background-color: #efefef;
}

.bg-catalog {
  background-color: #009fe8;
}

.bg-tatedoki {
  background-color: #174273;
}

.popup {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 400px;
  z-index: 9997;
  transition: 0.3s;
}

@media (max-width: 767px) {
  .popup {
    width: 60%;
    bottom: 0;
    right: 0;
  }
}
a.res-baner:hover {
  opacity: 0.8;
}

.res-baner {
  display: block;
  max-width: 768px;
  margin: 0 auto;
  position: relative;
}

.res-baner__btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  margin: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 10px 40px 10px 25px;
  cursor: pointer;
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .res-baner__btn {
    bottom: 3vw;
    right: 3vw;
    padding: 1.5vw 6vw 1.5vw 3vw;
  }
}
.res-baner__btn span {
  position: relative;
  display: block;
}

.res-baner__btn span::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  right: -20px;
  background: url(/assets/img/campaign/common/icon_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media only screen and (max-width: 767px) {
  .res-baner__btn span::after {
    width: 2vw;
    height: 2vw;
    top: 1.3vw;
    right: -4vw;
  }
}
.pc2 {
  display: none;
}

@media screen and (min-width: 821px) {
  .pc2 {
    display: block;
  }
}
.pctb2 {
  display: none;
}

@media screen and (min-width: 768px) {
  .pctb2 {
    display: block;
  }
}
.tb2 {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 820px) {
  .tb2 {
    display: block;
  }
}
.tbsp2 {
  display: none;
}

@media screen and (max-width: 820px) {
  .tbsp2 {
    display: block;
  }
}
.sp2 {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp2 {
    display: block;
  }
}
.pctb3 {
  display: none;
}

@media screen and (min-width: 768px) {
  .pctb3 {
    display: inline-block;
  }
}
.sp3 {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp3 {
    display: inline-block;
  }
}
.c-breadcrumb {
  font-size: 1.2rem;
  margin: 0.5rem 0;
}

@media (max-width: 767px) {
  .c-breadcrumb {
    font-size: 1rem;
  }
}
.c-breadcrumb__list {
  width: 100%;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .c-breadcrumb__list {
    overflow-x: scroll;
  }
}
.c-breadcrumb__list li {
  display: inline;
}

.u-arw {
  color: currentColor;
  position: absolute;
  right: 1rem;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
}

.u-arw::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

.u-arw--next {
  position: relative;
  right: 1rem;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 1em;
  height: 0.1em;
  background: currentColor;
}

@media (max-width: 767px) {
  .u-arw--next {
    right: 0;
  }
}
.u-arw--next::before {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

.u-arw-on {
  position: relative;
}

.u-arw-on__bg {
  position: absolute;
  display: flex;
  align-items: center;
  width: 4rem;
  height: 4rem;
  bottom: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--black);
}

.u-arw-on__bg--bn {
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--black);
  position: absolute;
  display: flex;
  align-items: center;
  width: 3rem;
  height: 2.7rem;
  bottom: 0;
  right: 0;
}

.c-fentrybtn {
  color: #fff;
  background-color: #EF8B1E;
  transition: 0.3s;
  border: 1px solid transparent;
  text-align: center;
  margin: 6rem auto;
  font-weight: 700;
  width: 80%;
  border-radius: 3px;
}

.c-fentrybtn p {
  font-size: 2.4rem;
}

.c-fentrybtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 6rem;
  position: relative;
  font-size: 16px;
}

@media (max-width: 767px) {
  .c-fentrybtn {
    width: 100%;
  }
  .c-fentrybtn p {
    font-size: 1.25em;
    line-height: 1.5;
  }
  .c-fentrybtn a {
    font-size: 3.59vw;
    padding: 2.05vw 2.56vw 2.56vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-fentrybtn:hover:hover {
    background-color: #fff;
    border: 1px solid #EF8B1E;
    color: #EF8B1E;
    font-weight: 700;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-fentrybtn:hover:hover {
    background-color: #fff;
    border: 1px solid #EF8B1E;
    color: #EF8B1E;
    font-weight: 700;
  }
}
.c-goldbtn {
  border: 1px solid var(--tertiary);
  color: var(--tertiary);
  font-weight: 700;
  background-color: #fff;
  transition: 0.3s;
}

.c-goldbtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 4rem;
}

@media (max-width: 767px) {
  .c-fgoldbtn {
    margin: 2rem 0 5rem;
  }
  .c-goldbtn a {
    font-size: 1.4rem;
  }
}
.c-goldbtn a p {
  width: 100%;
  text-align: center;
}

.c-goldbtn--arw {
  display: flex;
  position: relative;
}

@media (hover: hover) and (pointer: fine) {
  .c-goldbtn:hover:hover {
    background-color: var(--tertiary);
    border: 1px solid transparent;
    color: #fff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-goldbtn:hover:hover {
    background-color: var(--tertiary);
    border: 1px solid transparent;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .two-columns {
    margin-bottom: 16px;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .two-column {
    width: 49.6%;
  }
}
@media screen and (max-width: 767px) {
  .two-column {
    margin-bottom: 2vw;
  }
}
@media screen and (max-width: 600px) {
  .schedule__wrap img {
    width: 600px;
    max-width: none;
  }
  .schedule__wrap {
    height: 360px;
    overflow: auto;
    white-space: nowrap;
    position: relative;
    z-index: 1;
  }
  .lp-program__wrap::-webkit-scrollbar {
    height: 5px;
  }
  .lp-program__wrap::-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .lp-program__wrap::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}
.select__inner {
  background: rgb(180, 145, 12);
  background: linear-gradient(0deg, rgb(180, 145, 12) 50%, rgb(234, 205, 118) 100%);
  padding: 40px 20px 20px;
}

.privilege__inner {
  background-color: #fff;
  padding: 40px 20px 20px;
}

.privilege__h4 {
  margin-bottom: 2em;
}

.cooperation {
  background-color: #dbe6ed;
}

.cooperation__ttl {
  line-height: 1.4;
  padding-right: 1em;
  border-right: solid 1px #000;
}

.cooperation__text {
  padding-left: 1em;
}

@media only screen and (min-width: 768px) {
  .privilege__ttl {
    max-width: 980px;
    margin: 0 auto;
    padding-bottom: 2em;
  }
  .privilege__row {
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
  }
  .privilege__col2 {
    width: 48.5%;
  }
  .privilege__col3 {
    width: 32%;
  }
  .privilege__value {
    display: flex;
    justify-content: space-between;
    margin: 2em 0 1em;
    flex-wrap: wrap;
  }
  .privilege__value-01 {
    width: 100%;
    margin-bottom: 1em;
  }
  .privilege__value-02 {
    width: 42.13%;
  }
  .privilege__value-03 {
    width: 55.56%;
  }
  .cooperation {
    display: flex;
    align-items: center;
    padding: 10px 20px;
  }
}
@media screen and (max-width: 767px) {
  .select__inner {
    padding: 18px 18px 30px 18px;
  }
  .privilege__inner {
    padding: 4vw 3vw;
  }
  .privilege__img {
    margin-left: -18px;
    margin-right: -18px;
    max-width: calc(100% + 36px);
    width: calc(100% + 36px);
  }
  .privilege__ttl {
    margin-bottom: 3vw;
  }
  .privilege__h4 {
    margin-bottom: 3vw;
  }
  .privilege__col2,
  .privilege__col3 {
    margin-bottom: 3vw;
  }
  .privilege__value > * {
    margin-bottom: 3vw;
  }
  .cooperation {
    padding: 3vw;
  }
  .cooperation__ttl {
    text-align: center;
    border: none;
    margin-bottom: 3vw;
  }
}
.privilege-imgsp {
  display: block;
  width: calc(100% - 36px);
  margin: 0 auto;
}

.about,
.campaign,
.event,
.uchisoto {
  margin-top: -56px;
  padding-top: 56px;
}

@media only screen and (max-width: 767px) {
  .about,
  .campaign,
  .event,
  .uchisoto {
    margin-top: -118px;
    padding-top: 118px;
  }
  .about .txt--note {
    /*    width: calc( 100% - 36px );*/
    width: 100%;
    margin: 0 auto 0;
  }
  #privilege .txt--note {
    word-break: break-all;
    line-height: 1.4;
    margin-top: 0.3em;
  }
  #privilege .txt--note a {
    letter-spacing: -0.5px;
  }
}
.cp-title {
  background-color: #131431;
  /*  background-color: #301b06;*/
  /*  background-color: #d5020e;*/
  color: #fff;
  padding: 0.5em;
}

@media only screen and (max-width: 767px) {
  .cp-title {
    font-size: 5.13vw;
    padding: 0.5em;
    line-height: 1.5em;
  }
}
.firstowner__ttl {
  text-align: center;
}

.firstowner__ttl img {
  max-width: 534px;
}

@media only screen and (min-width: 768px) {
  .center {
    text-align: center;
  }
  .recommend__items {
    justify-content: center;
  }
  .recommend__item {
    width: 43.333%;
  }
  .plan .cp-title {
    padding-left: 8em;
  }
  .plan .cp-title .txt--size-s {
    margin-left: 1em;
    font-size: 0.6em;
  }
}
/* 2401
------------------------*/
.attakawrap__inner {
  background-image: url(/assets/img/campaign/202402_kessanfair/attaka__bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-color: #FBDFA7;
  background-size: contain;
  padding: 4.62% 4.62% 0 4.62%;
  overflow: hidden;
}

.attaka__ttl-02 {
  margin: 0 auto;
}

/*.tseries .cp-section,
.grandtoyou .cp-section {
  background-color: #FBD58B;
  padding: 60px 4.62% 4.62%;
}*/
.pinwrap {
  position: relative;
}

.pin {
  position: absolute;
  width: 196px;
  top: -20px;
  left: -20px;
}

.tseries__ttl,
.grandtoyou__ttl {
  max-width: 600px;
  margin: 0 auto;
}

.tseries__ttl {
  margin-top: -80px;
  padding-top: 80px;
}

.tseries__campaign {
  background-color: #CCECF8;
}

.tseries__campaign-inner {
  padding: 1.5% 3%;
}

.tseries__campaign-03 {
  max-width: 682px;
  margin: 0 auto;
}

.grandtoyou__campaign {
  background-color: #EAE8E6;
}

.grandtoyou__campaign-inner {
  padding: 0 3% 1.5%;
}

.institution__wrap {
  background-color: #F5F2E8;
  padding: 4.62%;
}

.txt--note.-l {
  font-size: 12px;
}

@media only screen and (min-width: 768px) {
  .c-fentrybtn__wrap {
    display: flex;
    justify-content: space-between;
    width: 102%;
    margin: 0 -1%;
  }
  .c-fentrybtn {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .attakawrap {
    padding: 0;
  }
  /*  .tseries .cp-section, .grandtoyou .cp-section {
      padding-top: 50px;
    }*/
  .tseries__ttl {
    margin-top: -3rem;
    padding-top: 6rem;
  }
  /*  .tseries__campaign-inner,
    .grandtoyou__campaign-inner {
      padding: 4.5%;
    }*/
  .institution .txt--note {
    word-break: break-all;
  }
}
.attaka__block {
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #e95504;
  border-radius: 10px;
  padding: 40px;
}

.special__box {
  background-color: #D70B24;
  padding: 0 2em 1em;
  margin-bottom: 3em;
}

.special__box p {
  color: #fff;
}

.special__arrow {
  max-width: 480px;
  margin: 0 auto -3em;
}

.support__ttl {
  max-width: 800px;
  margin: 0 auto;
}

.tseries__campaign,
.grandtoyou__campaign {
  position: relative;
}

.tseries .cp-section {
  padding-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .pinwrap {
    position: absolute;
    width: 196px;
    top: -20px;
    left: -20px;
  }
}
@media only screen and (max-width: 767px) {
  .attaka__block {
    padding: 6% 5%;
  }
  .pinwrap {
    background-color: #fff;
    padding-bottom: 0.5em;
  }
  .tseries .cp-section {
    padding-top: 0;
  }
  .tseries__campaign-inner {
    padding: 3%;
  }
  .grandtoyou__campaign-inner {
    padding: 0 3% 3%;
  }
  .smartheim .cp-title {
    margin: 0 -18px;
  }
  .support__ttl {
    margin-top: 1.5em;
  }
  .support__ttl img {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .tseries__items {
    display: flex;
    justify-content: space-between;
  }
  .tseries__item {
    width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  .tseries__item {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .institution__row {
    display: flex;
    justify-content: space-between;
  }
  .institution__col1 {
    width: 29%;
  }
  .institution__col3 {
    width: 70%;
  }
}
.institution a img {
  display: block;
  transition: all 0.2s;
}

.institution a:hover img {
  opacity: 0.5;
}

/* 2407 soon
------------------------*/
.soon__contents__img {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.soon__contents {
  position: relative;
}

.soon__ttl {
  width: 90%;
  max-width: 960px;
  position: absolute;
  top: 1.75em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  .precede {
    font-size: 6.4vw;
  }
  .soon__kv,
  .soon__contents,
  .soon__contents__img {
    width: 100%;
    max-width: none;
  }
  .soon__kv {
    padding: 5.33vw 12vw;
    position: absolute;
    z-index: 1;
    top: 20%;
  }
  .soon__contents__img {
    padding: 0;
  }
  .soon__ttl {
    top: 3.73vw;
    line-height: 1;
    width: 92%;
  }
}
.comingsoon {
  position: absolute;
  background: rgba(200, 200, 200, 0.75);
  width: 100%;
  height: 100%;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

.comingsoon span {
  color: #fff;
  font-size: 70px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .comingsoon span {
    font-size: 12vw;
  }
}
.soon__contents__img::after {
  content: "";
  width: 126px;
  height: 126px;
  background: url(/assets/img/campaign/kimatsukessan_20240809/kv__limit-2409.png) center center no-repeat;
  background-size: 100%;
  position: absolute;
  right: 30px;
  bottom: 30px;
}

@media only screen and (max-width: 1200px) {
  .soon__contents__img::after {
    width: 10.5vw;
    height: 10.5vw;
    max-width: 126px;
  }
}
@media only screen and (max-width: 768px) {
  .soon__contents__img::after {
    width: 16.41vw;
    height: 16.41vw;
    right: 3.17vw;
    bottom: 3.17vw;
  }
}
.zeh {
  border: solid 6px #d4d9dc;
  margin-top: 3em;
  margin-bottom: 1em;
}

.zeh__top {
  background-color: #d4d9dc;
  padding: 20px 60px;
}

.zeh__ttl {
  font-size: 30px;
}

.zeh__ttl-xs {
  font-size: 70%;
}

.zeh__subttl {
  font-size: 18px;
  font-weight: 700;
}

.zeh__red {
  color: #e60012;
}

.zeh__middle {
  padding: 20px 60px 40px;
  position: relative;
  border-bottom: solid 6px #d4d9dc;
}

.zeh__middle::after {
  position: absolute;
  width: 62px;
  height: 80px;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background-image: url(../../../img/campaign/kimatsukessan_20240809/zeh__arrow.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.zeh__bottom {
  padding: 40px 60px 20px;
}

.zeh__h4 {
  font-size: 18px;
  font-weight: 700;
  color: #595757;
  margin-top: 2em;
}

.zeh__diagram {
  margin-top: 1em;
  display: flex;
  align-items: center;
}

.zeh__formula--inner {
  display: flex;
}

.zeh__formula--inner > * {
  padding: 0 10px;
}

.zeh__point p {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 0.75em;
}

.zeh__zero {
  max-width: 214px;
}

.zeh__frame {
  font-weight: 700;
  display: inline-block;
  border: solid 3px #d4d9dc;
  padding: 10px 20px;
}

@media only screen and (min-width: 768px) {
  .zeh__bottom {
    padding: 40px 60px 20px;
    background-image: url(../../../img/campaign/kimatsukessan_20240809/subsidy__zeh-bg.jpg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 34%;
  }
}
@media only screen and (max-width: 767px) {
  .zeh {
    margin: 3vw 0;
  }
  .zeh__top {
    padding: 3vw;
  }
  .zeh__ttl {
    font-size: 4.8vw;
  }
  .zeh__subttl {
    font-size: 3.73vw;
  }
  .zeh__middle {
    padding: 3vw;
  }
  .zeh__h4 {
    font-size: 3.73vw;
    margin-top: 3vw;
  }
  .zeh__h5 {
    font-size: 3.73vw;
  }
  .zeh__h5--point01 {
    color: #8dc21f;
  }
  .zeh__h5--point02 {
    color: #65a9dc;
  }
  .zeh__h5--point03 {
    color: #f29739;
  }
  .zeh__h5 + p {
    font-size: 3.2vw;
  }
  .zeh__frame {
    margin: 3vw 0;
  }
  .zeh__middle::after {
    width: 31px;
    height: 40px;
    bottom: -25px;
  }
  .zeh__bottom {
    padding: 3vw;
  }
}
.subsidy__ttl {
  font-size: 30px;
  border-bottom: solid 4px #59C2E1;
  display: inline-block;
}

.subsidy__txt {
  font-size: 22px;
  font-weight: 700;
  margin-top: 0.5em;
}

.first {
  display: inline-block;
  width: 128px;
}

.subsidy__content {
  display: flex;
  margin-top: 0.25em;
  justify-content: space-between;
  align-items: end;
}

.subsidy__zeh {
  width: 34%;
}

.subsidyzeh--text {
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
  border-bottom: solid #000 1px;
}

.subsidyzeh--text::after {
  position: absolute;
  width: 32px;
  height: 16px;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background-image: url(../../../img/campaign/kimatsukessan_20240809/subsidy__arrow01.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.subsidyzeh--answer {
  padding-top: 20px;
}

.subsidy__arrow {
  width: 1px;
  background-color: #000;
  position: relative;
}

.subsidy__arrow::after {
  position: absolute;
  width: 28px;
  height: 40px;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background-image: url(../../../img/campaign/kimatsukessan_20240809/subsidy__arrow02.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.subsidy__zeh-plus {
  width: 59%;
}

.subsidyzehplus--text {
  padding-top: 1px;
  padding-bottom: 10px;
  position: relative;
  border-bottom: solid #000 1px;
}

.subsidyzehplus--text::after {
  position: absolute;
  width: 32px;
  height: 16px;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background-image: url(../../../img/campaign/kimatsukessan_20240809/subsidy__arrow01.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.subsidyzehplus--answer {
  text-align: right;
  padding-top: 10px;
}

.subsidyzehplus--answer img {
  width: 382px;
}

@media only screen and (max-width: 1080px) {
  .subsidy__ttl {
    font-size: 2.78vw;
  }
  .subsidy__txt {
    font-size: 2.04vw;
  }
}
@media only screen and (max-width: 767px) {
  .subsidy__ttl {
    font-size: 4.8vw;
    text-align: center;
    margin-bottom: 3vw;
  }
  .first {
    display: block;
    width: 21.33vw;
    margin: 0 auto;
  }
  .subsidy__content {
    display: block;
  }
  .subsidy__zeh,
  .subsidy__zeh-plus {
    width: 100%;
  }
  .subsidy__arrow {
    width: 100%;
    height: 1px;
    margin: 10vw 0;
  }
  .subsidy__arrow::after {
    width: 40px;
    height: 28px;
    bottom: -7vw;
    background-image: url(../../../img/campaign/kimatsukessan_20240809/subsidy__arrow03.png);
  }
  .subsidyzehplus--ttl {
    margin-bottom: 3vw;
  }
  .subsidyzehplus--answer {
    margin-top: 3vw;
  }
}
.frame-black {
  border: solid 4px #000;
  padding: 20px;
  margin-bottom: 1em;
}

.frame__ttl {
  margin: -21px 0 0 -20px;
}

.frame-black .frame__ttl {
  max-width: 440px;
}

.institution-01 {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.institution-01__left {
  padding-right: 10px;
}

.institution-01__left-top {
  padding-bottom: 10px;
}

.institution-01__left-bottom {
  border-top: solid 1px #000;
  padding-top: 10px;
}

.institution-01.pctb2 {
  align-items: center;
}

.institution-01.pctb2 .institution-01__left {
  margin-top: 24px;
  align-items: center;
}

.institution-01__arrow {
  margin-top: 24px;
  padding-right: 4px;
}

.frame-green {
  border: solid 4px #23b6bc;
  margin-bottom: 1em;
}

.framegreen__item {
  padding: 20px;
}

.frame-green .frame__ttl {
  max-width: 440px;
}

.framegreen__item-02,
.framegreen__item-03 {
  border-top: solid 2px #23b6bc;
}

.framegreen__item-02 .frame__ttl,
.framegreen__item-03 .frame__ttl {
  margin-bottom: 1em;
}

.institution-02 {
  display: flex;
  justify-content: space-between;
}

.institution-02__left {
  width: 49%;
}

.institution-02__right {
  width: 48.4%;
}

.institution-02 img + img,
.institution-02 span + span {
  display: block;
  margin-top: 1.5em;
}

@media only screen and (max-width: 767px) {
  .frame-black,
  .framegreen__item {
    padding: 3vw;
  }
  .frame__ttl {
    margin: -3.5vw 0 0 -3.5vw;
  }
  .frame-black .frame__ttl,
  .framegreen__item .frame__ttl {
    width: calc(100% + 7vw);
    margin-bottom: 3vw;
  }
  .institution-01.pctb2 {
    display: none !important;
  }
  .institution-01__left {
    padding: 0;
  }
  .frame-black-02 .institution-01__right {
    display: none;
  }
  .institution-02 {
    display: block;
  }
  .institution-02 > * {
    width: 100%;
  }
  .institution-02 img + img, .institution-02 span + span,
  .institution-02__right {
    margin-top: 3vw;
  }
  .fair-nav__item {
    padding: 14px 8px 16px;
  }
}
.txt--note__link {
  text-decoration: underline;
}

.disaster .tab-heading {
  border-top: solid 4px #9e032d;
}
@media screen and (max-width: 767px) {
  .disaster .tab-heading {
    font-size: 4.8vw;
  }
}
.disaster .tabwrap {
  background-color: #9e032d;
  color: #fff;
  padding: 4px 16px;
  margin-right: 10px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .disaster .tabwrap {
    font-size: 4.8vw;
    display: block;
    margin-left: 0;
    width: 50%;
  }
}
.disaster__items {
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .disaster__items {
    display: block;
  }
  .disaster__items > * {
    margin-top: 1em;
  }
}
.disaster .col-5 {
  width: 42%;
}
@media screen and (max-width: 767px) {
  .disaster .col-5 {
    width: 100%;
  }
}
.disaster .col-7 {
  width: 56%;
}
@media screen and (max-width: 767px) {
  .disaster .col-7 {
    width: 100%;
  }
}
.disaster .sub-heading {
  background-color: #9e032d;
  color: #fff;
  font-size: 24px;
  padding: 4px 16px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .disaster .sub-heading {
    font-size: 4.27vw;
  }
}
.disaster .boxramen {
  position: relative;
}
.disaster .boxramen__balloon {
  width: 48%;
  position: absolute;
  bottom: -18%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .disaster .boxramen__balloon {
    bottom: 3%;
  }
}
.disaster .boxramen + p {
  max-width: 60%;
}
@media screen and (max-width: 767px) {
  .disaster .boxramen + p {
    max-width: 100%;
  }
}
.disaster .col-4 {
  width: 34%;
}
@media screen and (max-width: 767px) {
  .disaster .col-4 {
    width: 100%;
  }
}
.disaster .col-4:nth-child(3) {
  width: 29%;
}
@media screen and (max-width: 767px) {
  .disaster .col-4:nth-child(3) {
    width: 100%;
  }
}
.disaster .taishin {
  background-color: #1e1210;
}
.disaster .taishinwrap {
  padding: 10px 20px;
  color: #fff;
}
.disaster .taishinwrap sup {
  color: #fff;
}
.disaster .taishinwrap p {
  font-size: 1.2em;
  margin-bottom: 1em;
}

.electricity .tab-heading {
  border-top: solid 4px #182987;
}
@media screen and (max-width: 767px) {
  .electricity .tab-heading {
    font-size: 4.8vw;
  }
}
.electricity .tabwrap {
  background-color: #182987;
  color: #fff;
  padding: 4px 16px;
  margin-right: 10px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .electricity .tabwrap {
    font-size: 4.8vw;
    display: block;
    margin-left: 0;
    width: 50%;
  }
}
.electricity .sub-heading {
  background-color: #182987;
  color: #fff;
  font-size: 24px;
  padding: 4px 16px;
  text-align: center;
}
.electricity .advanced {
  margin-top: 1em;
  display: flex;
}
@media screen and (max-width: 767px) {
  .electricity .advanced {
    display: block;
  }
}
.electricity .advanced__left {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .electricity .advanced__left {
    width: 100%;
  }
}
.electricity .advanced__right {
  width: 70%;
  padding: 10px;
  background-color: #dbe4ec;
}
@media screen and (max-width: 767px) {
  .electricity .advanced__right {
    width: 100%;
  }
}
.electricity .advanced__ttl {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .electricity .advanced__ttl {
    font-size: 4.27vw;
  }
}
.electricity .equipment {
  margin-top: 2em;
  border: solid 5px #009fde;
}
.electricity .equipment__top {
  display: flex;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__top {
    display: block;
  }
}
.electricity .equipment__ttl {
  width: 42.78%;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__ttl {
    width: 100%;
  }
}
.electricity .equipment__subttl {
  width: 57.22%;
  padding: 14px 20px 0;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__subttl {
    width: 100%;
  }
}
.electricity .equipment__contents {
  display: flex;
  justify-content: space-between;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__contents {
    display: block;
  }
}
.electricity .equipment__contents-l {
  width: 46%;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__contents-l {
    width: 100%;
    margin-bottom: 1em;
  }
}
.electricity .equipment__contents-r {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .electricity .equipment__contents-r {
    width: 100%;
  }
}

.electricity .tab-heading .txt--note {
  font-weight: 500;
}
.electricity .tab-heading .pc-alignright {
  float: right;
  margin-top: 3em;
}
@media screen and (min-width: 768px) and (max-width: 820px) {
  .electricity .tab-heading .pc-alignright {
    margin-top: 0.5em;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .electricity .tab-heading .pc-alignright {
    float: none;
    display: block;
    margin-top: 0;
  }
}

.campaign__inner {
  padding: 2em 40px;
  background: url(../../../img/campaign/t-ohisama_202506/bg_lattice-white.png), linear-gradient(90deg, rgb(232, 206, 161) 0%, rgb(247, 241, 218) 50%, rgb(232, 206, 161) 100%);
}
@media screen and (max-width: 767px) {
  .campaign__inner {
    padding: 4vw 6vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign .cp-section {
    margin-top: 6vw;
  }
}
.campaign__items {
  display: flex;
  justify-content: space-between;
  padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .campaign__items {
    flex-wrap: wrap;
  }
  .campaign__items div + div {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .campaign__item01 {
    width: 77.7%;
  }
  .campaign__item02 {
    width: 19.5%;
  }
  .campaign__item04 {
    width: 85%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .campaign__head {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 768px) {
  .campaign__head h3 {
    width: 88.89%;
    margin-top: -1em;
  }
}
@media screen and (max-width: 767px) {
  .campaign__head h3 {
    margin: 6vw 0 3vw;
  }
}
.campaign__limit {
  width: 100%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .campaign__limit {
    margin-bottom: 6vw;
  }
}
@media screen and (min-width: 768px) {
  .campaign__limit img {
    max-width: 342px;
  }
}

.heroArea {
  min-height: 720px;
  max-width: 1080px;
  margin: 0 auto 0;
  box-sizing: border-box;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .heroArea {
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .heroArea {
    min-height: 460px;
  }
}
.heroArea__ttl {
  padding-top: 40px;
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .heroArea__ttl {
    padding-top: 4.17%;
    max-width: 50vw;
  }
}
@media only screen and (max-width: 767px) {
  .heroArea__ttl {
    padding-top: 5.33vw;
    max-width: 88vw;
  }
}
@media screen and (min-width: 768px) {
  .heroArea__copy {
    position: absolute;
    right: 6.17%;
    top: 10.02%;
    width: 13.15%;
  }
}
@media screen and (max-width: 767px) {
  .heroArea__copy {
    width: 59.73vw;
    margin: 5.33vw auto;
  }
}
.heroArea__note {
  position: absolute;
  left: 10px;
  bottom: 10px;
  font-size: 10px;
  text-shadow: 1px 1px 4px #fff, -1px 1px 4px #fff, 1px -1px 4px #fff, -1px -1px 4px #fff;
}
@media screen and (max-width: 767px) {
  .heroArea__note {
    line-height: 1.4;
    letter-spacing: -1px;
    right: 1vw;
    bottom: 1vw;
  }
}
.heroArea__logo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 28.7%;
}
@media screen and (max-width: 767px) {
  .heroArea__logo {
    width: 40%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .visit__kv {
    padding-top: 36.5%;
  }
}

.visit__kv::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../../../img/campaign/t-ohisama_202506/kv-pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .visit__kv::after {
    background-image: url(../../../img/campaign/t-ohisama_202506/bg_lattice-lightgray.png);
    background-repeat: repeat;
    background-size: auto;
  }
}

.heroArea__btnwrap {
  max-width: 1080px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .heroArea__btnwrap {
    padding-left: 18px;
    padding-right: 18px;
  }
}

.about {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .about {
    margin-bottom: 6vw;
  }
}
.about .cp-section {
  padding: 0;
}
.about .intro__inner {
  background: url(../../../img/campaign/t-ohisama_202506/intro__bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.about .intro__ttl {
  font-size: 34px;
  text-align: center;
  padding: 1em 40px 0.5em 40px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .about .intro__ttl {
    padding: 3vw;
    font-size: 5vw;
  }
}
.about .intro__ttl-s {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .about .intro__ttl-s {
    font-size: 3.73vw;
  }
}
.about .intro__copy {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .about .intro__copy {
    font-size: 3.4vw;
    line-height: 1.6;
    padding: 0 3vw;
  }
}
.about__summary {
  background: url(../../../img/campaign/t-ohisama_202506/bg_lattice-darkgray.png), linear-gradient(90deg, rgb(238, 238, 239) 0%, rgb(183, 222, 204) 100%);
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .about__summary {
    padding: 5.33vw;
  }
}
.about__summary-ttl {
  background-color: #fff;
  padding: 0.5em 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about__summary-ttl {
    font-size: 4vw;
    line-height: 1.6;
    padding: 4vw 4vw 2vw;
  }
}
.about__summary-body {
  background-color: #fff;
  padding: 0.5em 20px 1em;
}

.standard__txt {
  background-color: #0d7661;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 4px;
  width: 100%;
  padding: 6px;
  text-align: center;
  margin-top: 4em;
}
@media screen and (max-width: 767px) {
  .standard__txt {
    margin: 3vw 0 0;
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .standard__txt {
    margin: 2em 0 0;
  }
}

.facility .cp-section {
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  .facility .cp-section {
    padding: 30px 9px;
  }
}
.facility__contents {
  padding: 0 30px 30px;
  margin: 0 auto 40px;
  border-radius: 5px;
}
.facility__contents:nth-child(1) {
  border: solid 1px #4eb4a0;
}
.facility__contents:nth-child(2) {
  border: solid 1px #68acc9;
}
.facility__contents:nth-child(3) {
  border: solid 1px #548ecb;
}
@media screen and (max-width: 767px) {
  .facility__contents {
    width: 100%;
    border-top: solid #494342 4px;
    padding: 0 5.33vw 5.33vw;
    margin-bottom: 6vw;
  }
}
.facility__contents.no1 .facility__heading-txt {
  background-color: #dcece6;
}
.facility__contents.no1 .facility__item {
  border-bottom: solid 1px #4eb4a0;
}
.facility__contents.no2 .facility__heading-txt {
  background-color: #d8eaf3;
}
.facility__contents.no2 .facility__item {
  border-bottom: solid 1px #68acc9;
}
.facility__contents.no3 {
  margin-bottom: 20px;
}
.facility__contents.no3 .facility__heading-txt {
  background-color: #dae2f3;
}
.facility__contents.no3 .facility__item {
  border-bottom: solid 1px #548ecb;
}
@media screen and (max-width: 767px) {
  .facility__contents.no3 {
    margin-bottom: 2vw;
  }
}
.facility__heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  margin-left: -30px;
  margin-right: -30px;
}
@media screen and (max-width: 767px) {
  .facility__heading {
    margin-left: -5.33vw;
    margin-right: -5.33vw;
    margin-bottom: 4vw;
  }
}
.facility__heading-txt {
  width: 100%;
  overflow: hidden;
  border-radius: 4px 4px 0 0;
}
.facility__ttl {
  display: flex;
  align-items: center;
}
.facility__ttl-note {
  display: flex;
  align-items: end;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .facility__ttl-note {
    margin-top: 1vw;
  }
}
.facility__ttl-txt h2 {
  font-size: 30px;
  line-height: 1;
}
.facility__ttl-txt .facility__ttl-s {
  font-size: 0.6em;
}
.facility__ttl-img {
  max-width: 202px;
  margin-right: 22px;
}
@media screen and (max-width: 767px) {
  .facility__ttl-img {
    max-width: 28vw;
    margin-right: 0vw;
  }
}
@media screen and (max-width: 767px) {
  .facility__ttl-txt h2 {
    font-size: 5.13vw;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .facility__ttl-txt h2 {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .facility__ttl-txt p {
    font-size: 3.59vw;
    line-height: 1.4;
  }
}
.facility__copy {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .facility__copy {
    font-size: 4.8vw;
  }
}
.facility .box-flex {
  display: flex;
}
.facility .flex-spacebetween {
  justify-content: space-between;
}
.facility .flex-alignend {
  align-items: end;
}
.facility .col-6 {
  width: 49%;
}
.facility .col-8 {
  width: 66.4%;
}
.facility .col-4 {
  width: 32.2%;
}
@media screen and (min-width: 768px) {
  .facility .box-flex-pctb {
    display: flex;
  }
  .facility .col-6-pctb {
    width: 49%;
  }
  .facility .col-8-pctb {
    width: 66.4%;
  }
  .facility .col-4-pctb {
    width: 32.2%;
  }
  .facility .pctb-reverse {
    flex-direction: row-reverse;
  }
}

.txt-s {
  font-size: 0.8em;
}

.facility__contents h3, .facility__contents p {
  line-height: 1.6em;
}

.facility__item {
  padding: 1em 0;
}

.no1 .facility__heading-txt {
  display: flex;
  align-items: center;
}

.hems_ico-04 {
  width: 90px;
  margin: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .hems_ico-04 {
    width: 50px;
  }
}

.hems_img-01 {
  width: 156px;
  margin: 1em auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .hems_img-01 {
    width: 41.6vw;
    margin: 0 auto;
  }
}
.hems_img-02 {
  width: 220px;
}
@media screen and (max-width: 767px) {
  .hems_img-02 {
    width: 58.67vw;
    margin: 0 auto;
    display: block;
  }
}
.hems_img-04 {
  width: 438px;
  margin: 1em 1em 0 0;
}
@media screen and (max-width: 767px) {
  .hems_img-04 {
    width: 100%;
    margin: 0.5em 0 0;
  }
}
.hems_img-06 {
  width: 416px;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .hems_img-06 {
    width: 100%;
    margin: 1em 0 0;
  }
}

.insulation__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 0.5em;
}
.insulation__items::after {
  content: "";
  width: 32%;
}
.insulation__item {
  background-color: #4eb4a0;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32%;
  margin-bottom: 10px;
  padding: 0.25em 10px;
}

.kaitekiairy__ttl {
  font-size: 20px;
  padding: 0.25em 0;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
  margin-bottom: 0.5em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .kaitekiairy__ttl {
    text-align: center;
    margin: 1em auto 0.5em;
    font-size: 4.27vw;
    line-height: 1.6;
    display: block;
  }
}
.kaitekiairy__copy {
  display: block;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .kaitekiairy__copy {
    font-size: 4.27vw;
    line-height: 1.6;
  }
}

.solar__box {
  align-items: end;
  margin-top: -60px;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .solar__box {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .solar__box {
    margin-top: 0;
  }
}
.solar__bottom {
  padding-top: 1em;
}
.solar__bottom-img {
  width: 51.6%;
}
@media screen and (max-width: 767px) {
  .solar__bottom-img {
    width: 100%;
  }
}
.solar__bottom-txt {
  width: 45.4%;
}
@media screen and (max-width: 767px) {
  .solar__bottom-txt {
    width: 100%;
  }
}
.solar__bottom-txt p {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0.65em;
}
@media screen and (max-width: 767px) {
  .solar__bottom-txt p {
    font-size: 4vw;
  }
}

.praise {
  display: flex;
  align-items: center;
  background-color: #68acc9;
  color: #fff;
  font-weight: 700;
  height: 28px;
  line-height: 1;
}
.praise__img {
  width: 104px;
}
.praise sup {
  color: #fff;
}

.evacuation__box {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .evacuation__box h3 {
    font-size: 4.27vw;
    margin: 0.5em 0;
  }
}

.battery_img-03 {
  width: 264px;
}
@media screen and (max-width: 767px) {
  .battery_img-03 {
    width: 60%;
  }
}

.battery__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .battery__items {
    margin-top: 0.5em;
    margin-bottom: 1em;
  }
  .battery__items::after {
    content: "";
    width: 32%;
  }
}
.battery__item {
  width: 24%;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .battery__item {
    width: 32%;
    margin-bottom: 1.75vw;
  }
}

.kosodategreen {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px;
  box-sizing: border-box;
  background-color: #0d7661;
}
@media screen and (max-width: 767px) {
  .kosodategreen {
    padding: 5vw 2.67vw 2.67vw;
  }
}
.kosodategreen__contents {
  background: #fff;
  border-radius: 12px;
  padding: 30px 40px;
}
@media screen and (max-width: 767px) {
  .kosodategreen__contents {
    padding: 4vw;
  }
}
.kosodategreen__chance {
  width: 190px;
  display: block;
  margin-top: -50px;
  margin-left: -60px;
}
@media screen and (max-width: 767px) {
  .kosodategreen__chance {
    width: 42.67vw;
    margin-top: -7vw;
    margin-left: -5vw;
  }
}
.kosodategreen__ttl {
  font-size: 30px;
  color: #0d7661;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .kosodategreen__ttl {
    font-size: 6.4vw;
    margin-top: 0.25em;
    text-align: center;
  }
}
.kosodategreen__container {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .kosodategreen__container {
    flex-wrap: wrap;
  }
}
.kosodategreen__diagram {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .kosodategreen__diagram {
    width: 100%;
  }
}
.kosodategreen__txt {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .kosodategreen__txt {
    width: 100%;
  }
}
.kosodategreen__note {
  font-size: 16px;
  color: #595757;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .kosodategreen__note {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .kosodategreen__note {
    font-size: 3.85vw;
  }
}
.kosodategreen__note .caution {
  font-weight: 700;
  border-bottom: 3px solid #e60012;
}
.kosodategreen__subttl {
  width: 100%;
  color: #595757;
}
@media screen and (max-width: 767px) {
  .kosodategreen__subttl {
    font-size: 4.1vw;
  }
}
.kosodategreen__balloon {
  position: relative;
  background-color: #fff;
  padding: 15px;
  border: solid 2px #45b035;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .kosodategreen__balloon {
    margin-top: 5vw;
    padding: 2.67vw;
  }
}
.kosodategreen__balloon:before {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 0 10px 20px 10px;
  border-color: transparent transparent #45b035;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
.kosodategreen__balloon:after {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 8px 16px 8px 0;
  border-color: transparent #fff transparent transparent;
  border-width: 0 7.8px 15.5px 7.8px;
  border-color: transparent transparent #fff;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
.kosodategreen__balloon-txt {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .kosodategreen__balloon-txt {
    font-size: 4vw;
    line-height: 1.6;
    margin-bottom: 1vw;
  }
}
.kosodategreen__balloon .txt--note {
  line-height: 1.4;
}

.pctb2 {
  display: none;
}

@media screen and (min-width: 768px) {
  .pctb2 {
    display: block;
  }
}
.sp2 {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp2 {
    display: block;
  }
}
.btn {
  color: #324468;
  background-color: #fff;
  padding: 1.5rem 0;
  display: flex;
  height: inherit;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .btn {
    padding: 1rem 0;
  }
}
.btn-box {
  border: #324468;
  background-color: #324468;
  color: #fff;
  font-weight: 700;
  width: 100%;
  transition: 0.3s;
  width: 60%;
  margin: 20px auto;
}
@media screen and (max-width: 767px) {
  .btn-box {
    width: 86%;
    margin: 3vw auto;
  }
}

.btn:hover {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  #disaster, #electricity {
    margin-top: -60px;
    padding-top: 60px;
  }
}
.recommend .recommend__items {
  border: solid 1px #131431;
  margin-top: 0;
  padding: 2em 0;
}

@media (max-width: 767px) {
  .recommend .recommend__items {
    border: solid 1px #131431;
    margin-top: 0;
    padding: 0 0 1em;
  }
  .recommend__item,
  a.recommend__item {
    border: solid 1px #fff;
  }
  a.recommend__item {
    border-top: solid 1px #e3ebee;
  }
}
.p-entry__container {
  position: relative;
}
.p-entry__container.u-single .p-entry__btnwrap {
  width: 56.1%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-entry__container.u-single .p-entry__btnwrap {
    width: 100%;
  }
}
.p-entry__container.u-single .c-campaignbtn {
  width: 100%;
}
.p-entry__imgwrap {
  display: flex;
  justify-content: end;
  padding: 0 3%;
  position: relative;
}
.p-entry__img {
  width: 12.4rem;
  display: block;
  position: relative;
}
@media (max-width: 767px) {
  .p-entry__img {
    width: 6.8rem;
  }
}
.p-entry__img-txt {
  position: absolute;
  top: 0;
  left: -20rem;
  display: block;
  text-align: center;
  padding: 0.8rem 2.4rem;
  border: 0.24rem solid lightgray;
  background-color: #fff;
  line-height: 1.5;
  font-size: 1.44rem;
}
@media (max-width: 767px) {
  .p-entry__img-txt {
    top: -0.64rem;
    left: -14.2rem;
    padding: 0.4rem 1.6rem;
    border: 0.16rem solid lightgray;
    font-size: 1.04rem;
  }
}
.p-entry__img-txt::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #fff;
  bottom: -1.6rem;
  right: 3.2rem;
  clip-path: polygon(0 37%, 100% 0, 100% 100%);
}
@media (max-width: 767px) {
  .p-entry__img-txt::before {
    width: 1.6rem;
    height: 1.6rem;
    bottom: -1rem;
    right: 3.1rem;
  }
}
.p-entry__img-txt::after {
  content: "";
  width: 2.72rem;
  height: 0.24rem;
  background-color: lightgray;
  position: absolute;
  bottom: -0.88rem;
  right: 3.2rem;
  transform: rotate(28deg);
}
@media (max-width: 767px) {
  .p-entry__img-txt::after {
    width: 1.92rem;
    height: 0.1444rem;
    bottom: -0.56rem;
    right: 3.04rem;
  }
}
.p-entry .u-font-cute {
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.p-entry__btnwrap {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-entry__btnwrap {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .p-entry__btnwrap {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
}

.c-campaignbtn {
  width: 100%;
  color: #fff;
  background-color: #EF8B1E;
  transition: 0.3s;
  border: 1px solid transparent;
  text-align: center;
  font-weight: 700;
  border-radius: 999em;
}
@media screen and (min-width: 768px) {
  .c-campaignbtn {
    width: 49%;
  }
}
@media (max-width: 767px) {
  .c-campaignbtn {
    margin-bottom: 0.8rem;
  }
}
.c-campaignbtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 6rem;
  position: relative;
  font-size: 20px;
}
@media (max-width: 767px) {
  .c-campaignbtn a {
    font-size: 3.59vw;
    padding: 2.05vw 2.56vw 2.56vw;
  }
}
.c-campaignbtn a .u-arw {
  right: 2rem;
}

.p-campaign__bann {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding-bottom: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-campaign__bann {
    width: 100%;
    padding-bottom: 2rem;
  }
}
@media (max-width: 767px) {
  .p-campaign__bann a {
    position: relative;
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
.p-campaign__relate {
  text-align: center;
  padding-bottom: 2.75rem;
}
@media (max-width: 767px) {
  .p-campaign__relate {
    font-size: 3.2vw;
    padding-bottom: 3vw;
  }
}

.gradation {
  content: "";
  width: 100%;
  height: 3vw;
  background: linear-gradient(0deg, rgb(255, 221, 178) 0%, rgb(255, 255, 255) 60%);
}
@media (max-width: 767px) {
  .gradation {
    height: 10vw;
  }
}

.triangle {
  content: "";
  height: 60px;
  width: 100%;
  clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
  background-color: #ffddb2;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .triangle {
    height: 6vw;
    margin-bottom: 6vw;
  }
}