:root {
  --font-primary: Noto Sans JP, sans-serif;
  --font-family-base: var(--font-primary);
  --font-weight-base: 400;
  --lineheight-base: 1.5;
  --font-size-base: 1.4rem;
  --color-white: #FFF;
  --color-primary: #0049B7;
  --color-secondary: #DCEAFD;
  --color-danger: #CF1126;
  --color-warning: #FFEA00;
  --color-muted: #FFFEEA;
  --color-info: #E7E7E7;
  --input-border-color: #E6E6E6;
  --input-border-width: 0.1rem;
  --input-font-size: 18px;
  --input-font-weight: 400;
  --input-background: #FFFEEA;
  --input-height: 5.6rem;
  --input-padding-x: 2rem;
  --input-padding-y: 1rem;
}
@media (min-width: 768px) {
  :root {
    --font-size-base: 1.6rem;
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 2.5641025641vw;
  letter-spacing: 0.05em;
  overflow-x: hidden;
}
@media (min-width: 768px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media (min-width: 1920px) {
  html {
    font-size: 10px;
  }
}
html.noscroll {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
  background-color: #fff;
  color: #231815;
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-base);
  font-size: var(--font-size-base);
  line-height: var(--lineheight-base);
  text-align: left;
  position: relative;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
  margin: 0;
}

ol,
ul,
dl {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

b,
strong {
  font-weight: 700;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

img {
  vertical-align: middle;
  border-style: none;
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

th {
  font-weight: 400;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

textarea {
  overflow: auto;
  resize: vertical;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

[hidden] {
  display: none !important;
}

.aligncenter {
  text-align: center;
}

.alignright {
  text-align: right;
}

.alignleft {
  text-align: left;
}

img.aligncenter {
  display: block;
  margin: auto;
}
img.alignright {
  display: block;
  margin-left: auto;
}
img.alignleft {
  display: block;
  margin-right: auto;
}

.container {
  margin: 0 auto;
  max-width: 119.2rem;
  padding-inline: 1.6rem;
  width: 100%;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
}
@media (min-width: 1192px) {
  .d-container-none {
    display: none !important;
  }
  .d-container-block {
    display: block !important;
  }
  .d-container-flex {
    display: flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
}
@media (min-width: 1920px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
}
.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-5 {
  margin: 0.5rem !important;
}

.mt-5,
.my-5 {
  margin-top: 0.5rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 0.5rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 0.5rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 0.5rem !important;
}

.m-10 {
  margin: 1rem !important;
}

.mt-10,
.my-10 {
  margin-top: 1rem !important;
}

.mr-10,
.mx-10 {
  margin-right: 1rem !important;
}

.mb-10,
.my-10 {
  margin-bottom: 1rem !important;
}

.ml-10,
.mx-10 {
  margin-left: 1rem !important;
}

.m-16 {
  margin: 1.6rem !important;
}

.mt-16,
.my-16 {
  margin-top: 1.6rem !important;
}

.mr-16,
.mx-16 {
  margin-right: 1.6rem !important;
}

.mb-16,
.my-16 {
  margin-bottom: 1.6rem !important;
}

.ml-16,
.mx-16 {
  margin-left: 1.6rem !important;
}

.m-20 {
  margin: 2rem !important;
}

.mt-20,
.my-20 {
  margin-top: 2rem !important;
}

.mr-20,
.mx-20 {
  margin-right: 2rem !important;
}

.mb-20,
.my-20 {
  margin-bottom: 2rem !important;
}

.ml-20,
.mx-20 {
  margin-left: 2rem !important;
}

.m-24 {
  margin: 2.4rem !important;
}

.mt-24,
.my-24 {
  margin-top: 2.4rem !important;
}

.mr-24,
.mx-24 {
  margin-right: 2.4rem !important;
}

.mb-24,
.my-24 {
  margin-bottom: 2.4rem !important;
}

.ml-24,
.mx-24 {
  margin-left: 2.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-5 {
  padding: 0.5rem !important;
}

.pt-5,
.py-5 {
  padding-top: 0.5rem !important;
}

.pr-5,
.px-5 {
  padding-right: 0.5rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 0.5rem !important;
}

.pl-5,
.px-5 {
  padding-left: 0.5rem !important;
}

.p-10 {
  padding: 1rem !important;
}

.pt-10,
.py-10 {
  padding-top: 1rem !important;
}

.pr-10,
.px-10 {
  padding-right: 1rem !important;
}

.pb-10,
.py-10 {
  padding-bottom: 1rem !important;
}

.pl-10,
.px-10 {
  padding-left: 1rem !important;
}

.p-16 {
  padding: 1.6rem !important;
}

.pt-16,
.py-16 {
  padding-top: 1.6rem !important;
}

.pr-16,
.px-16 {
  padding-right: 1.6rem !important;
}

.pb-16,
.py-16 {
  padding-bottom: 1.6rem !important;
}

.pl-16,
.px-16 {
  padding-left: 1.6rem !important;
}

.p-20 {
  padding: 2rem !important;
}

.pt-20,
.py-20 {
  padding-top: 2rem !important;
}

.pr-20,
.px-20 {
  padding-right: 2rem !important;
}

.pb-20,
.py-20 {
  padding-bottom: 2rem !important;
}

.pl-20,
.px-20 {
  padding-left: 2rem !important;
}

.p-24 {
  padding: 2.4rem !important;
}

.pt-24,
.py-24 {
  padding-top: 2.4rem !important;
}

.pr-24,
.px-24 {
  padding-right: 2.4rem !important;
}

.pb-24,
.py-24 {
  padding-bottom: 2.4rem !important;
}

.pl-24,
.px-24 {
  padding-left: 2.4rem !important;
}

.m-n5 {
  margin: -0.5rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -0.5rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -0.5rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -0.5rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -0.5rem !important;
}

.m-n10 {
  margin: -1rem !important;
}

.mt-n10,
.my-n10 {
  margin-top: -1rem !important;
}

.mr-n10,
.mx-n10 {
  margin-right: -1rem !important;
}

.mb-n10,
.my-n10 {
  margin-bottom: -1rem !important;
}

.ml-n10,
.mx-n10 {
  margin-left: -1rem !important;
}

.m-n16 {
  margin: -1.6rem !important;
}

.mt-n16,
.my-n16 {
  margin-top: -1.6rem !important;
}

.mr-n16,
.mx-n16 {
  margin-right: -1.6rem !important;
}

.mb-n16,
.my-n16 {
  margin-bottom: -1.6rem !important;
}

.ml-n16,
.mx-n16 {
  margin-left: -1.6rem !important;
}

.m-n20 {
  margin: -2rem !important;
}

.mt-n20,
.my-n20 {
  margin-top: -2rem !important;
}

.mr-n20,
.mx-n20 {
  margin-right: -2rem !important;
}

.mb-n20,
.my-n20 {
  margin-bottom: -2rem !important;
}

.ml-n20,
.mx-n20 {
  margin-left: -2rem !important;
}

.m-n24 {
  margin: -2.4rem !important;
}

.mt-n24,
.my-n24 {
  margin-top: -2.4rem !important;
}

.mr-n24,
.mx-n24 {
  margin-right: -2.4rem !important;
}

.mb-n24,
.my-n24 {
  margin-bottom: -2.4rem !important;
}

.ml-n24,
.mx-n24 {
  margin-left: -2.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-5 {
    margin: 0.5rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 0.5rem !important;
  }
  .m-sm-10 {
    margin: 1rem !important;
  }
  .mt-sm-10,
  .my-sm-10 {
    margin-top: 1rem !important;
  }
  .mr-sm-10,
  .mx-sm-10 {
    margin-right: 1rem !important;
  }
  .mb-sm-10,
  .my-sm-10 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-10,
  .mx-sm-10 {
    margin-left: 1rem !important;
  }
  .m-sm-16 {
    margin: 1.6rem !important;
  }
  .mt-sm-16,
  .my-sm-16 {
    margin-top: 1.6rem !important;
  }
  .mr-sm-16,
  .mx-sm-16 {
    margin-right: 1.6rem !important;
  }
  .mb-sm-16,
  .my-sm-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-sm-16,
  .mx-sm-16 {
    margin-left: 1.6rem !important;
  }
  .m-sm-20 {
    margin: 2rem !important;
  }
  .mt-sm-20,
  .my-sm-20 {
    margin-top: 2rem !important;
  }
  .mr-sm-20,
  .mx-sm-20 {
    margin-right: 2rem !important;
  }
  .mb-sm-20,
  .my-sm-20 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-20,
  .mx-sm-20 {
    margin-left: 2rem !important;
  }
  .m-sm-24 {
    margin: 2.4rem !important;
  }
  .mt-sm-24,
  .my-sm-24 {
    margin-top: 2.4rem !important;
  }
  .mr-sm-24,
  .mx-sm-24 {
    margin-right: 2.4rem !important;
  }
  .mb-sm-24,
  .my-sm-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-sm-24,
  .mx-sm-24 {
    margin-left: 2.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-5 {
    padding: 0.5rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 0.5rem !important;
  }
  .p-sm-10 {
    padding: 1rem !important;
  }
  .pt-sm-10,
  .py-sm-10 {
    padding-top: 1rem !important;
  }
  .pr-sm-10,
  .px-sm-10 {
    padding-right: 1rem !important;
  }
  .pb-sm-10,
  .py-sm-10 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-10,
  .px-sm-10 {
    padding-left: 1rem !important;
  }
  .p-sm-16 {
    padding: 1.6rem !important;
  }
  .pt-sm-16,
  .py-sm-16 {
    padding-top: 1.6rem !important;
  }
  .pr-sm-16,
  .px-sm-16 {
    padding-right: 1.6rem !important;
  }
  .pb-sm-16,
  .py-sm-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-sm-16,
  .px-sm-16 {
    padding-left: 1.6rem !important;
  }
  .p-sm-20 {
    padding: 2rem !important;
  }
  .pt-sm-20,
  .py-sm-20 {
    padding-top: 2rem !important;
  }
  .pr-sm-20,
  .px-sm-20 {
    padding-right: 2rem !important;
  }
  .pb-sm-20,
  .py-sm-20 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-20,
  .px-sm-20 {
    padding-left: 2rem !important;
  }
  .p-sm-24 {
    padding: 2.4rem !important;
  }
  .pt-sm-24,
  .py-sm-24 {
    padding-top: 2.4rem !important;
  }
  .pr-sm-24,
  .px-sm-24 {
    padding-right: 2.4rem !important;
  }
  .pb-sm-24,
  .py-sm-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-sm-24,
  .px-sm-24 {
    padding-left: 2.4rem !important;
  }
  .m-sm-n5 {
    margin: -0.5rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n10 {
    margin: -1rem !important;
  }
  .mt-sm-n10,
  .my-sm-n10 {
    margin-top: -1rem !important;
  }
  .mr-sm-n10,
  .mx-sm-n10 {
    margin-right: -1rem !important;
  }
  .mb-sm-n10,
  .my-sm-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n10,
  .mx-sm-n10 {
    margin-left: -1rem !important;
  }
  .m-sm-n16 {
    margin: -1.6rem !important;
  }
  .mt-sm-n16,
  .my-sm-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-sm-n16,
  .mx-sm-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-sm-n16,
  .my-sm-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-sm-n16,
  .mx-sm-n16 {
    margin-left: -1.6rem !important;
  }
  .m-sm-n20 {
    margin: -2rem !important;
  }
  .mt-sm-n20,
  .my-sm-n20 {
    margin-top: -2rem !important;
  }
  .mr-sm-n20,
  .mx-sm-n20 {
    margin-right: -2rem !important;
  }
  .mb-sm-n20,
  .my-sm-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-sm-n20,
  .mx-sm-n20 {
    margin-left: -2rem !important;
  }
  .m-sm-n24 {
    margin: -2.4rem !important;
  }
  .mt-sm-n24,
  .my-sm-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-sm-n24,
  .mx-sm-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-sm-n24,
  .my-sm-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-sm-n24,
  .mx-sm-n24 {
    margin-left: -2.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-5 {
    margin: 0.5rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 0.5rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 0.5rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 0.5rem !important;
  }
  .m-md-10 {
    margin: 1rem !important;
  }
  .mt-md-10,
  .my-md-10 {
    margin-top: 1rem !important;
  }
  .mr-md-10,
  .mx-md-10 {
    margin-right: 1rem !important;
  }
  .mb-md-10,
  .my-md-10 {
    margin-bottom: 1rem !important;
  }
  .ml-md-10,
  .mx-md-10 {
    margin-left: 1rem !important;
  }
  .m-md-16 {
    margin: 1.6rem !important;
  }
  .mt-md-16,
  .my-md-16 {
    margin-top: 1.6rem !important;
  }
  .mr-md-16,
  .mx-md-16 {
    margin-right: 1.6rem !important;
  }
  .mb-md-16,
  .my-md-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-md-16,
  .mx-md-16 {
    margin-left: 1.6rem !important;
  }
  .m-md-20 {
    margin: 2rem !important;
  }
  .mt-md-20,
  .my-md-20 {
    margin-top: 2rem !important;
  }
  .mr-md-20,
  .mx-md-20 {
    margin-right: 2rem !important;
  }
  .mb-md-20,
  .my-md-20 {
    margin-bottom: 2rem !important;
  }
  .ml-md-20,
  .mx-md-20 {
    margin-left: 2rem !important;
  }
  .m-md-24 {
    margin: 2.4rem !important;
  }
  .mt-md-24,
  .my-md-24 {
    margin-top: 2.4rem !important;
  }
  .mr-md-24,
  .mx-md-24 {
    margin-right: 2.4rem !important;
  }
  .mb-md-24,
  .my-md-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-md-24,
  .mx-md-24 {
    margin-left: 2.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-5 {
    padding: 0.5rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 0.5rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 0.5rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 0.5rem !important;
  }
  .p-md-10 {
    padding: 1rem !important;
  }
  .pt-md-10,
  .py-md-10 {
    padding-top: 1rem !important;
  }
  .pr-md-10,
  .px-md-10 {
    padding-right: 1rem !important;
  }
  .pb-md-10,
  .py-md-10 {
    padding-bottom: 1rem !important;
  }
  .pl-md-10,
  .px-md-10 {
    padding-left: 1rem !important;
  }
  .p-md-16 {
    padding: 1.6rem !important;
  }
  .pt-md-16,
  .py-md-16 {
    padding-top: 1.6rem !important;
  }
  .pr-md-16,
  .px-md-16 {
    padding-right: 1.6rem !important;
  }
  .pb-md-16,
  .py-md-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-md-16,
  .px-md-16 {
    padding-left: 1.6rem !important;
  }
  .p-md-20 {
    padding: 2rem !important;
  }
  .pt-md-20,
  .py-md-20 {
    padding-top: 2rem !important;
  }
  .pr-md-20,
  .px-md-20 {
    padding-right: 2rem !important;
  }
  .pb-md-20,
  .py-md-20 {
    padding-bottom: 2rem !important;
  }
  .pl-md-20,
  .px-md-20 {
    padding-left: 2rem !important;
  }
  .p-md-24 {
    padding: 2.4rem !important;
  }
  .pt-md-24,
  .py-md-24 {
    padding-top: 2.4rem !important;
  }
  .pr-md-24,
  .px-md-24 {
    padding-right: 2.4rem !important;
  }
  .pb-md-24,
  .py-md-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-md-24,
  .px-md-24 {
    padding-left: 2.4rem !important;
  }
  .m-md-n5 {
    margin: -0.5rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -0.5rem !important;
  }
  .m-md-n10 {
    margin: -1rem !important;
  }
  .mt-md-n10,
  .my-md-n10 {
    margin-top: -1rem !important;
  }
  .mr-md-n10,
  .mx-md-n10 {
    margin-right: -1rem !important;
  }
  .mb-md-n10,
  .my-md-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n10,
  .mx-md-n10 {
    margin-left: -1rem !important;
  }
  .m-md-n16 {
    margin: -1.6rem !important;
  }
  .mt-md-n16,
  .my-md-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-md-n16,
  .mx-md-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-md-n16,
  .my-md-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-md-n16,
  .mx-md-n16 {
    margin-left: -1.6rem !important;
  }
  .m-md-n20 {
    margin: -2rem !important;
  }
  .mt-md-n20,
  .my-md-n20 {
    margin-top: -2rem !important;
  }
  .mr-md-n20,
  .mx-md-n20 {
    margin-right: -2rem !important;
  }
  .mb-md-n20,
  .my-md-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-md-n20,
  .mx-md-n20 {
    margin-left: -2rem !important;
  }
  .m-md-n24 {
    margin: -2.4rem !important;
  }
  .mt-md-n24,
  .my-md-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-md-n24,
  .mx-md-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-md-n24,
  .my-md-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-md-n24,
  .mx-md-n24 {
    margin-left: -2.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-5 {
    margin: 0.5rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 0.5rem !important;
  }
  .m-lg-10 {
    margin: 1rem !important;
  }
  .mt-lg-10,
  .my-lg-10 {
    margin-top: 1rem !important;
  }
  .mr-lg-10,
  .mx-lg-10 {
    margin-right: 1rem !important;
  }
  .mb-lg-10,
  .my-lg-10 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-10,
  .mx-lg-10 {
    margin-left: 1rem !important;
  }
  .m-lg-16 {
    margin: 1.6rem !important;
  }
  .mt-lg-16,
  .my-lg-16 {
    margin-top: 1.6rem !important;
  }
  .mr-lg-16,
  .mx-lg-16 {
    margin-right: 1.6rem !important;
  }
  .mb-lg-16,
  .my-lg-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-lg-16,
  .mx-lg-16 {
    margin-left: 1.6rem !important;
  }
  .m-lg-20 {
    margin: 2rem !important;
  }
  .mt-lg-20,
  .my-lg-20 {
    margin-top: 2rem !important;
  }
  .mr-lg-20,
  .mx-lg-20 {
    margin-right: 2rem !important;
  }
  .mb-lg-20,
  .my-lg-20 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-20,
  .mx-lg-20 {
    margin-left: 2rem !important;
  }
  .m-lg-24 {
    margin: 2.4rem !important;
  }
  .mt-lg-24,
  .my-lg-24 {
    margin-top: 2.4rem !important;
  }
  .mr-lg-24,
  .mx-lg-24 {
    margin-right: 2.4rem !important;
  }
  .mb-lg-24,
  .my-lg-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-lg-24,
  .mx-lg-24 {
    margin-left: 2.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-5 {
    padding: 0.5rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 0.5rem !important;
  }
  .p-lg-10 {
    padding: 1rem !important;
  }
  .pt-lg-10,
  .py-lg-10 {
    padding-top: 1rem !important;
  }
  .pr-lg-10,
  .px-lg-10 {
    padding-right: 1rem !important;
  }
  .pb-lg-10,
  .py-lg-10 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-10,
  .px-lg-10 {
    padding-left: 1rem !important;
  }
  .p-lg-16 {
    padding: 1.6rem !important;
  }
  .pt-lg-16,
  .py-lg-16 {
    padding-top: 1.6rem !important;
  }
  .pr-lg-16,
  .px-lg-16 {
    padding-right: 1.6rem !important;
  }
  .pb-lg-16,
  .py-lg-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-lg-16,
  .px-lg-16 {
    padding-left: 1.6rem !important;
  }
  .p-lg-20 {
    padding: 2rem !important;
  }
  .pt-lg-20,
  .py-lg-20 {
    padding-top: 2rem !important;
  }
  .pr-lg-20,
  .px-lg-20 {
    padding-right: 2rem !important;
  }
  .pb-lg-20,
  .py-lg-20 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-20,
  .px-lg-20 {
    padding-left: 2rem !important;
  }
  .p-lg-24 {
    padding: 2.4rem !important;
  }
  .pt-lg-24,
  .py-lg-24 {
    padding-top: 2.4rem !important;
  }
  .pr-lg-24,
  .px-lg-24 {
    padding-right: 2.4rem !important;
  }
  .pb-lg-24,
  .py-lg-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-lg-24,
  .px-lg-24 {
    padding-left: 2.4rem !important;
  }
  .m-lg-n5 {
    margin: -0.5rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n10 {
    margin: -1rem !important;
  }
  .mt-lg-n10,
  .my-lg-n10 {
    margin-top: -1rem !important;
  }
  .mr-lg-n10,
  .mx-lg-n10 {
    margin-right: -1rem !important;
  }
  .mb-lg-n10,
  .my-lg-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n10,
  .mx-lg-n10 {
    margin-left: -1rem !important;
  }
  .m-lg-n16 {
    margin: -1.6rem !important;
  }
  .mt-lg-n16,
  .my-lg-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-lg-n16,
  .mx-lg-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-lg-n16,
  .my-lg-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-lg-n16,
  .mx-lg-n16 {
    margin-left: -1.6rem !important;
  }
  .m-lg-n20 {
    margin: -2rem !important;
  }
  .mt-lg-n20,
  .my-lg-n20 {
    margin-top: -2rem !important;
  }
  .mr-lg-n20,
  .mx-lg-n20 {
    margin-right: -2rem !important;
  }
  .mb-lg-n20,
  .my-lg-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-lg-n20,
  .mx-lg-n20 {
    margin-left: -2rem !important;
  }
  .m-lg-n24 {
    margin: -2.4rem !important;
  }
  .mt-lg-n24,
  .my-lg-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-lg-n24,
  .mx-lg-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-lg-n24,
  .my-lg-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-lg-n24,
  .mx-lg-n24 {
    margin-left: -2.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: 1192px) {
  .m-container-0 {
    margin: 0 !important;
  }
  .mt-container-0,
  .my-container-0 {
    margin-top: 0 !important;
  }
  .mr-container-0,
  .mx-container-0 {
    margin-right: 0 !important;
  }
  .mb-container-0,
  .my-container-0 {
    margin-bottom: 0 !important;
  }
  .ml-container-0,
  .mx-container-0 {
    margin-left: 0 !important;
  }
  .m-container-5 {
    margin: 0.5rem !important;
  }
  .mt-container-5,
  .my-container-5 {
    margin-top: 0.5rem !important;
  }
  .mr-container-5,
  .mx-container-5 {
    margin-right: 0.5rem !important;
  }
  .mb-container-5,
  .my-container-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-container-5,
  .mx-container-5 {
    margin-left: 0.5rem !important;
  }
  .m-container-10 {
    margin: 1rem !important;
  }
  .mt-container-10,
  .my-container-10 {
    margin-top: 1rem !important;
  }
  .mr-container-10,
  .mx-container-10 {
    margin-right: 1rem !important;
  }
  .mb-container-10,
  .my-container-10 {
    margin-bottom: 1rem !important;
  }
  .ml-container-10,
  .mx-container-10 {
    margin-left: 1rem !important;
  }
  .m-container-16 {
    margin: 1.6rem !important;
  }
  .mt-container-16,
  .my-container-16 {
    margin-top: 1.6rem !important;
  }
  .mr-container-16,
  .mx-container-16 {
    margin-right: 1.6rem !important;
  }
  .mb-container-16,
  .my-container-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-container-16,
  .mx-container-16 {
    margin-left: 1.6rem !important;
  }
  .m-container-20 {
    margin: 2rem !important;
  }
  .mt-container-20,
  .my-container-20 {
    margin-top: 2rem !important;
  }
  .mr-container-20,
  .mx-container-20 {
    margin-right: 2rem !important;
  }
  .mb-container-20,
  .my-container-20 {
    margin-bottom: 2rem !important;
  }
  .ml-container-20,
  .mx-container-20 {
    margin-left: 2rem !important;
  }
  .m-container-24 {
    margin: 2.4rem !important;
  }
  .mt-container-24,
  .my-container-24 {
    margin-top: 2.4rem !important;
  }
  .mr-container-24,
  .mx-container-24 {
    margin-right: 2.4rem !important;
  }
  .mb-container-24,
  .my-container-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-container-24,
  .mx-container-24 {
    margin-left: 2.4rem !important;
  }
  .p-container-0 {
    padding: 0 !important;
  }
  .pt-container-0,
  .py-container-0 {
    padding-top: 0 !important;
  }
  .pr-container-0,
  .px-container-0 {
    padding-right: 0 !important;
  }
  .pb-container-0,
  .py-container-0 {
    padding-bottom: 0 !important;
  }
  .pl-container-0,
  .px-container-0 {
    padding-left: 0 !important;
  }
  .p-container-5 {
    padding: 0.5rem !important;
  }
  .pt-container-5,
  .py-container-5 {
    padding-top: 0.5rem !important;
  }
  .pr-container-5,
  .px-container-5 {
    padding-right: 0.5rem !important;
  }
  .pb-container-5,
  .py-container-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-container-5,
  .px-container-5 {
    padding-left: 0.5rem !important;
  }
  .p-container-10 {
    padding: 1rem !important;
  }
  .pt-container-10,
  .py-container-10 {
    padding-top: 1rem !important;
  }
  .pr-container-10,
  .px-container-10 {
    padding-right: 1rem !important;
  }
  .pb-container-10,
  .py-container-10 {
    padding-bottom: 1rem !important;
  }
  .pl-container-10,
  .px-container-10 {
    padding-left: 1rem !important;
  }
  .p-container-16 {
    padding: 1.6rem !important;
  }
  .pt-container-16,
  .py-container-16 {
    padding-top: 1.6rem !important;
  }
  .pr-container-16,
  .px-container-16 {
    padding-right: 1.6rem !important;
  }
  .pb-container-16,
  .py-container-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-container-16,
  .px-container-16 {
    padding-left: 1.6rem !important;
  }
  .p-container-20 {
    padding: 2rem !important;
  }
  .pt-container-20,
  .py-container-20 {
    padding-top: 2rem !important;
  }
  .pr-container-20,
  .px-container-20 {
    padding-right: 2rem !important;
  }
  .pb-container-20,
  .py-container-20 {
    padding-bottom: 2rem !important;
  }
  .pl-container-20,
  .px-container-20 {
    padding-left: 2rem !important;
  }
  .p-container-24 {
    padding: 2.4rem !important;
  }
  .pt-container-24,
  .py-container-24 {
    padding-top: 2.4rem !important;
  }
  .pr-container-24,
  .px-container-24 {
    padding-right: 2.4rem !important;
  }
  .pb-container-24,
  .py-container-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-container-24,
  .px-container-24 {
    padding-left: 2.4rem !important;
  }
  .m-container-n5 {
    margin: -0.5rem !important;
  }
  .mt-container-n5,
  .my-container-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-container-n5,
  .mx-container-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-container-n5,
  .my-container-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-container-n5,
  .mx-container-n5 {
    margin-left: -0.5rem !important;
  }
  .m-container-n10 {
    margin: -1rem !important;
  }
  .mt-container-n10,
  .my-container-n10 {
    margin-top: -1rem !important;
  }
  .mr-container-n10,
  .mx-container-n10 {
    margin-right: -1rem !important;
  }
  .mb-container-n10,
  .my-container-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-container-n10,
  .mx-container-n10 {
    margin-left: -1rem !important;
  }
  .m-container-n16 {
    margin: -1.6rem !important;
  }
  .mt-container-n16,
  .my-container-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-container-n16,
  .mx-container-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-container-n16,
  .my-container-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-container-n16,
  .mx-container-n16 {
    margin-left: -1.6rem !important;
  }
  .m-container-n20 {
    margin: -2rem !important;
  }
  .mt-container-n20,
  .my-container-n20 {
    margin-top: -2rem !important;
  }
  .mr-container-n20,
  .mx-container-n20 {
    margin-right: -2rem !important;
  }
  .mb-container-n20,
  .my-container-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-container-n20,
  .mx-container-n20 {
    margin-left: -2rem !important;
  }
  .m-container-n24 {
    margin: -2.4rem !important;
  }
  .mt-container-n24,
  .my-container-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-container-n24,
  .mx-container-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-container-n24,
  .my-container-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-container-n24,
  .mx-container-n24 {
    margin-left: -2.4rem !important;
  }
  .m-container-auto {
    margin: auto !important;
  }
  .mt-container-auto,
  .my-container-auto {
    margin-top: auto !important;
  }
  .mr-container-auto,
  .mx-container-auto {
    margin-right: auto !important;
  }
  .mb-container-auto,
  .my-container-auto {
    margin-bottom: auto !important;
  }
  .ml-container-auto,
  .mx-container-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-5 {
    margin: 0.5rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 0.5rem !important;
  }
  .m-xl-10 {
    margin: 1rem !important;
  }
  .mt-xl-10,
  .my-xl-10 {
    margin-top: 1rem !important;
  }
  .mr-xl-10,
  .mx-xl-10 {
    margin-right: 1rem !important;
  }
  .mb-xl-10,
  .my-xl-10 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-10,
  .mx-xl-10 {
    margin-left: 1rem !important;
  }
  .m-xl-16 {
    margin: 1.6rem !important;
  }
  .mt-xl-16,
  .my-xl-16 {
    margin-top: 1.6rem !important;
  }
  .mr-xl-16,
  .mx-xl-16 {
    margin-right: 1.6rem !important;
  }
  .mb-xl-16,
  .my-xl-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-xl-16,
  .mx-xl-16 {
    margin-left: 1.6rem !important;
  }
  .m-xl-20 {
    margin: 2rem !important;
  }
  .mt-xl-20,
  .my-xl-20 {
    margin-top: 2rem !important;
  }
  .mr-xl-20,
  .mx-xl-20 {
    margin-right: 2rem !important;
  }
  .mb-xl-20,
  .my-xl-20 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-20,
  .mx-xl-20 {
    margin-left: 2rem !important;
  }
  .m-xl-24 {
    margin: 2.4rem !important;
  }
  .mt-xl-24,
  .my-xl-24 {
    margin-top: 2.4rem !important;
  }
  .mr-xl-24,
  .mx-xl-24 {
    margin-right: 2.4rem !important;
  }
  .mb-xl-24,
  .my-xl-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-xl-24,
  .mx-xl-24 {
    margin-left: 2.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-5 {
    padding: 0.5rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 0.5rem !important;
  }
  .p-xl-10 {
    padding: 1rem !important;
  }
  .pt-xl-10,
  .py-xl-10 {
    padding-top: 1rem !important;
  }
  .pr-xl-10,
  .px-xl-10 {
    padding-right: 1rem !important;
  }
  .pb-xl-10,
  .py-xl-10 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-10,
  .px-xl-10 {
    padding-left: 1rem !important;
  }
  .p-xl-16 {
    padding: 1.6rem !important;
  }
  .pt-xl-16,
  .py-xl-16 {
    padding-top: 1.6rem !important;
  }
  .pr-xl-16,
  .px-xl-16 {
    padding-right: 1.6rem !important;
  }
  .pb-xl-16,
  .py-xl-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-xl-16,
  .px-xl-16 {
    padding-left: 1.6rem !important;
  }
  .p-xl-20 {
    padding: 2rem !important;
  }
  .pt-xl-20,
  .py-xl-20 {
    padding-top: 2rem !important;
  }
  .pr-xl-20,
  .px-xl-20 {
    padding-right: 2rem !important;
  }
  .pb-xl-20,
  .py-xl-20 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-20,
  .px-xl-20 {
    padding-left: 2rem !important;
  }
  .p-xl-24 {
    padding: 2.4rem !important;
  }
  .pt-xl-24,
  .py-xl-24 {
    padding-top: 2.4rem !important;
  }
  .pr-xl-24,
  .px-xl-24 {
    padding-right: 2.4rem !important;
  }
  .pb-xl-24,
  .py-xl-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-xl-24,
  .px-xl-24 {
    padding-left: 2.4rem !important;
  }
  .m-xl-n5 {
    margin: -0.5rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n10 {
    margin: -1rem !important;
  }
  .mt-xl-n10,
  .my-xl-n10 {
    margin-top: -1rem !important;
  }
  .mr-xl-n10,
  .mx-xl-n10 {
    margin-right: -1rem !important;
  }
  .mb-xl-n10,
  .my-xl-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n10,
  .mx-xl-n10 {
    margin-left: -1rem !important;
  }
  .m-xl-n16 {
    margin: -1.6rem !important;
  }
  .mt-xl-n16,
  .my-xl-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-xl-n16,
  .mx-xl-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-xl-n16,
  .my-xl-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-xl-n16,
  .mx-xl-n16 {
    margin-left: -1.6rem !important;
  }
  .m-xl-n20 {
    margin: -2rem !important;
  }
  .mt-xl-n20,
  .my-xl-n20 {
    margin-top: -2rem !important;
  }
  .mr-xl-n20,
  .mx-xl-n20 {
    margin-right: -2rem !important;
  }
  .mb-xl-n20,
  .my-xl-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-xl-n20,
  .mx-xl-n20 {
    margin-left: -2rem !important;
  }
  .m-xl-n24 {
    margin: -2.4rem !important;
  }
  .mt-xl-n24,
  .my-xl-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-xl-n24,
  .mx-xl-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-xl-n24,
  .my-xl-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-xl-n24,
  .mx-xl-n24 {
    margin-left: -2.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;
  }
}
@media (min-width: 1920px) {
  .m-xxl-0 {
    margin: 0 !important;
  }
  .mt-xxl-0,
  .my-xxl-0 {
    margin-top: 0 !important;
  }
  .mr-xxl-0,
  .mx-xxl-0 {
    margin-right: 0 !important;
  }
  .mb-xxl-0,
  .my-xxl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xxl-0,
  .mx-xxl-0 {
    margin-left: 0 !important;
  }
  .m-xxl-5 {
    margin: 0.5rem !important;
  }
  .mt-xxl-5,
  .my-xxl-5 {
    margin-top: 0.5rem !important;
  }
  .mr-xxl-5,
  .mx-xxl-5 {
    margin-right: 0.5rem !important;
  }
  .mb-xxl-5,
  .my-xxl-5 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xxl-5,
  .mx-xxl-5 {
    margin-left: 0.5rem !important;
  }
  .m-xxl-10 {
    margin: 1rem !important;
  }
  .mt-xxl-10,
  .my-xxl-10 {
    margin-top: 1rem !important;
  }
  .mr-xxl-10,
  .mx-xxl-10 {
    margin-right: 1rem !important;
  }
  .mb-xxl-10,
  .my-xxl-10 {
    margin-bottom: 1rem !important;
  }
  .ml-xxl-10,
  .mx-xxl-10 {
    margin-left: 1rem !important;
  }
  .m-xxl-16 {
    margin: 1.6rem !important;
  }
  .mt-xxl-16,
  .my-xxl-16 {
    margin-top: 1.6rem !important;
  }
  .mr-xxl-16,
  .mx-xxl-16 {
    margin-right: 1.6rem !important;
  }
  .mb-xxl-16,
  .my-xxl-16 {
    margin-bottom: 1.6rem !important;
  }
  .ml-xxl-16,
  .mx-xxl-16 {
    margin-left: 1.6rem !important;
  }
  .m-xxl-20 {
    margin: 2rem !important;
  }
  .mt-xxl-20,
  .my-xxl-20 {
    margin-top: 2rem !important;
  }
  .mr-xxl-20,
  .mx-xxl-20 {
    margin-right: 2rem !important;
  }
  .mb-xxl-20,
  .my-xxl-20 {
    margin-bottom: 2rem !important;
  }
  .ml-xxl-20,
  .mx-xxl-20 {
    margin-left: 2rem !important;
  }
  .m-xxl-24 {
    margin: 2.4rem !important;
  }
  .mt-xxl-24,
  .my-xxl-24 {
    margin-top: 2.4rem !important;
  }
  .mr-xxl-24,
  .mx-xxl-24 {
    margin-right: 2.4rem !important;
  }
  .mb-xxl-24,
  .my-xxl-24 {
    margin-bottom: 2.4rem !important;
  }
  .ml-xxl-24,
  .mx-xxl-24 {
    margin-left: 2.4rem !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .pt-xxl-0,
  .py-xxl-0 {
    padding-top: 0 !important;
  }
  .pr-xxl-0,
  .px-xxl-0 {
    padding-right: 0 !important;
  }
  .pb-xxl-0,
  .py-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xxl-0,
  .px-xxl-0 {
    padding-left: 0 !important;
  }
  .p-xxl-5 {
    padding: 0.5rem !important;
  }
  .pt-xxl-5,
  .py-xxl-5 {
    padding-top: 0.5rem !important;
  }
  .pr-xxl-5,
  .px-xxl-5 {
    padding-right: 0.5rem !important;
  }
  .pb-xxl-5,
  .py-xxl-5 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xxl-5,
  .px-xxl-5 {
    padding-left: 0.5rem !important;
  }
  .p-xxl-10 {
    padding: 1rem !important;
  }
  .pt-xxl-10,
  .py-xxl-10 {
    padding-top: 1rem !important;
  }
  .pr-xxl-10,
  .px-xxl-10 {
    padding-right: 1rem !important;
  }
  .pb-xxl-10,
  .py-xxl-10 {
    padding-bottom: 1rem !important;
  }
  .pl-xxl-10,
  .px-xxl-10 {
    padding-left: 1rem !important;
  }
  .p-xxl-16 {
    padding: 1.6rem !important;
  }
  .pt-xxl-16,
  .py-xxl-16 {
    padding-top: 1.6rem !important;
  }
  .pr-xxl-16,
  .px-xxl-16 {
    padding-right: 1.6rem !important;
  }
  .pb-xxl-16,
  .py-xxl-16 {
    padding-bottom: 1.6rem !important;
  }
  .pl-xxl-16,
  .px-xxl-16 {
    padding-left: 1.6rem !important;
  }
  .p-xxl-20 {
    padding: 2rem !important;
  }
  .pt-xxl-20,
  .py-xxl-20 {
    padding-top: 2rem !important;
  }
  .pr-xxl-20,
  .px-xxl-20 {
    padding-right: 2rem !important;
  }
  .pb-xxl-20,
  .py-xxl-20 {
    padding-bottom: 2rem !important;
  }
  .pl-xxl-20,
  .px-xxl-20 {
    padding-left: 2rem !important;
  }
  .p-xxl-24 {
    padding: 2.4rem !important;
  }
  .pt-xxl-24,
  .py-xxl-24 {
    padding-top: 2.4rem !important;
  }
  .pr-xxl-24,
  .px-xxl-24 {
    padding-right: 2.4rem !important;
  }
  .pb-xxl-24,
  .py-xxl-24 {
    padding-bottom: 2.4rem !important;
  }
  .pl-xxl-24,
  .px-xxl-24 {
    padding-left: 2.4rem !important;
  }
  .m-xxl-n5 {
    margin: -0.5rem !important;
  }
  .mt-xxl-n5,
  .my-xxl-n5 {
    margin-top: -0.5rem !important;
  }
  .mr-xxl-n5,
  .mx-xxl-n5 {
    margin-right: -0.5rem !important;
  }
  .mb-xxl-n5,
  .my-xxl-n5 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xxl-n5,
  .mx-xxl-n5 {
    margin-left: -0.5rem !important;
  }
  .m-xxl-n10 {
    margin: -1rem !important;
  }
  .mt-xxl-n10,
  .my-xxl-n10 {
    margin-top: -1rem !important;
  }
  .mr-xxl-n10,
  .mx-xxl-n10 {
    margin-right: -1rem !important;
  }
  .mb-xxl-n10,
  .my-xxl-n10 {
    margin-bottom: -1rem !important;
  }
  .ml-xxl-n10,
  .mx-xxl-n10 {
    margin-left: -1rem !important;
  }
  .m-xxl-n16 {
    margin: -1.6rem !important;
  }
  .mt-xxl-n16,
  .my-xxl-n16 {
    margin-top: -1.6rem !important;
  }
  .mr-xxl-n16,
  .mx-xxl-n16 {
    margin-right: -1.6rem !important;
  }
  .mb-xxl-n16,
  .my-xxl-n16 {
    margin-bottom: -1.6rem !important;
  }
  .ml-xxl-n16,
  .mx-xxl-n16 {
    margin-left: -1.6rem !important;
  }
  .m-xxl-n20 {
    margin: -2rem !important;
  }
  .mt-xxl-n20,
  .my-xxl-n20 {
    margin-top: -2rem !important;
  }
  .mr-xxl-n20,
  .mx-xxl-n20 {
    margin-right: -2rem !important;
  }
  .mb-xxl-n20,
  .my-xxl-n20 {
    margin-bottom: -2rem !important;
  }
  .ml-xxl-n20,
  .mx-xxl-n20 {
    margin-left: -2rem !important;
  }
  .m-xxl-n24 {
    margin: -2.4rem !important;
  }
  .mt-xxl-n24,
  .my-xxl-n24 {
    margin-top: -2.4rem !important;
  }
  .mr-xxl-n24,
  .mx-xxl-n24 {
    margin-right: -2.4rem !important;
  }
  .mb-xxl-n24,
  .my-xxl-n24 {
    margin-bottom: -2.4rem !important;
  }
  .ml-xxl-n24,
  .mx-xxl-n24 {
    margin-left: -2.4rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mt-xxl-auto,
  .my-xxl-auto {
    margin-top: auto !important;
  }
  .mr-xxl-auto,
  .mx-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-auto,
  .my-xxl-auto {
    margin-bottom: auto !important;
  }
  .ml-xxl-auto,
  .mx-xxl-auto {
    margin-left: auto !important;
  }
}
.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1192px) {
  .text-container-left {
    text-align: left !important;
  }
  .text-container-right {
    text-align: right !important;
  }
  .text-container-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1920px) {
  .text-xxl-left {
    text-align: left !important;
  }
  .text-xxl-right {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-underline {
  text-decoration: underline;
}

.animate_animated {
  animation-duration: 1.5s;
  animation-fill-mode: both;
  animation-timing-function: ease;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

.btn {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #231815;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
}
.btn:focus, .btn.focus {
  outline: 0;
}
.btn.disabled, .btn:disabled {
  opacity: 0.6;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.p-header {
  background-color: var(--color-white);
  width: 100%;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
.p-header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.7rem 2.4rem 1.4rem 1.5rem;
}
@media (min-width: 768px) {
  .p-header__wrap {
    gap: 3.8rem;
    align-items: flex-start;
    padding: 2.1rem 7rem 0.3rem 14rem;
  }
}
.p-header__logo {
  font-size: inherit;
}
.p-header__logo a {
  display: inline-flex;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  align-items: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .p-header__logo a {
    font-size: 1.8rem;
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
  }
}
.p-header__logo a img {
  width: 7.6rem;
}
@media (min-width: 768px) {
  .p-header__logo a img {
    width: 10.7rem;
  }
}
@media (min-width: 768px) {
  .p-header__nav {
    margin-top: -0.5rem;
  }
}
@media (max-width: 767px) {
  .p-header__nav {
    position: fixed;
    inset: 0;
    top: var(--heightH);
    overflow-y: auto;
    pointer-events: none;
    transition: 0.2s all ease-in-out 0s;
  }
}
.p-header__nav-overlay {
  background-color: rgba(255, 255, 255, 0.92);
  border-radius: 0 0 1.2rem 1.2rem;
  position: fixed;
  top: var(--heightH);
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100% - var(--heightH));
  transform: scale(1, 0);
  transform-origin: top center;
  transition: 0.7s transform cubic-bezier(0.96, 0, 0.6, 1) 0s, 0.7s bottom cubic-bezier(0.96, 0, 0.6, 1) 0s;
  pointer-events: none;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-header__nav-overlay {
    display: none;
  }
}
.p-header__nav-wrap {
  display: flex;
  gap: 4rem;
  align-items: center;
}
@media (min-width: 768px) {
  .p-header__nav-wrap {
    gap: 3.8rem;
  }
}
@media (max-width: 767px) {
  .p-header__nav-wrap {
    flex-direction: column;
    padding-block: 3.8rem 2.2rem;
    opacity: 0;
    transition: 0.3s opacity linear 0s;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
.p-header__info {
  border-top: 1px solid #D6DAE0;
  padding-top: 4rem;
  width: calc(100% - 3.2rem);
}
@media (min-width: 768px) {
  .p-header__info {
    display: none;
  }
}
.p-header__info .c-logo {
  justify-content: center;
}
.p-header__contact {
  background: #EAB230;
  background: linear-gradient(90deg, rgb(234, 178, 48) 0%, rgb(255, 157, 0) 100%);
  border-radius: 3.8rem;
  font-size: 2rem;
  filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34rem;
  height: 6rem;
}
@media (min-width: 768px) {
  .p-header__contact {
    font-size: 1.8rem;
    width: 18.5rem;
    height: 4.6rem;
  }
}
.p-header__contact strong {
  color: var(--color-white);
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.25));
}
@media (min-width: 992px) {
  .p-header__hamburger {
    display: none;
  }
}
.p-header.openMenu .p-header__nav {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.p-header.openMenu .p-header__nav-overlay {
  transform-origin: center bottom;
  transform: scale(1, 1);
}
.p-header.openMenu .p-header__nav-wrap {
  opacity: 1;
  transition: 0.5s opacity linear 0.7s;
}
.p-header .c-phone {
  border-bottom: 1px solid #D6DAE0;
  padding-bottom: 2.4rem;
  margin-bottom: 2rem;
}
.p-header__copy {
  color: #000000;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  margin-top: 1.7rem;
}
@media (min-width: 768px) {
  .p-header__copy {
    display: none;
  }
}

.gl-nav-list {
  display: flex;
  gap: 2.5rem;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .gl-nav-list {
    flex-direction: row;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
}
.gl-nav__link {
  font-size: 1.8rem;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .gl-nav__link {
    font-size: 1.4rem;
  }
}

.hamburger-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1100;
  width: 2.8rem;
  height: 2rem;
}
.hamburger-box.is-active .hamburger-inner {
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(45deg);
}
.hamburger-box.is-active .hamburger-inner:before {
  transition: top 75ms ease, opacity 75ms ease 0.12s;
  opacity: 0;
  top: 0;
}
.hamburger-box.is-active .hamburger-inner:after {
  transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transform: rotate(-90deg);
  bottom: 0;
}

.hamburger-inner:after,
.hamburger-inner:before {
  display: block;
  content: "";
}

.hamburger-inner:after, .hamburger-inner:before, .hamburger-inner {
  background-color: var(--color-primary);
  border-radius: 0.2rem;
  width: 2.3rem;
  height: 0.2rem;
  transition: transform 0.15s ease;
  border-radius: 1.5px;
}

.hamburger-inner {
  position: relative;
  display: block;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 75ms;
}
.hamburger-inner:before {
  position: absolute;
  top: -0.7rem;
  transition: top 75ms ease 0.12s, opacity 75ms ease;
}
.hamburger-inner:after {
  position: absolute;
  bottom: -0.7rem;
  transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.p-footer {
  padding-block: 5rem 2.6rem;
}
@media (min-width: 768px) {
  .p-footer {
    padding-block: 4rem 4.5rem;
  }
}
.p-footer__row {
  display: flex;
  gap: 1.6rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-footer__row {
    flex-direction: row;
    gap: 4.5rem;
  }
}
@media (max-width: 767px) {
  .p-footer .c-logo {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .p-footer__item--contact {
    padding-bottom: 0.6rem;
  }
}
@media (min-width: 768px) {
  .p-footer__item.ft-nav {
    width: 25rem;
    margin: auto 0 0.8rem auto;
  }
}
@media (max-width: 767px) {
  .p-footer__item.ft-nav {
    display: none;
  }
}
.p-footer__txt {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .p-footer__txt {
    font-size: 1.1rem;
    line-height: 1.5454545455;
  }
}
.p-footer__bottom {
  border-top: 1px solid rgb(214, 218, 224);
  display: flex;
  flex-direction: column-reverse;
  gap: 2.4rem;
  align-items: center;
  padding-top: 2.4rem;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .p-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    padding-top: 1.6rem;
    margin-top: 2rem;
  }
}
.p-footer__copyright {
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1;
}

.ft-nav-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem 5.6rem;
}
.ft-nav-link {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.form-control {
  background-color: var(--input-background);
  background-clip: padding-box;
  border-radius: 0.8rem;
  border: none;
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  color: #000;
  display: block;
  font-family: var(--font-family-base);
  font-size: var(--input-font-size);
  font-weight: var(--input-font-weight);
  line-height: 1.5;
  padding: 1.2rem 1.6rem;
  height: var(--input-height);
  width: 100%;
}
@media (min-width: 768px) {
  .form-control {
    box-shadow: inset 0 0 0 0.3rem #E6E6E6;
    font-size: 1.8rem;
    padding: var(--input-padding-y) var(--input-padding-x);
  }
}
.form-control:focus-visible {
  outline: none;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}
.form-control::-moz-placeholder {
  color: #8A8C90;
  opacity: 1;
}
.form-control::placeholder {
  color: #8A8C90;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #231815;
  opacity: 1;
}
.form-control.valid {
  background-color: var(--color-white) !important;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea.form-control {
  max-width: 100%;
  height: 18.5rem;
}
@media (min-width: 768px) {
  textarea.form-control {
    height: 20rem;
  }
}

label.error {
  color: var(--color-danger);
  display: block;
  font-size: 1.4rem;
  margin-top: 0.4rem;
}

.frm-row:not(:last-child) {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .frm-row:not(:last-child) {
    margin-bottom: 3.6rem;
  }
}
.frm-head {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  margin-bottom: 0.8rem;
}
@media (min-width: 768px) {
  .frm-head {
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
    margin-bottom: 1.1rem;
  }
}
.frm-req {
  background-color: var(--color-danger);
  border-radius: 0.4rem;
  color: var(--color-white);
  display: inline-flex;
  font-size: 1.2rem;
  font-weight: 600;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
  width: 4.1rem;
  height: 2.5rem;
}
@media (min-width: 768px) {
  .frm-req {
    width: 5rem;
  }
}
.frm-req.--optional {
  background-color: var(--color-white);
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  color: #231815;
}
@media (min-width: 768px) {
  .frm-req.--optional {
    box-shadow: inset 0 0 0 0.3rem #E6E6E6;
  }
}
.frm-content.--cols {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .frm-content.--cols {
    gap: 1.6rem;
  }
}
.frm-content.--cols > div {
  flex: 1;
}
.frm-policy {
  text-align: center;
}
.frm-submit {
  background: #EAB230;
  background: linear-gradient(90deg, rgb(234, 178, 48) 0%, rgb(255, 157, 0) 100%);
  border-radius: 3.8rem;
  filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  width: 31.9rem;
  height: 5.6rem;
}
@media (min-width: 768px) {
  .frm-submit {
    font-size: 2.8rem;
    width: 42.9rem;
    height: 7.6rem;
  }
}
.frm-submit strong {
  color: var(--color-white);
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.25));
}
@media (min-width: 768px) {
  .frm-submit strong {
    filter: drop-shadow(0 6px 0 rgba(0, 0, 0, 0.1));
  }
}

.custom-select select {
  background: none;
  border: 0;
  padding: 0;
  outline: none;
  cursor: pointer;
}
.custom-select select, .custom-select select::picker(select) {
  -webkit-appearance: base-select;
  -moz-appearance: base-select;
  appearance: base-select;
}
.custom-select select::picker(select) {
  opacity: 0;
  transform: translateY(0.5rem);
  transition: all 0.4s allow-discrete;
}
.custom-select select::picker(select):popover-open {
  opacity: 1;
  transform: translateY(0);
}
@starting-style {
  .custom-select select::picker(select):popover-open {
    opacity: 0;
    transform: translateY(0.75rem);
  }
}
.custom-select select selectedcontent > * {
  opacity: 1;
}
@starting-style {
  .custom-select select selectedcontent > * {
    opacity: 0;
  }
}
.custom-select select::picker-icon {
  display: none;
}
.custom-select select > button {
  background-color: var(--input-background);
  background-clip: padding-box;
  border-radius: 0.8rem;
  border: none;
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: space-between;
  transition: border 0.4s ease;
  height: var(--input-height);
  width: 32.5rem;
  padding-left: 1.6rem;
}
@media (min-width: 768px) {
  .custom-select select > button {
    box-shadow: inset 0 0 0 0.3rem #E6E6E6;
    font-size: 1.8rem;
    width: 36rem;
  }
}
.custom-select select > button .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.4rem;
  width: 5.3rem;
  border-left: 1px solid #B7B7B7;
}
.custom-select select > button .arrow::after {
  content: "";
  background: url("../images/ic_arrow_down.svg") no-repeat center/contain;
  height: 2rem;
  width: 2rem;
}
.custom-select select:open > button,
.custom-select select > button:focus {
  border-color: red;
}
.custom-select select::picker(select) {
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  border: none;
  border-radius: 0.8rem;
  margin-top: 0.5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .custom-select select::picker(select) {
    box-shadow: inset 0 0 0 0.3rem #E6E6E6;
    padding: 0.3rem;
  }
}
.custom-select select option {
  padding: 1.2rem 2.4rem;
  text-align: left;
  outline: none;
}
@media (min-width: 768px) {
  .custom-select select option {
    font-size: 1.8rem;
  }
}
.custom-select select option:not(:last-child) {
  border-bottom: 1px dashed #B9DCF5;
}
.custom-select select option:hover, .custom-select select option:is(:checked) {
  background-color: #E2EDF5;
}
.custom-select select option::checkmark {
  display: none;
}
.custom-select select.valid > button {
  background-color: var(--color-white);
}
.custom-select .cs-button {
  background-color: var(--input-background);
  border-radius: 0.8rem;
  border: none;
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: space-between;
  height: var(--input-height);
  width: 32.5rem;
  padding-left: 1.6rem;
  cursor: pointer;
}
@media (min-width: 768px) {
  .custom-select .cs-button {
    box-shadow: inset 0 0 0 0.3rem #E6E6E6;
    font-size: 1.8rem;
    width: 36rem;
  }
}
.custom-select .cs-button .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.4rem;
  width: 5.3rem;
  border-left: 1px solid #B7B7B7;
}
.custom-select .cs-button .arrow::after {
  content: "";
  background: url("../images/ic_arrow_down.svg") no-repeat center/contain;
  height: 2rem;
  width: 2rem;
}
.custom-select .cs-value {
  color: #231815;
}
.custom-select .cs-list {
  display: none;
  position: absolute;
  z-index: 10;
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  border-radius: 0.8rem;
  box-shadow: inset 0 0 0 0.2rem #E6E6E6;
  overflow: hidden;
  background: var(--input-background, #fff);
  width: 32.5rem;
  opacity: 0;
  transform: translateY(0.8rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 768px) {
  .custom-select .cs-list {
    width: 36rem;
  }
}
.custom-select .cs-option {
  padding: 1.2rem 2.4rem;
  cursor: pointer;
  font-size: inherit;
}
@media (min-width: 768px) {
  .custom-select .cs-option {
    font-size: 1.8rem;
  }
}
.custom-select .cs-option:not(:last-child) {
  border-bottom: 1px dashed #B9DCF5;
}
.custom-select .cs-option:hover, .custom-select .cs-option.is-selected {
  background-color: #E2EDF5;
}
.custom-select.is-open .cs-list {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.custom-select.valid .cs-button {
  background-color: var(--color-white);
}

.checkbox-custom {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: relative;
}
.checkbox-custom input {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
}
.checkbox-custom input:checked ~ .checkbox-custom__marker {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.checkbox-custom input:checked ~ .checkbox-custom__marker::after {
  opacity: 1;
}
.checkbox-custom__label {
  line-height: 2;
  font-weight: 600;
}
@media (min-width: 768px) {
  .checkbox-custom__label {
    font-size: 1.8rem;
  }
}
.checkbox-custom__label a {
  color: var(--color-primary);
  border-bottom: 1px solid currentColor;
}
.checkbox-custom__marker {
  border: 1px solid #231815;
  border-radius: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.2rem;
  width: 2.2rem;
  position: relative;
}
.checkbox-custom__marker::after {
  content: "";
  opacity: 0;
  background: url("../images/ic_check02.svg") no-repeat center/contain;
  height: 0.8rem;
  width: 1.1rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.table {
  width: 100%;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media (min-width: 768px) {
  .hover {
    transition: 0.3s ease;
  }
  .hover:hover {
    opacity: 0.9;
  }
}

.font-en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
}

.nospace::before, .nospace::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.nospace::before {
  margin-block-end: calc((1 - var(--lh, var(--lineheight-base))) * 0.5em);
}
.nospace::after {
  margin-block-start: calc((1 - var(--lh, var(--lineheight-base))) * 0.5em);
}

.c-ttl {
  position: relative;
  z-index: 1;
}
.c-ttl::after {
  content: "";
  background: url("../images/ttl_bg_sp.png") no-repeat center/contain;
  margin-inline: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  aspect-ratio: 362/25;
  bottom: -0.8rem;
}
@media (min-width: 768px) {
  .c-ttl::after {
    aspect-ratio: 637/54;
    background-image: url("../images/ttl_bg.png");
    bottom: -2rem;
  }
}

.c-txt {
  color: rgba(35, 24, 21, 0.8);
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .c-txt {
    font-size: 1.6rem;
  }
}
.c-txt--black {
  color: #231815;
}

.c-logo {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  gap: 0.8rem;
  line-height: 1;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .c-logo {
    font-size: 1.8rem;
    gap: 1.8rem;
    margin-bottom: 2rem;
  }
}
.c-logo img {
  width: 9.2rem;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-logo img {
    width: 11.997rem;
  }
}

.c-phone {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-direction: column;
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .c-phone {
    align-items: flex-start;
    flex-direction: row;
    gap: 4rem;
    margin-top: 3rem;
  }
}
@media (max-width: 767px) {
  .c-phone__item li {
    text-align: center;
  }
}
.c-phone__item li:not(:last-child) {
  margin-bottom: 0.8rem;
}
@media (min-width: 768px) {
  .c-phone__item li:not(:last-child) {
    margin-bottom: 0.3rem;
  }
}
.c-phone__item li p {
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1;
  margin-bottom: 0.3rem;
}
.c-phone__item li a {
  display: inline-block;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
}

.c-blank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}
@media (min-width: 768px) {
  .c-blank {
    flex-direction: row;
    gap: 4rem;
  }
}
.c-blank li a {
  font-size: 1.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .c-blank li a {
    font-size: 1.4rem;
  }
}
.c-blank li a::after {
  content: "";
  background: url("../images/ic_blank.svg") no-repeat center/contain;
  aspect-ratio: 1;
  width: 1.6rem;
}

.sec-mv {
  background: url("../images/mv_bg_sp.webp") no-repeat top left/cover;
  padding-block: calc(var(--heightH) + 2.4rem) 33rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media (min-width: 768px) {
  .sec-mv {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../images/mv_bg.webp");
    padding-block: var(--heightH) 0;
    padding-left: 14rem;
    min-height: 78.3rem;
  }
}
.sec-mv__content {
  padding-inline: 1.6rem;
}
@media (min-width: 768px) {
  .sec-mv__content {
    padding: 1.1rem 0 0;
    margin-right: -8rem;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.sec-mv__media {
  width: 49.321rem;
  z-index: -1;
}
@media (min-width: 768px) {
  .sec-mv__media {
    width: 85.2rem;
    flex-shrink: 0;
  }
}
.sec-mv__media img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .sec-mv__media {
    position: absolute;
    right: -4rem;
    bottom: -3.45rem;
    left: -6.3rem;
  }
}
.sec-mv__lb {
  display: flex;
  gap: 0.8rem;
  align-items: stretch;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .sec-mv__lb {
    gap: 1.6rem;
    margin-bottom: 2.9rem;
  }
}
.sec-mv__lb-item {
  background-color: var(--color-white);
  border-radius: 0.8rem;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.3rem 0.9rem 1.3rem 0.8rem;
}
@media (min-width: 768px) {
  .sec-mv__lb-item {
    font-size: 1.6rem;
    padding: 0.7rem 1.3rem 0.8rem 1.6rem;
  }
}
@media (max-width: 767px) {
  .sec-mv__lb-item {
    letter-spacing: 0.02em;
  }
}
.sec-mv__lb-item::before {
  aspect-ratio: 1;
  content: "";
  background-color: var(--color-primary);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media (min-width: 768px) {
  .sec-mv__lb-item--area {
    padding-right: 1.6rem;
  }
}
.sec-mv__lb-item--area::before {
  -webkit-mask-image: url("../images/ic_area.svg");
  mask-image: url("../images/ic_area.svg");
  width: 1.7rem;
}
@media (min-width: 768px) {
  .sec-mv__lb-item--area::before {
    width: 2.5rem;
  }
}
@media (min-width: 768px) {
  .sec-mv__lb-item--fast {
    gap: 0.7rem;
  }
}
.sec-mv__lb-item--fast::before {
  -webkit-mask-image: url("../images/ic_fast.svg");
  mask-image: url("../images/ic_fast.svg");
  width: 2.4rem;
}
@media (min-width: 768px) {
  .sec-mv__lb-item--fast::before {
    width: 3.3rem;
  }
}
.sec-mv__ttl {
  color: var(--color-white);
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 2.9rem;
}
.sec-mv__ttl::before, .sec-mv__ttl::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.sec-mv__ttl::before {
  margin-block-end: calc((1 - 1.2) * 0.5em);
}
.sec-mv__ttl::after {
  margin-block-start: calc((1 - 1.2) * 0.5em);
}
@media (min-width: 768px) {
  .sec-mv__ttl {
    font-size: 4.8rem;
    margin-bottom: 3.6rem;
  }
}
.sec-mv__ttl span {
  color: var(--color-warning);
}
.sec-mv__desc-item {
  border: 1px solid var(--color-white);
  border-radius: 0.8rem;
  padding: 1rem 1.6rem 1.6rem 4.3rem;
  position: relative;
}
@media (min-width: 768px) {
  .sec-mv__desc-item {
    max-width: 48.9rem;
    padding: 0.9rem 1.6rem 1.2rem 7.6rem;
    margin-bottom: 3rem;
  }
}
.sec-mv__desc-item::before {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 6.8rem;
  height: 6.9rem;
  content: "";
  position: absolute;
  top: -2.5rem;
  left: -1.6rem;
}
@media (min-width: 768px) {
  .sec-mv__desc-item::before {
    top: -0.6rem;
    left: -1.1rem;
    width: 8.224rem;
    height: 7.049rem;
  }
}
.sec-mv__desc-item--01::before {
  background-image: url("../images/icon_ques01_sp.svg");
}
@media (min-width: 768px) {
  .sec-mv__desc-item--01::before {
    background-image: url("../images/icon_ques01.svg");
  }
}
@media (min-width: 768px) {
  .sec-mv__desc-item--02 {
    padding-top: 1.6rem;
  }
}
.sec-mv__desc-item--02::before {
  background-image: url("../images/icon_ques02_sp.svg");
}
@media (min-width: 768px) {
  .sec-mv__desc-item--02::before {
    background-image: url("../images/icon_ques02.svg");
  }
}
@media (max-width: 767px) {
  .sec-mv__desc-item--02::before {
    top: -2rem;
  }
}
.sec-mv__desc-item:not(:last-child) {
  margin-bottom: 1.4rem;
}
@media (min-width: 768px) {
  .sec-mv__desc-item:not(:last-child) {
    margin-bottom: 2.2rem;
  }
}
.sec-mv__desc-item p:nth-child(1) {
  color: var(--color-warning);
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 1rem;
}
.sec-mv__desc-item p:nth-child(1)::before, .sec-mv__desc-item p:nth-child(1)::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.sec-mv__desc-item p:nth-child(1)::before {
  margin-block-end: calc((1 - 1) * 0.5em);
}
.sec-mv__desc-item p:nth-child(1)::after {
  margin-block-start: calc((1 - 1) * 0.5em);
}
.sec-mv__desc-item p:nth-child(1) span {
  font-size: 2.4rem;
}
@media (min-width: 768px) {
  .sec-mv__desc-item p:nth-child(1) {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .sec-mv__desc-item p:nth-child(1) .font-en {
    font-size: 3.2rem;
  }
}
.sec-mv__desc-item p:nth-child(2) {
  color: var(--color-white);
  font-size: 1.2rem;
  line-height: 1.2;
}
.sec-mv__desc-item p:nth-child(2)::before, .sec-mv__desc-item p:nth-child(2)::after {
  content: "";
  display: block flow;
  inline-size: 0;
  block-size: 1px;
}
.sec-mv__desc-item p:nth-child(2)::before {
  margin-block-end: calc((1 - 1.2) * 0.5em);
}
.sec-mv__desc-item p:nth-child(2)::after {
  margin-block-start: calc((1 - 1.2) * 0.5em);
}
@media (min-width: 768px) {
  .sec-mv__desc-item p:nth-child(2) {
    font-size: 1.4rem;
  }
}
.sec-mv__btn {
  background: #EAB230;
  background: linear-gradient(90deg, rgb(234, 178, 48) 0%, rgb(255, 157, 0) 100%);
  border-radius: 3.8rem;
  font-size: 2rem;
  filter: drop-shadow(0 6px 0 rgba(0, 0, 0, 0.1));
  width: 35.8rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .sec-mv__btn {
    filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.1));
    font-size: 2.8rem;
    width: 42.9rem;
    height: 7.6rem;
  }
}
@media (max-width: 767px) {
  .sec-mv__btn {
    position: absolute;
    right: 0;
    bottom: 2rem;
    left: 0;
    margin-inline: auto;
  }
}
.sec-mv__btn strong {
  color: var(--color-white);
  filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.25));
}
@media (min-width: 768px) {
  .sec-mv__btn strong {
    filter: drop-shadow(0 6px 0 rgba(0, 0, 0, 0.1));
  }
}

.sec-bnr {
  padding-block: 3.2rem 2.3rem;
}
@media (min-width: 768px) {
  .sec-bnr {
    padding-block: 7.6rem 0;
  }
}
.sec-bnr figure {
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .sec-bnr figure {
    max-width: 85rem;
  }
}

.sec-problems {
  background: url("../images/problems_bg_sp.webp") no-repeat bottom center/cover;
  padding-block: 2rem 8.4rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .sec-problems {
    background-image: url("../images/problems_bg.webp");
    background-size: 100% 128.05rem;
    padding-block: 18.3rem 17.6rem;
    margin-top: -8.3rem;
  }
}
.sec-problems__ttl {
  font-size: 2.2rem;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 1.8rem;
}
.sec-problems__ttl span {
  color: var(--color-primary);
  font-size: 3.2rem;
}
@media (min-width: 768px) {
  .sec-problems__ttl {
    font-size: 4.8rem;
    line-height: 1.2;
    margin-bottom: 3rem;
  }
  .sec-problems__ttl span {
    font-size: 6.8rem;
  }
}
.sec-problems__ttl.c-ttl::after {
  width: 36.1rem;
}
@media (min-width: 768px) {
  .sec-problems__ttl.c-ttl::after {
    width: 79rem;
  }
}
.sec-problems__media {
  margin-inline: -2.9rem;
}
@media (min-width: 768px) {
  .sec-problems__media {
    max-width: 107.9rem;
    margin-inline: auto;
  }
}
.sec-problems .problem-card {
  display: grid;
  row-gap: 1.6rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card {
    gap: 4rem 7rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.sec-problems .problem-card__item {
  background-color: var(--color-white);
  border-radius: 1.6rem;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.06));
  padding: 2.6rem 2rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card__item {
    padding: 3.1rem 2.6rem 2.9rem;
  }
}
.sec-problems .problem-card__item:nth-child(1) .problem-card__ttl::after {
  background-image: url("../images/problems_ic01.png");
  width: 8rem;
  height: 5.5rem;
}
.sec-problems .problem-card__item:nth-child(2) .problem-card__ttl::after {
  background-image: url("../images/problems_ic02.png");
  width: 8rem;
  height: 5.2rem;
}
.sec-problems .problem-card__item:nth-child(3) .problem-card__ttl::after {
  background-image: url("../images/problems_ic03.png");
  width: 8.5rem;
  height: 5.3rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card__item:nth-child(3) .problem-card__ttl::after {
    bottom: 0.1rem;
  }
}
@media (max-width: 767px) {
  .sec-problems .problem-card__item:nth-child(3) .problem-card__ttl::after {
    right: 2.5rem;
  }
}
.sec-problems .problem-card__item:nth-child(4) .problem-card__ttl::after {
  background-image: url("../images/problems_ic04.png");
  width: 8.9rem;
  height: 4.7rem;
  bottom: 0.1rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card__item:nth-child(4) .problem-card__ttl::after {
    bottom: 0.5rem;
  }
}
@media (max-width: 767px) {
  .sec-problems .problem-card__item:nth-child(4) .problem-card__ttl::after {
    right: 2.5rem;
  }
}
.sec-problems .problem-card__item:nth-child(5) .problem-card__ttl::after {
  background-image: url("../images/problems_ic05.png");
  bottom: 0.2rem;
  width: 7.2rem;
  height: 5.1rem;
}
.sec-problems .problem-card__item:nth-child(6) .problem-card__ttl::after {
  background-image: url("../images/problems_ic06.png");
  bottom: 0.4rem;
  width: 7.8rem;
  height: 4.3rem;
}
@media (max-width: 767px) {
  .sec-problems .problem-card__item:nth-child(6) .problem-card__ttl::after {
    right: 2.9rem;
  }
}
.sec-problems .problem-card__ttl {
  background-color: var(--color-secondary);
  border-radius: 0.5rem;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  padding: 0.9rem 1.2rem 1.2rem;
  position: relative;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card__ttl {
    padding: 0.9rem 1.3rem 1.2rem;
    margin-bottom: 0.7rem;
  }
}
.sec-problems .problem-card__ttl::after {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: "";
  position: absolute;
  bottom: 0;
  right: 2.4rem;
}
@media (min-width: 768px) {
  .sec-problems .problem-card__ttl::after {
    right: 0;
  }
}
.sec-problems .problem-card__desc {
  color: rgba(35, 24, 21, 0.8);
  line-height: 1.8;
}

.sec-why {
  background: url("../images/why_bg_sp.webp") no-repeat top left/cover;
  padding-block: 7.8rem 6.1rem;
  margin-top: -4.6rem;
}
@media (min-width: 768px) {
  .sec-why {
    background-image: url("../images/why_bg.webp");
    padding-block: 27.9rem 12.2rem;
    margin-top: -20rem;
  }
}
.sec-why__head {
  margin-bottom: 12rem;
}
@media (min-width: 768px) {
  .sec-why__head {
    margin-bottom: 4rem;
  }
}
.sec-why__ttl {
  font-size: 3.2rem;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 2rem;
}
.sec-why__ttl span {
  font-size: 2.2rem;
}
@media (min-width: 768px) {
  .sec-why__ttl {
    font-size: 5.6rem;
    margin-bottom: 2.2rem;
  }
  .sec-why__ttl span {
    font-size: 4rem;
  }
}
.sec-why__ttl.c-ttl::after {
  width: 36.4rem;
}
@media (min-width: 768px) {
  .sec-why__ttl.c-ttl::after {
    width: 63.7rem;
  }
}
.sec-why__content {
  position: relative;
}
.sec-why__human {
  position: absolute;
}
.sec-why__human.--01 {
  width: 11.518rem;
  bottom: calc(100% - 6.179rem);
  left: 2.1rem;
}
@media (min-width: 768px) {
  .sec-why__human.--01 {
    width: 19.462rem;
    bottom: calc(100% - 6.6rem);
    left: 0;
  }
}
.sec-why__human.--02 {
  width: 14.563rem;
  right: 2.9rem;
  bottom: calc(100% - 6.227rem);
}
@media (min-width: 768px) {
  .sec-why__human.--02 {
    width: 26.036rem;
    right: 0;
    bottom: calc(100% - 9rem);
  }
}
.sec-why .why-card {
  display: grid;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .sec-why .why-card {
    gap: 3.5rem 4rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.sec-why .why-card__item {
  background-color: var(--color-white);
  border-radius: 1.6rem;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.06));
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  padding: 2rem 2rem 2.6rem;
}
@media (min-width: 768px) {
  .sec-why .why-card__item {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 4rem;
  }
}
.sec-why .why-card__media {
  border-radius: 0.7rem;
  width: 10rem;
  flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .sec-why .why-card__media {
    aspect-ratio: 188/162;
    width: 18.8rem;
  }
}
.sec-why .why-card__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sec-why .why-card__numb {
  color: var(--color-primary);
  font-size: 1rem;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 0.7rem;
}
@media (min-width: 768px) {
  .sec-why .why-card__numb {
    font-size: 1.6rem;
    margin-bottom: 0.4rem;
  }
}
.sec-why .why-card__ttl {
  background-color: var(--color-secondary);
  border-radius: 0.4rem;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0.8rem 0.8rem 1rem;
  margin-bottom: 0.3rem;
}
@media (min-width: 768px) {
  .sec-why .why-card__ttl {
    border-radius: 0.5rem;
    font-size: 2.4rem;
    padding-top: 0.6rem;
    margin-bottom: 0.1rem;
  }
}
.sec-why .why-card__desc {
  color: rgba(35, 24, 21, 0.8);
  font-size: 1.3rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .sec-why .why-card__desc {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .sec-why .why-card__desc {
    letter-spacing: 0;
  }
}

.sec-areas {
  background: url("../images/areas_bg_sp.jpg") no-repeat bottom center/100% 72.1rem;
  padding-block: 3.6rem 5rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .sec-areas {
    background-image: url("../images/areas_bg.webp");
    background-size: 100% 59.9rem;
    padding-block: 12.8rem 17.8rem;
  }
}
.sec-areas::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  top: 0;
  height: 50%;
  left: 0;
  background: linear-gradient(180deg, #fff, transparent);
}
.sec-areas__wrap {
  display: flex;
  gap: 3.1rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .sec-areas__wrap {
    gap: 4.2rem;
  }
}
@media (min-width: 768px) {
  .sec-areas__content {
    flex: 1;
  }
}
.sec-areas__ttl {
  font-size: 3.2rem;
  line-height: 1.3;
  margin-bottom: 3.2rem;
}
@media (max-width: 767px) {
  .sec-areas__ttl {
    text-align: center;
  }
}
.sec-areas__ttl small {
  font-size: 2.2rem;
}
@media (min-width: 768px) {
  .sec-areas__ttl {
    font-size: 4.8rem;
    margin-bottom: 3.4rem;
  }
  .sec-areas__ttl small {
    font-size: 3.6rem;
  }
}
.sec-areas__ttl.c-ttl::after {
  width: 35.558rem;
}
@media (min-width: 768px) {
  .sec-areas__ttl.c-ttl::after {
    width: 56.3rem;
  }
}
.sec-areas .c-txt {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .sec-areas .c-txt {
    max-width: 54.2rem;
  }
}
.sec-areas .areas-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3rem;
}
@media (min-width: 768px) {
  .sec-areas .areas-card {
    gap: 1.6rem;
    max-width: 43.4rem;
  }
}
.sec-areas .areas-card__item {
  background-color: var(--color-white);
  border-radius: 0.82rem;
  line-height: 1;
  display: inline-flex;
  gap: 1.3rem;
  align-items: center;
  font-size: 1.969rem;
  filter: drop-shadow(0 3.28px 3.28px rgba(0, 0, 0, 0.06));
  padding: 1.3rem;
}
@media (min-width: 768px) {
  .sec-areas .areas-card__item {
    border-radius: 1rem;
    font-size: 2.4rem;
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.06));
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    padding: 1.6rem;
  }
}
.sec-areas .areas-card__item::before {
  aspect-ratio: 1;
  background: url("../images/ic_check.svg") no-repeat center/contain;
  content: "";
  width: 1.969rem;
}
@media (min-width: 768px) {
  .sec-areas .areas-card__item::before {
    width: 2.4rem;
  }
}
.sec-areas__map {
  width: 35.8rem;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.06));
}
@media (min-width: 768px) {
  .sec-areas__map {
    flex-shrink: 0;
    width: 56.56rem;
  }
}

.sec-step {
  padding-block: 3.2rem 5.6rem;
}
@media (min-width: 768px) {
  .sec-step {
    padding-block: 8rem 12rem;
  }
}
.sec-step__ttl {
  font-size: 2.2rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 1.7rem;
}
.sec-step__ttl .font-en {
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  .sec-step__ttl span {
    font-size: 2.4rem;
  }
}
@media (min-width: 768px) {
  .sec-step__ttl {
    font-size: 4.8rem;
    margin-bottom: 2.2rem;
  }
  .sec-step__ttl .font-en {
    font-size: 5.6rem;
  }
}
.sec-step__ttl.c-ttl::after {
  width: 35.107rem;
}
@media (min-width: 768px) {
  .sec-step__ttl.c-ttl::after {
    width: 68.2rem;
  }
}
@media (max-width: 767px) {
  .sec-step__ttl.c-ttl::after {
    bottom: -0.1rem;
  }
}
.sec-step .c-txt {
  margin-bottom: 3.2rem;
}
@media (min-width: 768px) {
  .sec-step .c-txt {
    margin-bottom: 4rem;
  }
}
.sec-step .stp-card {
  display: grid;
  gap: 1.6rem;
}
@media (min-width: 768px) {
  .sec-step .stp-card {
    gap: 1.5rem;
    grid-template-columns: repeat(5, 1fr);
  }
}
.sec-step .stp-card__item {
  background-color: var(--color-secondary);
  border-radius: 1.2rem;
  padding: 2.7rem 1.7rem 3rem;
  position: relative;
}
@media (min-width: 768px) {
  .sec-step .stp-card__item {
    border-radius: 2.1rem;
    padding: 2.5rem 3rem 2.3rem;
  }
}
.sec-step .stp-card__item:not(:last-child)::after {
  content: "";
  background: url("../images/ic_arrow.svg") no-repeat center/contain;
  width: 4.2rem;
  aspect-ratio: 1;
  position: absolute;
  z-index: 2;
}
@media (min-width: 768px) {
  .sec-step .stp-card__item:not(:last-child)::after {
    top: 50%;
    transform: translateY(-50%);
    left: calc(100% - 1.3rem);
  }
}
@media (max-width: 767px) {
  .sec-step .stp-card__item:not(:last-child)::after {
    top: calc(100% - 1.3rem);
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
.sec-step .stp-card__numb {
  color: var(--color-primary);
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1;
  text-align: center;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .sec-step .stp-card__numb {
    font-size: 1.6rem;
    margin-bottom: 0.2rem;
  }
}
.sec-step .stp-card__ttl {
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .sec-step .stp-card__ttl {
    display: flex;
    align-items: center;
    font-size: 2rem;
    margin-bottom: 0.4rem;
  }
}
.sec-step .stp-card__desc {
  font-size: 1.3rem;
  color: rgba(35, 24, 21, 0.8);
  line-height: 1.8;
}
@media (min-width: 768px) {
  .sec-step .stp-card__desc {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .sec-step .stp-card__desc {
    letter-spacing: 0;
    text-align: center;
  }
}

.sec-faq {
  background: url("../images/faq_bg_sp.webp") no-repeat top left/cover;
  padding-block: 3.2rem 5.6rem;
}
@media (min-width: 768px) {
  .sec-faq {
    background-image: url("../images/faq_bg.webp");
    padding-block: 10rem;
  }
}
.sec-faq__wrap {
  max-width: 33rem;
  margin-left: auto;
}
@media (min-width: 768px) {
  .sec-faq__wrap {
    max-width: 85rem;
    margin-inline: auto;
  }
}
.sec-faq__ttl {
  font-size: 2.489rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .sec-faq__ttl {
    font-size: 4.8rem;
    margin-bottom: 4.5rem;
  }
}
.sec-faq__ttl.c-ttl::after {
  width: 35.107rem;
}
@media (min-width: 768px) {
  .sec-faq__ttl.c-ttl::after {
    width: 54.6rem;
  }
}
.sec-faq .accordion-item {
  background-color: var(--color-white);
  border-radius: 0.8rem;
  position: relative;
}
.sec-faq .accordion-item:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .sec-faq .accordion-item:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.sec-faq .accordion-head, .sec-faq .accordion-a {
  position: relative;
}
.sec-faq .accordion-head::before, .sec-faq .accordion-a::before {
  content: "";
  position: absolute;
  aspect-ratio: 40/35;
  width: 4rem;
  right: calc(100% - 1.2rem);
}
@media (min-width: 768px) {
  .sec-faq .accordion-head::before, .sec-faq .accordion-a::before {
    aspect-ratio: 56/48;
    width: 5.6rem;
    right: calc(100% - 2.8rem);
  }
}
.sec-faq .accordion-a {
  display: none;
}
.sec-faq .accordion-a::before {
  background: url("../images/ic_a.svg") no-repeat center/contain;
  top: 0.2rem;
}
.sec-faq .accordion-head {
  padding: 1.4rem 4rem 1.4rem 2.7rem;
  position: relative;
  cursor: pointer;
}
@media (min-width: 768px) {
  .sec-faq .accordion-head {
    padding: 2.7rem 5.2rem;
  }
}
.sec-faq .accordion-head::before {
  background: url("../images/ic_q.svg") no-repeat center/contain;
  top: 1rem;
}
@media (min-width: 768px) {
  .sec-faq .accordion-head::before {
    top: 1.5rem;
  }
}
.sec-faq .accordion-ic {
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.6rem;
}
@media (min-width: 768px) {
  .sec-faq .accordion-ic {
    width: 2rem;
    height: 2rem;
  }
}
.sec-faq .accordion-ic.is-active:before {
  transform: translatey(-50%) rotate(-90deg);
  opacity: 0;
}
.sec-faq .accordion-ic.is-active:after {
  transform: translatey(-50%) rotate(0);
}
.sec-faq .accordion-ic:before, .sec-faq .accordion-ic:after {
  background-color: var(--color-primary);
  border-radius: 0.1rem;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transition: 0.35s;
  width: 100%;
  height: 0.3rem;
}
.sec-faq .accordion-ic:before {
  transform: translatey(-50%);
}
.sec-faq .accordion-ic:after {
  transform: translatey(-50%) rotate(90deg);
}
.sec-faq .accordion-ttl {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .sec-faq .accordion-ttl {
    line-height: 1.2;
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .sec-faq .accordion-ttl {
    letter-spacing: 0;
  }
}
.sec-faq .accordion-body {
  padding: 0 1.6rem 1.6rem 2.6rem;
  position: relative;
  display: none;
}
@media (min-width: 768px) {
  .sec-faq .accordion-body {
    padding: 0.2rem 3.1rem 3rem 5.2rem;
  }
}
.sec-faq .accordion-content {
  position: relative;
}

.sec-form {
  background: url("../images/form_bg.webp") no-repeat top left/cover;
  padding-block: 3.2rem;
}
@media (min-width: 768px) {
  .sec-form {
    padding-block: 10rem;
  }
}
.sec-form__ttl {
  font-size: 2.489rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .sec-form__ttl {
    font-size: 4.8rem;
    margin-bottom: 3rem;
  }
}
.sec-form__ttl.c-ttl::after {
  width: 35.1rem;
}
@media (min-width: 768px) {
  .sec-form__ttl.c-ttl::after {
    width: 71.8rem;
    bottom: -3rem;
  }
}
.sec-form .c-txt {
  margin-bottom: 3.2rem;
}
.sec-form__wrap {
  background-color: var(--color-white);
  border-radius: 1.2rem;
  padding: 3.1rem 2rem 4rem;
}
@media (min-width: 768px) {
  .sec-form__wrap {
    border-radius: 1.7rem;
    max-width: 85.1rem;
    margin-inline: auto;
    padding: 4.8rem 5.7rem 7.1rem 5.8rem;
  }
}

.send-bar.hidden {
  display: none;
}