@charset "UTF-8";
html {
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  font-size: 100%;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  min-width: 320px;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #ffffff;
  background-color: #FDECD2;
  line-height: 1.6;
  font-feature-settings: "palt" on;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.6;
  margin: 0;
}

a {
  color: #603813;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #231815;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.2;
}

h1 {
  font-size: 3.375rem;
}

h2 {
  font-size: 2.25rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

ul,
ol {
  list-style: none;
}

.c-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-button:hover {
  transform: translate(0px, 4px);
  text-decoration: none;
}
@media (max-width: 640px) {
  .c-button:hover {
    transform: translate(0px, 3px);
  }
}

.c-button-shadow-cyan {
  max-width: 564px;
  width: 100%;
  padding: 1rem;
  border-radius: 9999px;
  border: 4px solid #603813;
  background: #FFF000;
  box-shadow: 0px 8px 0px 0px #603813;
  color: #E95532;
  text-align: center;
  font-feature-settings: "palt" on, "pkna" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1;
}
.c-button-shadow-cyan::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 16px;
  height: 19px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='19' viewBox='0 0 17 19' fill='none'%3E%3Cpath d='M15.0793 7.11119L3.77899 0.582419C3.45597 0.391308 3.08811 0.289125 2.7128 0.286255C2.12282 0.286255 1.55701 0.520623 1.13983 0.937802C0.72265 1.35498 0.488281 1.9208 0.488281 2.51078V16.5226C0.488356 16.9141 0.593309 17.2985 0.792226 17.6357C0.991143 17.9729 1.27676 18.2507 1.61939 18.4401C1.96201 18.6296 2.34913 18.7238 2.74049 18.713C3.13186 18.7022 3.51318 18.5867 3.84481 18.3786L15.1583 11.2312C15.51 11.011 15.7988 10.7035 15.9964 10.3385C16.1939 9.97361 16.2936 9.56371 16.2856 9.14881C16.2777 8.7339 16.1624 8.32812 15.951 7.97103C15.7396 7.61393 15.4392 7.3177 15.0793 7.11119Z' fill='%23E95532'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.c-button-shadow-cyan:hover {
  box-shadow: 0px 4px 0px 0px #603813;
}
@media (max-width: 640px) {
  .c-button-shadow-cyan {
    border-width: 4px;
    box-shadow: 0px 6px 0px 0px #603813;
    font-size: 1.40625rem;
    padding: 0.75rem;
  }
  .c-button-shadow-cyan::after {
    width: 10.669px;
    height: 12.445px;
    right: 18px;
    background-size: contain;
    background-position: center;
  }
  .c-button-shadow-cyan:hover {
    box-shadow: 0px 3px 0px 0px #603813;
  }
}

.c-button-shadow-green {
  max-width: 564px;
  width: 100%;
  padding: 1rem;
  border-radius: 9999px;
  border: 4px solid #3aae36;
  background: #FFF000;
  box-shadow: 0px 8px 0px 0px #3aae36;
  color: #089114;
  text-align: center;
  font-feature-settings: "palt" on, "pkna" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1;
}
.c-button-shadow-green::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 16px;
  height: 19px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='19' viewBox='0 0 17 19' fill='none'%3E%3Cpath d='M15.0793 7.11119L3.77899 0.582419C3.45597 0.391308 3.08811 0.289125 2.7128 0.286255C2.12282 0.286255 1.55701 0.520623 1.13983 0.937802C0.72265 1.35498 0.488281 1.9208 0.488281 2.51078V16.5226C0.488356 16.9141 0.593309 17.2985 0.792226 17.6357C0.991143 17.9729 1.27676 18.2507 1.61939 18.4401C1.96201 18.6296 2.34913 18.7238 2.74049 18.713C3.13186 18.7022 3.51318 18.5867 3.84481 18.3786L15.1583 11.2312C15.51 11.011 15.7988 10.7035 15.9964 10.3385C16.1939 9.97361 16.2936 9.56371 16.2856 9.14881C16.2777 8.7339 16.1624 8.32812 15.951 7.97103C15.7396 7.61393 15.4392 7.3177 15.0793 7.11119Z' fill='%23089114'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.c-button-shadow-green:hover {
  box-shadow: 0px 4px 0px 0px #3aae36;
}
@media (max-width: 640px) {
  .c-button-shadow-green {
    border-width: 4px;
    box-shadow: 0px 6px 0px 0px #3aae36;
    font-size: 1.40625rem;
    padding: 0.75rem;
  }
  .c-button-shadow-green::after {
    width: 10.669px;
    height: 12.445px;
    right: 18px;
    background-size: contain;
    background-position: center;
  }
  .c-button-shadow-green:hover {
    box-shadow: 0px 3px 0px 0px #3aae36;
  }
}

.c-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  padding: 2rem;
  gap: 1rem;
  border: 8px solid #603813;
  border-radius: 2.5rem;
  background: #ffffff;
}
@media (max-width: 640px) {
  .c-card {
    padding: 1.5rem;
    gap: 0.75rem;
    border-radius: 1.875rem;
    border: 6px solid #603813;
  }
}
@media (max-width: 380px) {
  .c-card {
    padding: 1.375rem;
  }
}
.c-card__heading {
  color: #603813;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .c-card__heading {
    font-size: 1.03125rem;
  }
}
.c-card__note {
  color: #484848;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.7px;
}
@media (max-width: 640px) {
  .c-card__note {
    font-size: 0.75rem;
  }
}

.p-hero {
  background-image: url(../img/hero-background-pattern.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  margin-top: -24px;
  padding-bottom: 60px;
  margin-bottom: -136px;
  position: relative;
  z-index: 4;
}
@media (max-width: 1190px) {
  .p-hero {
    background-image: url(../img/hero-background-pattern-pc.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 100%;
  }
}
@media (max-width: 640px) {
  .p-hero {
    margin-top: 0;
    background: none;
    margin-bottom: -104px;
  }
}
.p-hero__inner {
  max-width: 1178px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  transform: translateY(24px);
  z-index: 2;
}
@media (max-width: 640px) {
  .p-hero__inner {
    transform: translateY(0);
    z-index: inherit;
  }
}
.p-hero__title {
  margin: 0;
}
.p-hero img {
  display: block;
  width: 100%;
}

.p-about {
  background-color: #FDECD2;
  padding: 4rem 0 14rem;
  position: relative;
  background-image: url(../img/about-background-pattern-pc.png);
  background-position: center top 8vw;
  background-repeat: no-repeat;
  position: relative;
  z-index: 3;
  /*  &::before {
      content: "";
      position: absolute;
      bottom: 100%; // ← 親要素のてっぺんに、自分の底をくっつける
      left: 0;
      width: 100%;
      height: 14px; // ← 28pxから14pxに修正
      background-image: $wave-svg;
      background-size: 80px 14px; // ← 28pxから14pxに修正
      background-position: center;

      @include mixins.media-sp {
        // ★ ここもSP用の値に変更
        height: 9px;
        background-image: $wave-svg-sp;
        background-size: 54px 9px;
      }
    }*/
}
.p-about__image {
  display: none;
}
@media (max-width: 1100px) {
  .p-about {
    background-image: none;
  }
  .p-about__image {
    display: block;
    max-width: 393px;
    margin: 0 auto -24px;
  }
  .p-about__image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 640px) {
  .p-about {
    background-size: cover;
  }
  .p-about__image {
    display: block;
    max-width: calc(100% + 3rem);
    margin: 0 -1.5rem -24px;
  }
}
@media (max-width: 550px) {
  .p-about {
    background-size: contain;
  }
}
.p-about::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14' fill='none'%3E%3Cpath d='M80 14H0V0C22.0914 0 22.0914 14 40 14C57.9086 14 57.9086 0 80 0V14Z' fill='%23FDECD2'/%3E%3C/svg%3E");
  background-size: 80px 14px;
  transform: rotate(180deg);
  background-position: center;
}
@media (max-width: 640px) {
  .p-about::after {
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='9' viewBox='0 0 54 9' fill='none'%3E%3Cpath d='M54 9H0V0C14.85 0 14.85 9 27 9C39.15 9 39.15 0 54 0V9Z' fill='%23FDECD2'/%3E%3C/svg%3E");
    background-size: 54px 9px;
  }
}
.p-about__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.p-about__text {
  color: #603813;
  text-align: center;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.9;
}
@media (max-width: 640px) {
  .p-about__text {
    font-size: 0.9375rem;
  }
}
.p-about__text br.u-br-sp {
  display: none;
}
@media (max-width: 450px) {
  .p-about__text br.u-br-sp {
    display: block;
  }
}
.p-about__box {
  background-color: #ffffff;
  border-radius: 16px;
  max-width: 637px;
  width: 100%;
  max-width: 432px;
  display: flex;
  padding: 1rem;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 640px) {
  .p-about__box {
    border-radius: 14px;
    padding: 0.75rem;
    gap: 0.75rem;
    max-width: 342px;
  }
}
.p-about__box-title {
  width: 49px;
  height: auto;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .p-about__box-title {
    width: 36.75px;
    height: 33.416px;
  }
}
.p-about__box-text {
  color: #603813;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: left;
}
@media (max-width: 640px) {
  .p-about__box-text {
    font-size: 1rem;
  }
}
.p-about__box-text a {
  color: #000;
  text-decoration: underline;
}
.p-about .c-button {
  max-width: 564px;
}

.p-courses {
  background-color: #90e7fc;
  background-image: url(../img/courses-background-pattern.png);
  background-size: 100% auto;
  background-position: center;
  background-repeat: no-repeat;
  padding: 6rem 0;
  padding-bottom: 240px;
}
@media (max-width: 640px) {
  .p-courses {
    background-image: url(../img/courses-background-pattern-sp.png);
    background-size: cover;
  }
}
.p-courses__inner {
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}
.p-courses__heading {
  width: 100%;
  max-width: 724px;
  height: 103px;
  margin: 0 auto 4rem;
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0;
  background-image: url(../img/courses-heading.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 640px) {
  .p-courses__heading {
    height: 109px;
    background-image: url(../img/courses-heading-sp.png);
    background-size: contain;
    margin: 0 auto 6rem;
  }
}
.p-courses__list-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 4rem;
}
.p-courses__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 720px;
  margin: 0 auto 3rem;
  padding: 40px 1.5rem 1.5rem;
  border-radius: 40px;
  border: 7px solid #603813;
  background: #ffffff;
  box-shadow: 8px 8px 0px 0px #603813;
  position: relative;
}
@media (max-width: 640px) {
  .p-courses__item {
    border-radius: 30px;
    border: 5.25px solid #603813;
    box-shadow: 6px 6px 0px 0px #603813;
    padding: 30px 18px 32px 18px;
    margin: 0 auto 4rem;
  }
}
.p-courses__item:nth-last-of-type(1) {
  margin: 0;
}
.p-courses__item-title {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  transform: translateY(-75%);
  max-width: calc(100% - 8rem);
  width: 100%;
  padding: 1rem;
  margin-bottom: 1.5rem;
  background-color: #603813;
  color: #FFF000;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.2;
}
@media (max-width: 960px) {
  .p-courses__item-title {
    font-size: 1.25rem;
    height: 68px;
  }
}
@media (max-width: 640px) {
  .p-courses__item-title {
    font-size: 1.25rem;
    transform: translateY(-90%);
    max-width: calc(100% - 4rem);
  }
}
@media (max-width: 354px) {
  .p-courses__item-title {
    font-size: 1.125rem;
  }
}
.p-courses__item-title::before, .p-courses__item-title::after {
  content: "";
  position: absolute;
  bottom: 0%;
  transform: translateY(32%);
  width: 72px;
  height: 55px;
}
@media (max-width: 640px) {
  .p-courses__item-title::before, .p-courses__item-title::after {
    transform: translateY(40%);
    width: 34px;
    height: 41px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.p-courses__item-title::before {
  left: -40px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='72' height='55' viewBox='0 0 72 55' fill='none'%3e%3cpath d='M36.7951 0.218092L0 0.00976562L18.2154 24.7225L0 54.3178L60.6573 54.5001L36.7951 44.7348V0.218092Z' fill='%23603813'/%3e%3cpath d='M71.9508 54.1745V41.8833H42.0125L71.9508 54.1745Z' fill='%23603813'/%3e%3c/svg%3e");
}
@media (max-width: 640px) {
  .p-courses__item-title::before {
    left: -20px;
  }
}
.p-courses__item-title::after {
  right: -40px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='72' height='55' viewBox='0 0 72 55' fill='none'%3e%3cpath d='M35.2048 0.218092L71.9999 0.00976562L53.7715 24.7225L71.9999 54.3178L11.3296 54.5001L35.2048 44.7348V0.218092Z' fill='%23603813'/%3e%3cpath d='M0.0361328 54.1745V41.8833H29.9874L0.0361328 54.1745Z' fill='%23603813'/%3e%3c/svg%3e");
}
@media (max-width: 640px) {
  .p-courses__item-title::after {
    right: -20px;
  }
}
.p-courses__item-title br {
  display: none;
}
@media (max-width: 960px) {
  .p-courses__item-title br {
    display: block;
  }
}
.p-courses__item-content-area {
  display: flex;
  gap: 1.5rem;
  width: 100%;
}
@media (max-width: 640px) {
  .p-courses__item-content-area {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-courses__item-image {
  width: calc(100% - 328px - 1.5rem);
  flex-shrink: 0;
  order: -1;
  border-radius: 4px;
  overflow: hidden;
}
@media (max-width: 640px) {
  .p-courses__item-image {
    border-radius: 3px;
    width: 100%;
  }
}
.p-courses__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}
@media (max-width: 640px) {
  .p-courses__item-image {
    order: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 0;
  }
}
.p-courses__item-text-block {
  display: flex;
  flex-direction: column;
  width: 328px;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1 1 0;
  text-align: left;
  justify-content: start;
}
@media (max-width: 640px) {
  .p-courses__item-text-block {
    width: 100%;
  }
}
.p-courses__item-gift-name {
  color: #E95532;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 29px;
  font-weight: 900;
  line-height: 1.3;
  align-self: stretch;
  font-feature-settings: "palt" on;
}
@media (max-width: 640px) {
  .p-courses__item-gift-name {
    text-align: center;
    font-size: 22px;
  }
}
.p-courses__item-winners {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 640px) {
  .p-courses__item-winners {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
}
.p-courses__item-winners dt {
  padding: 0.5rem;
  border-radius: 9999px;
  background: #603813;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  width: 118px;
  white-space: nowrap;
  color: #ffffff;
  text-align: center;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 100%; /* 16px */
  letter-spacing: 0.8px;
}
@media (max-width: 640px) {
  .p-courses__item-winners dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 107px;
    font-size: 14.4px;
  }
}
.p-courses__item-winners dd {
  color: #484848;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
}
@media (max-width: 640px) {
  .p-courses__item-winners dd {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
  }
}
.p-courses__item-description {
  color: #484848;
  text-align: justify;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.8px;
}
@media (max-width: 640px) {
  .p-courses__item-description {
    font-size: 0.875rem;
  }
}

.p-benefits {
  padding: 6rem 1.5rem;
  background-image: url(../img/bg-p-benefits.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top 2rem center;
  position: relative;
  z-index: 3;
}
.p-benefits::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14' fill='none'%3E%3Cpath d='M80 14H0V0C22.0914 0 22.0914 14 40 14C57.9086 14 57.9086 0 80 0V14Z' fill='%23FDECD2'/%3E%3C/svg%3E");
  background-size: 80px 14px;
  transform: rotate(180deg) translateY(-32px);
  background-position: center;
}
@media (max-width: 640px) {
  .p-benefits::before {
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='9' viewBox='0 0 54 9' fill='none'%3E%3Cpath d='M54 9H0V0C14.85 0 14.85 9 27 9C39.15 9 39.15 0 54 0V9Z' fill='%23FDECD2'/%3E%3C/svg%3E");
    background-size: 54px 9px;
  }
}
.p-benefits::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14' fill='none'%3E%3Cpath d='M80 14H0V0C22.0914 0 22.0914 14 40 14C57.9086 14 57.9086 0 80 0V14Z' fill='%23FDECD2'/%3E%3C/svg%3E");
  background-size: 80px 14px;
  transform: rotate(0deg) translateY(0px);
  background-position: center;
}
@media (max-width: 640px) {
  .p-benefits::after {
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='9' viewBox='0 0 54 9' fill='none'%3E%3Cpath d='M54 9H0V0C14.85 0 14.85 9 27 9C39.15 9 39.15 0 54 0V9Z' fill='%23FDECD2'/%3E%3C/svg%3E");
    background-size: 54px 9px;
  }
}
.p-benefits__fig01 {
  width: 309.248px;
  height: 395px;
  position: absolute;
  right: 30px;
  top: 0;
  transform: translateY(-20%);
}
.p-benefits__fig01 img {
  width: 100%;
  height: auto;
}
@media (max-width: 1200px) {
  .p-benefits__fig01 {
    right: 0;
  }
}
@media (max-width: 960px) {
  .p-benefits__fig01 {
    display: none;
  }
}
.p-benefits__fig01_s {
  width: 147px;
  height: 297px;
  position: absolute;
  right: 0px;
  top: 0;
  transform: translateY(-50%);
  display: none;
}
.p-benefits__fig01_s img {
  width: 100%;
  height: auto;
}
@media (max-width: 960px) {
  .p-benefits__fig01_s {
    display: block;
  }
}
.p-benefits__fig02 {
  width: 120.857px;
  height: 104.054px;
  position: absolute;
  left: 180px;
  top: 0;
  transform: translateY(-20%);
}
.p-benefits__fig02 img {
  width: 100%;
  height: auto;
}
@media (max-width: 1200px) {
  .p-benefits__fig02 {
    left: 0;
  }
}
@media (max-width: 750px) {
  .p-benefits__fig02 {
    display: none;
  }
}
.p-benefits__fig02_s {
  width: 85px;
  height: 99px;
  position: absolute;
  left: 0px;
  top: 0;
  transform: translateY(-200%);
  z-index: 9999;
  display: none;
}
.p-benefits__fig02_s img {
  width: 100%;
  height: auto;
}
@media (max-width: 750px) {
  .p-benefits__fig02_s {
    display: block;
  }
}
.p-benefits__fig-bene {
  display: none;
}
@media (max-width: 960px) {
  .p-benefits__fig-bene {
    display: block;
    width: calc(100% + 48px);
    margin: 0 -24px;
    margin-bottom: -56vw;
  }
}
.p-benefits__fig-bene img {
  width: 100%;
  height: auto;
}
.p-benefits__inner {
  max-width: 1152px;
  margin: 0 auto;
  margin-top: -240px;
  position: relative;
}
.p-benefits__section {
  margin-bottom: 4rem;
}
@media (max-width: 640px) {
  .p-benefits__section {
    margin-bottom: 2rem;
  }
}
.p-benefits__section--vote {
  max-width: 564px;
  padding: 4rem 2rem 2rem;
  border-radius: 2.5rem;
  border: 7px solid #603813;
  background: #ffffff;
  text-align: center;
  position: relative;
  margin: 0 auto 4rem;
  z-index: 2;
}
@media (max-width: 640px) {
  .p-benefits__section--vote {
    border-radius: 30px;
    border: 5.25px solid #392c20;
    padding: 2rem 1rem 1rem;
    margin-bottom: 2rem;
  }
}
.p-benefits__section--vote .p-benefits__heading-line {
  display: block;
}
.p-benefits__section--vote .p-benefits__heading-line:first-child {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 252px;
  height: 44px;
  border-radius: 9999px;
  border: 3px solid #ffffff;
  background: #603813;
  color: #fcff2e;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 640px) {
  .p-benefits__section--vote .p-benefits__heading-line:first-child {
    width: 154px;
    height: 26px;
    font-size: 0.9375rem;
    border: 2px solid #fff;
  }
}
.p-benefits__section--vote .p-benefits__heading-line:nth-child(2) {
  text-indent: 101%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  width: 100%;
  height: 0;
  padding-bottom: 13.97%;
  background-image: url(../img/vote-heading-conditions-pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-benefits__section--vote .p-benefits__text {
  color: #484848;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.9;
  margin-top: 1rem;
}
@media (max-width: 640px) {
  .p-benefits__section--vote .p-benefits__text {
    font-size: 0.875rem;
  }
}
.p-benefits__section--vote .p-benefits__text br.u-br-sp {
  display: none;
}
@media (max-width: 450px) {
  .p-benefits__section--vote .p-benefits__text br.u-br-sp {
    display: block;
  }
}
.p-benefits__section--vote .p-benefits__image {
  margin-top: 1.5rem;
}
.p-benefits__section--line {
  position: relative;
  background: url(../img/fig-benefitfig.png) top center no-repeat;
  padding-top: 96px;
  margin-top: -96px;
  background-size: contain;
}
@media (max-width: 960px) {
  .p-benefits__section--line {
    background: none;
  }
}
@media (max-width: 960px) {
  .p-benefits__section--line::after {
    content: "";
    display: block;
    background: url(../img/coin.png) center center no-repeat;
    background-size: contain;
    width: 65px;
    height: 83px;
    position: absolute;
    right: -24px;
    top: 10%;
    z-index: 10;
  }
}
.p-benefits__section--line .p-benefits__heading {
  position: relative;
  z-index: 1;
  max-width: 598px;
  margin: 0 auto -96px;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__heading {
    margin: 0 auto -18%;
  }
}
.p-benefits__section--line .p-benefits__box {
  position: relative;
  z-index: 2;
  max-width: 580px;
  margin: 0 auto 16px;
  padding: 1.5rem;
  border-radius: 2.5rem;
  border: 7px solid #603813;
  background: #ffffff;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__box {
    padding: 1rem;
    border-radius: 30px;
    border: 5.25px solid #603813;
    margin-bottom: 16px;
  }
}
.p-benefits__section--line .p-benefits__box .p-benefits__text {
  color: #484848;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.9;
  margin-bottom: 1rem;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__box .p-benefits__text {
    font-size: 0.8125rem;
    margin-bottom: 0.8125rem;
  }
}
.p-benefits__section--line .p-benefits__box .p-benefits__text br.u-br-sp {
  display: none;
}
@media (max-width: 450px) {
  .p-benefits__section--line .p-benefits__box .p-benefits__text br.u-br-sp {
    display: block;
  }
}
.p-benefits__section--line .p-benefits__box .p-benefits__text strong {
  color: #E95532;
  font-weight: 700;
}
.p-benefits__section--line .p-benefits__steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__steps {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.p-benefits__section--line .p-benefits__step {
  flex-basis: calc(50% - 1rem);
  display: inline-flex;
  padding-bottom: 1.5rem;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  border-radius: 2.5rem;
  border: 7px solid #603813;
  background: #ffffff;
}
@media (max-width: 960px) {
  .p-benefits__section--line .p-benefits__step {
    flex-basis: 100%;
  }
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step {
    border-radius: 1.875rem;
    border: 5.25px solid #603813;
    padding-bottom: 1.125rem;
    gap: 0.75rem;
  }
}
.p-benefits__section--line .p-benefits__step-title {
  display: flex;
  height: 54px;
  padding: 0.5rem 0.5rem 0.75rem;
  border-radius: 1rem 1rem 0 0;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
  background: #603813;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-title {
    height: 45px;
  }
}
.p-benefits__section--line .p-benefits__step-label {
  display: block;
  height: 28px;
  width: 200px;
  text-indent: 101%;
  white-space: nowrap;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-label {
    height: 21px;
  }
}
.p-benefits__section--line .p-benefits__step-label--step1 {
  background-image: url(../img/benefits-step-title-01.png);
}
.p-benefits__section--line .p-benefits__step-label--step2 {
  background-image: url(../img/benefits-step-title-02.png);
}
.p-benefits__section--line .p-benefits__step-label--step3 {
  background-image: url(../img/benefits-step-title-03.png);
}
.p-benefits__section--line .p-benefits__step-label--step4 {
  background-image: url(../img/benefits-step-title-04.png);
}
.p-benefits__section--line .p-benefits__step-content {
  display: flex;
  padding: 0 1.5rem;
  align-items: center;
  gap: 1rem;
  align-self: stretch;
  flex-grow: 1;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-content {
    flex-direction: column;
    padding: 0 1.125rem;
  }
}
.p-benefits__section--line .p-benefits__step-flow,
.p-benefits__section--line .p-benefits__step-text {
  display: flex;
  width: 300px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-flow,
  .p-benefits__section--line .p-benefits__step-text {
    width: auto;
    gap: 0.375rem;
  }
}
.p-benefits__section--line .p-benefits__step-image {
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (max-width: 960px) {
  .p-benefits__section--line .p-benefits__step-image {
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-image {
    border-radius: 0.375rem;
    max-width: 150px;
  }
}
.p-benefits__section--line .p-benefits__step-image img {
  width: 100%;
  height: auto;
}
.p-benefits__section--line .p-benefits__step-flow {
  color: #484848;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-flow {
    font-size: 0.9375rem;
  }
}
.p-benefits__section--line .p-benefits__step-text {
  color: #484848;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-text {
    font-size: 0.9375rem;
  }
}
.p-benefits__section--line .p-benefits__step-arrow {
  width: 30px;
  height: 37px;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .p-benefits__section--line .p-benefits__step-arrow {
    width: 22.5px;
    height: 27.75px;
  }
}
.p-benefits__section--line .p-benefits__step-note {
  display: block;
  margin-top: 0.5rem;
  color: #484848;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}
.p-benefits__text {
  color: #484848;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.9;
}
.p-benefits .p-benefits__actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}
@media (max-width: 640px) {
  .p-benefits .p-benefits__actions {
    flex-direction: column;
    gap: 2rem;
  }
}

.p-flow {
  padding: 94px 1.5rem;
  background-color: #fdecd2;
  background-image: url(../img/flow-background-pattern-pc.png);
  background-size: 100% auto;
  background-position: bottom -8vw center;
  background-repeat: no-repeat;
  position: relative;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 7;
  overflow: hidden;
  padding-top: 48px;
}
@media (max-width: 960px) {
  .p-flow {
    padding-top: 48px;
  }
}
@media (max-width: 640px) {
  .p-flow {
    padding: 5rem 1.5rem;
    background-image: url(../img/flow-background-pattern-sp.png);
    background-size: 100% auto;
    background-position: bottom -56vw center;
    padding-top: 24px;
  }
}
.p-flow::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  background-position: center;
  background-repeat: repeat-x;
  z-index: 10;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14' fill='none'%3E%3Cpath d='M80 14H0V0C22.0914 0 22.0914 14 40 14C57.9086 14 57.9086 0 80 0V14Z' fill='%23FDECD2'/%3E%3C/svg%3E");
  background-size: 80px 14px;
}
@media (max-width: 640px) {
  .p-flow::before {
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='9' viewBox='0 0 54 9' fill='none'%3E%3Cpath d='M54 9H0V0C14.85 0 14.85 9 27 9C39.15 9 39.15 0 54 0V9Z' fill='%23FDECD2'/%3E%3C/svg%3E");
    background-size: 54px 9px;
  }
}
.p-flow__image {
  width: 1054.382px;
  height: 902.773px;
  position: absolute;
  bottom: 152px;
  left: 50%;
  transform: translateX(-50%);
}
.p-flow__image img {
  width: 1054.382px;
  height: 902.773px;
  object-fit: contain;
}
@media (max-width: 960px) {
  .p-flow__image {
    display: none;
  }
}
.p-flow__sp01-image {
  display: none;
}
@media (max-width: 960px) {
  .p-flow__sp01-image {
    display: block;
    width: calc(100% + 3rem);
    margin: 0 -1.5rem -70%;
    position: relative;
    z-index: -1;
  }
  .p-flow__sp01-image img {
    width: 100%;
    height: auto;
  }
}
.p-flow__sp02-image {
  display: none;
}
@media (max-width: 960px) {
  .p-flow__sp02-image {
    display: block;
    width: calc(100% + 3rem);
    margin: -96vw -1.5rem 5%;
    position: relative;
    z-index: -1;
  }
  .p-flow__sp02-image img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 640px) {
  .p-flow__sp02-image {
    margin: -96vw -1.5rem 40%;
  }
}
.p-flow__leaf {
  max-width: 1280px;
  margin: -56px auto -340px;
  position: relative;
  z-index: 9999;
}
.p-flow__leaf img {
  width: 100%;
  height: auto;
}
@media (max-width: 1240px) {
  .p-flow__leaf {
    margin: -56px auto -300px;
  }
}
@media (max-width: 1104px) {
  .p-flow__leaf {
    margin: -56px auto -240px;
  }
}
@media (max-width: 960px) {
  .p-flow__leaf {
    display: none;
  }
}
.p-flow__inner {
  max-width: 564px;
  margin: 0 auto;
}
.p-flow__section {
  margin-bottom: 4rem;
}
@media (max-width: 640px) {
  .p-flow__section {
    margin-bottom: 2rem;
  }
}
.p-flow__heading {
  height: 40px;
  margin-bottom: 2rem;
  text-indent: 101%;
  white-space: nowrap;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 640px) {
  .p-flow__heading {
    height: 30px;
    margin-bottom: 1.5rem;
  }
}
.p-flow__heading--conditions {
  background-image: url(../img/flow-heading-conditions.png);
}
.p-flow__heading--announcement {
  background-image: url(../img/flow-heading-announcement.png);
}
.p-flow__heading--shipping {
  background-image: url(../img/flow-heading-shipping.png);
}
.p-flow__heading--points {
  background-image: url(../img/flow-heading-points.png);
}
.p-flow__steps {
  list-style: none;
  padding-left: 0;
}
.p-flow__step:not(:last-child) {
  margin-bottom: 2rem;
}
.p-flow__step-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  align-self: stretch;
  padding-bottom: 1rem;
  border-bottom: 4px solid #603813;
}
@media (max-width: 640px) {
  .p-flow__step-title {
    gap: 0.375rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid #603813;
  }
}
.p-flow__step-number {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #603813;
  color: #ffffff;
  font-family: "Century Gothic Pro", sans-serif;
  font-size: 1.527rem;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 640px) {
  .p-flow__step-number {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.14525rem;
  }
}
@media (max-width: 380px) {
  .p-flow__step-number {
    width: 2.125rem;
    height: 2.125rem;
  }
}
.p-flow__step-label {
  color: #603813;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6875rem;
  font-weight: 900;
  line-height: 1.7;
}
@media (max-width: 640px) {
  .p-flow__step-label {
    width: calc(100% - 3rem - 0.375rem);
    font-size: 1.265625rem;
    text-align: center;
  }
}
.p-flow__step-label br.u-br-sp {
  display: none;
}
@media (max-width: 380px) {
  .p-flow__step-label br.u-br-sp {
    display: block;
  }
}
.p-flow__prompt-text {
  color: #484848;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
}
@media (max-width: 640px) {
  .p-flow__prompt-text {
    font-size: 1.125rem;
  }
}
.p-flow__text {
  color: #484848;
  text-align: justify;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.9px;
}
@media (max-width: 640px) {
  .p-flow__text {
    font-size: 0.84375rem;
  }
}
.p-flow__note {
  color: #484848;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.7px;
}
@media (max-width: 640px) {
  .p-flow__note {
    font-size: 0.75rem;
  }
}

.p-info-area {
  position: relative;
  background: url(../img/bg-p-info-area.png) no-repeat top center;
  background-size: cover;
  padding: 7.5rem 0;
  margin-top: -24px;
  position: relative;
  z-index: 10;
}
@media (max-width: 640px) {
  .p-info-area {
    padding: 5rem 0;
    background: url(../img/bg-p-info-area-sp.png) no-repeat top center;
    background-size: cover;
  }
}
.p-info-area__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.p-info-area__notes {
  margin-bottom: 4rem;
}
.p-info-area__heading {
  color: #ffffff;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 2rem;
}
@media (max-width: 640px) {
  .p-info-area__heading {
    font-size: 32px;
    margin-bottom: 1.5rem;
    font-size: 1.875rem;
    margin-bottom: 21px;
  }
}
.p-info-area__list {
  list-style: disc;
  padding-left: 1.2em;
}
@media (max-width: 640px) {
  .p-info-area__list {
    margin-bottom: 0;
  }
}
.p-info-area__list-item {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  line-height: 1.9;
}
@media (max-width: 640px) {
  .p-info-area__list-item {
    font-size: 0.84375rem;
  }
}
.p-info-area__sub-group {
  padding-top: 1.5rem;
}
@media (max-width: 640px) {
  .p-info-area__sub-group {
    padding-top: 0;
  }
}
.p-info-area__sub-heading {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  line-height: 1.9;
}
@media (max-width: 640px) {
  .p-info-area__sub-heading {
    font-size: 0.84375rem;
  }
}
.p-info-area__contact-text {
  color: #ffffff;
  text-align: center;
  font-size: 1.5625rem;
  line-height: 1.25;
  letter-spacing: 1.25px;
  font-weight: 700;
}
@media (max-width: 640px) {
  .p-info-area__contact-text {
    font-size: 1.171875rem;
    letter-spacing: 0.938px;
    line-height: 1.5;
  }
}
.p-info-area__contact-text a {
  color: inherit;
  text-decoration: none;
}
.p-info-area__contact-text a:hover {
  text-decoration: underline;
}
@media (max-width: 450px) {
  .p-info-area__contact-text a {
    display: block;
  }
}

.p-footer {
  padding: 2rem 1rem;
  background-color: #ffffff;
}
.p-footer__inner {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #000000;
}
.p-footer__logo {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}
.p-footer__logo img {
  height: 50px;
  width: auto;
}
.p-footer__jka-info {
  padding: 1rem 0;
  margin-bottom: 1rem;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
.p-footer__copyright {
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.p-footer__notice {
  font-size: 0.75rem;
  line-height: 1.5;
}
.p-footer__system-info {
  font-size: 0.75rem;
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-flex {
  display: flex;
}

.u-items-center {
  align-items: center;
}

.u-justify-center {
  justify-content: center;
}

.u-justify-between {
  justify-content: space-between;
}

.u-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.u-w-full {
  width: 100%;
}

.u-text-center {
  text-align: center;
}

.u-text-right {
  text-align: right;
}

.u-text-left {
  text-align: left;
}

.u-font-bold {
  font-weight: bold;
}

.u-font-normal {
  font-weight: normal;
}

.u-m-xxs {
  margin: 0.25rem !important;
}

.u-p-xxs {
  padding: 0.25rem !important;
}

.u-mx-xxs {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.u-px-xxs {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.u-my-xxs {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.u-py-xxs {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.u-mt-xxs {
  margin-top: 0.25rem !important;
}

.u-mb-xxs {
  margin-bottom: 0.25rem !important;
}

.u-ml-xxs {
  margin-left: 0.25rem !important;
}

.u-mr-xxs {
  margin-right: 0.25rem !important;
}

.u-pt-xxs {
  padding-top: 0.25rem !important;
}

.u-pb-xxs {
  padding-bottom: 0.25rem !important;
}

.u-pl-xxs {
  padding-left: 0.25rem !important;
}

.u-pr-xxs {
  padding-right: 0.25rem !important;
}

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

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

.u-mx-xs {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.u-px-xs {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.u-my-xs {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.u-py-xs {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.u-mt-xs {
  margin-top: 0.5rem !important;
}

.u-mb-xs {
  margin-bottom: 0.5rem !important;
}

.u-ml-xs {
  margin-left: 0.5rem !important;
}

.u-mr-xs {
  margin-right: 0.5rem !important;
}

.u-pt-xs {
  padding-top: 0.5rem !important;
}

.u-pb-xs {
  padding-bottom: 0.5rem !important;
}

.u-pl-xs {
  padding-left: 0.5rem !important;
}

.u-pr-xs {
  padding-right: 0.5rem !important;
}

.u-m-s {
  margin: 0.75rem !important;
}

.u-p-s {
  padding: 0.75rem !important;
}

.u-mx-s {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.u-px-s {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.u-my-s {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.u-py-s {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.u-mt-s {
  margin-top: 0.75rem !important;
}

.u-mb-s {
  margin-bottom: 0.75rem !important;
}

.u-ml-s {
  margin-left: 0.75rem !important;
}

.u-mr-s {
  margin-right: 0.75rem !important;
}

.u-pt-s {
  padding-top: 0.75rem !important;
}

.u-pb-s {
  padding-bottom: 0.75rem !important;
}

.u-pl-s {
  padding-left: 0.75rem !important;
}

.u-pr-s {
  padding-right: 0.75rem !important;
}

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

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

.u-mx-m {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.u-px-m {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.u-my-m {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.u-py-m {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.u-mt-m {
  margin-top: 1rem !important;
}

.u-mb-m {
  margin-bottom: 1rem !important;
}

.u-ml-m {
  margin-left: 1rem !important;
}

.u-mr-m {
  margin-right: 1rem !important;
}

.u-pt-m {
  padding-top: 1rem !important;
}

.u-pb-m {
  padding-bottom: 1rem !important;
}

.u-pl-m {
  padding-left: 1rem !important;
}

.u-pr-m {
  padding-right: 1rem !important;
}

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

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

.u-mx-l {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.u-px-l {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.u-my-l {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.u-py-l {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.u-mt-l {
  margin-top: 1.5rem !important;
}

.u-mb-l {
  margin-bottom: 1.5rem !important;
}

.u-ml-l {
  margin-left: 1.5rem !important;
}

.u-mr-l {
  margin-right: 1.5rem !important;
}

.u-pt-l {
  padding-top: 1.5rem !important;
}

.u-pb-l {
  padding-bottom: 1.5rem !important;
}

.u-pl-l {
  padding-left: 1.5rem !important;
}

.u-pr-l {
  padding-right: 1.5rem !important;
}

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

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

.u-mx-xl {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.u-px-xl {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.u-my-xl {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.u-py-xl {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.u-mt-xl {
  margin-top: 2rem !important;
}

.u-mb-xl {
  margin-bottom: 2rem !important;
}

.u-ml-xl {
  margin-left: 2rem !important;
}

.u-mr-xl {
  margin-right: 2rem !important;
}

.u-pt-xl {
  padding-top: 2rem !important;
}

.u-pb-xl {
  padding-bottom: 2rem !important;
}

.u-pl-xl {
  padding-left: 2rem !important;
}

.u-pr-xl {
  padding-right: 2rem !important;
}

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

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

.u-mx-xxl {
  margin-left: 2.5rem !important;
  margin-right: 2.5rem !important;
}

.u-px-xxl {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

.u-my-xxl {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.u-py-xxl {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.u-mt-xxl {
  margin-top: 2.5rem !important;
}

.u-mb-xxl {
  margin-bottom: 2.5rem !important;
}

.u-ml-xxl {
  margin-left: 2.5rem !important;
}

.u-mr-xxl {
  margin-right: 2.5rem !important;
}

.u-pt-xxl {
  padding-top: 2.5rem !important;
}

.u-pb-xxl {
  padding-bottom: 2.5rem !important;
}

.u-pl-xxl {
  padding-left: 2.5rem !important;
}

.u-pr-xxl {
  padding-right: 2.5rem !important;
}

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

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

.u-mx-3xl {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.u-px-3xl {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.u-my-3xl {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.u-py-3xl {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.u-mt-3xl {
  margin-top: 3rem !important;
}

.u-mb-3xl {
  margin-bottom: 3rem !important;
}

.u-ml-3xl {
  margin-left: 3rem !important;
}

.u-mr-3xl {
  margin-right: 3rem !important;
}

.u-pt-3xl {
  padding-top: 3rem !important;
}

.u-pb-3xl {
  padding-bottom: 3rem !important;
}

.u-pl-3xl {
  padding-left: 3rem !important;
}

.u-pr-3xl {
  padding-right: 3rem !important;
}

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

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

.u-mx-4xl {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.u-px-4xl {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.u-my-4xl {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.u-py-4xl {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.u-mt-4xl {
  margin-top: 4rem !important;
}

.u-mb-4xl {
  margin-bottom: 4rem !important;
}

.u-ml-4xl {
  margin-left: 4rem !important;
}

.u-mr-4xl {
  margin-right: 4rem !important;
}

.u-pt-4xl {
  padding-top: 4rem !important;
}

.u-pb-4xl {
  padding-bottom: 4rem !important;
}

.u-pl-4xl {
  padding-left: 4rem !important;
}

.u-pr-4xl {
  padding-right: 4rem !important;
}

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

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

.u-mx-5xl {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.u-px-5xl {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.u-my-5xl {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.u-py-5xl {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.u-mt-5xl {
  margin-top: 5rem !important;
}

.u-mb-5xl {
  margin-bottom: 5rem !important;
}

.u-ml-5xl {
  margin-left: 5rem !important;
}

.u-mr-5xl {
  margin-right: 5rem !important;
}

.u-pt-5xl {
  padding-top: 5rem !important;
}

.u-pb-5xl {
  padding-bottom: 5rem !important;
}

.u-pl-5xl {
  padding-left: 5rem !important;
}

.u-pr-5xl {
  padding-right: 5rem !important;
}

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

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

.u-mx-6xl {
  margin-left: 6rem !important;
  margin-right: 6rem !important;
}

.u-px-6xl {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

.u-my-6xl {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.u-py-6xl {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.u-mt-6xl {
  margin-top: 6rem !important;
}

.u-mb-6xl {
  margin-bottom: 6rem !important;
}

.u-ml-6xl {
  margin-left: 6rem !important;
}

.u-mr-6xl {
  margin-right: 6rem !important;
}

.u-pt-6xl {
  padding-top: 6rem !important;
}

.u-pb-6xl {
  padding-bottom: 6rem !important;
}

.u-pl-6xl {
  padding-left: 6rem !important;
}

.u-pr-6xl {
  padding-right: 6rem !important;
}

.u-m-7xl {
  margin: 7.5rem !important;
}

.u-p-7xl {
  padding: 7.5rem !important;
}

.u-mx-7xl {
  margin-left: 7.5rem !important;
  margin-right: 7.5rem !important;
}

.u-px-7xl {
  padding-left: 7.5rem !important;
  padding-right: 7.5rem !important;
}

.u-my-7xl {
  margin-top: 7.5rem !important;
  margin-bottom: 7.5rem !important;
}

.u-py-7xl {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.u-mt-7xl {
  margin-top: 7.5rem !important;
}

.u-mb-7xl {
  margin-bottom: 7.5rem !important;
}

.u-ml-7xl {
  margin-left: 7.5rem !important;
}

.u-mr-7xl {
  margin-right: 7.5rem !important;
}

.u-pt-7xl {
  padding-top: 7.5rem !important;
}

.u-pb-7xl {
  padding-bottom: 7.5rem !important;
}

.u-pl-7xl {
  padding-left: 7.5rem !important;
}

.u-pr-7xl {
  padding-right: 7.5rem !important;
}

.u-m-8xl {
  margin: 10rem !important;
}

.u-p-8xl {
  padding: 10rem !important;
}

.u-mx-8xl {
  margin-left: 10rem !important;
  margin-right: 10rem !important;
}

.u-px-8xl {
  padding-left: 10rem !important;
  padding-right: 10rem !important;
}

.u-my-8xl {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.u-py-8xl {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.u-mt-8xl {
  margin-top: 10rem !important;
}

.u-mb-8xl {
  margin-bottom: 10rem !important;
}

.u-ml-8xl {
  margin-left: 10rem !important;
}

.u-mr-8xl {
  margin-right: 10rem !important;
}

.u-pt-8xl {
  padding-top: 10rem !important;
}

.u-pb-8xl {
  padding-bottom: 10rem !important;
}

.u-pl-8xl {
  padding-left: 10rem !important;
}

.u-pr-8xl {
  padding-right: 10rem !important;
}

@media (min-width: 641px) {
  .u-pc-hidden {
    display: none !important;
  }
}
@media (max-width: 640px) {
  .u-sp-hidden {
    display: none !important;
  }
}
.u-pc-hidden02 {
  display: none !important;
}

@media (max-width: 960px) {
  .u-pc-hidden02 {
    display: block !important;
  }
}
