@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

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

img {
  border: none;
  vertical-align: bottom;
}

body {
  color: #2D3F49;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

.l-inner {
  position: relative;
  width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1080px;
    padding: 0 2.5rem;
  }
}

.l-inner__narrow {
  max-width: 600px;
  padding: 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-inner__narrow {
    max-width: 62.25rem;
    padding: 0 2.5rem;
  }
}

.l-worries__inner {
  padding-block: 61px 78px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-worries__inner {
    padding-block: 61.98px 83px;
    padding-inline: 40px;
    max-width: 948px;
  }
}

.l-worries__list {
  -webkit-margin-before: 54.41px;
          margin-block-start: 54.41px;
}
@media screen and (min-width: 768px) {
  .l-worries__list {
    -webkit-margin-before: 38px;
            margin-block-start: 38px;
  }
}

.l-solutions__top-inner {
  padding-block: 54px 0;
  padding-inline: 20px;
  max-width: 600px;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}
@media screen and (min-width: 768px) {
  .l-solutions__top-inner {
    padding-block: 27px 0;
    padding-inline: 40px;
    max-width: 794px;
  }
}
@media (min-width: 1300px) and (max-width: 1440px) {
  .l-solutions__top-inner {
    -webkit-margin-start: 21%;
            margin-inline-start: 21%;
    -webkit-margin-end: 24%;
            margin-inline-end: 24%;
  }
}

.l-solutions__img-wrap {
  -webkit-margin-before: 3px;
          margin-block-start: 3px;
}

.l-solutions__bottom-inner {
  padding-block: 48px 50px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media (min-width: 900px) {
  .l-solutions__bottom-inner {
    padding-block: 70px 65px;
    padding-inline: 40px;
    max-width: 1080px;
  }
}

.l-solutions__body-text {
  -webkit-margin-before: 12px;
          margin-block-start: 12px;
}

.l-step__inner {
  padding-block: 29px 94px;
}
@media screen and (min-width: 768px) {
  .l-step__inner {
    padding-block: 61px 60px;
  }
}

.l-step__swiper-container {
  -webkit-margin-before: 18px;
          margin-block-start: 18px;
  -webkit-margin-start: 54px;
          margin-inline-start: 54px;
  -webkit-margin-end: calc(50% - 50vw);
          margin-inline-end: calc(50% - 50vw);
}
@media (min-width: 1000px) {
  .l-step__swiper-container {
    padding-inline: 40px 40px;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    -webkit-margin-end: auto;
            margin-inline-end: auto;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    max-width: 1128px;
  }
}

.l-step__item-main {
  -webkit-padding-start: 26px;
          padding-inline-start: 26px;
  -webkit-padding-end: 26px;
          padding-inline-end: 26px;
}

@media (min-width: 1000px) {
  .l-step__item-remark {
    -webkit-margin-before: 8px;
            margin-block-start: 8px;
  }
}

.l-cta__inner {
  -webkit-padding-before: 107px;
          padding-block-start: 107px;
  -webkit-padding-after: 40px;
          padding-block-end: 40px;
  padding-inline: 20px;
  max-width: 540px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-cta__inner {
    -webkit-padding-before: 140px;
            padding-block-start: 140px;
    -webkit-padding-after: 60px;
            padding-block-end: 60px;
    padding-inline: 40px;
    max-width: 1080px;
  }
}

.l-cta__list {
  -webkit-margin-before: 26px;
          margin-block-start: 26px;
}
@media screen and (min-width: 1024px) {
  .l-cta__list {
    -webkit-margin-before: 21px;
            margin-block-start: 21px;
  }
}

.l-performance__inner {
  padding-block: 30px 80px;
  overflow-wrap: break-word;
}
@media screen and (min-width: 768px) {
  .l-performance__inner {
    padding-block: 59px 153px;
  }
}

.l-performance__heading {
  padding-inline: 20px;
}

.l-performance__swiper-container {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media (min-width: 1080px) {
  .l-performance__swiper-container {
    -webkit-margin-before: 39px;
            margin-block-start: 39px;
    padding-inline: 30px;
    max-width: 1440px;
    margin-inline: auto;
  }
}

@media (min-width: 1080px) {
  .l-performance__swiper {
    -webkit-padding-end: 4px;
            padding-inline-end: 4px;
  }
}

.l-announce__inner {
  padding-block: 40px;
  padding-inline: 20px;
  max-width: 768px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-announce__inner {
    padding-block: 60px;
    padding-inline: 40px;
    max-width: 839px;
  }
}

.l-announce__text {
  -webkit-margin-before: 35px;
          margin-block-start: 35px;
}

.l-announce__remark {
  display: inline-block;
  -webkit-margin-before: 8px;
          margin-block-start: 8px;
}
@media screen and (min-width: 768px) {
  .l-announce__remark {
    -webkit-margin-before: 12px;
            margin-block-start: 12px;
  }
}

.l-review__inner {
  padding-block: 30px 40px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-review__inner {
    padding-block: 56px 64px;
    padding-inline: 40px;
    max-width: 1080px;
  }
}

.l-review__content {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .l-review__content {
    -webkit-margin-before: 39px;
            margin-block-start: 39px;
  }
}

.l-review__button-viewmore {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}

.l-necessaries__inner {
  padding-block: 30px 50px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-necessaries__inner {
    padding-block: 55px 64px;
    padding-inline: 40px;
    max-width: 1080px;
  }
}

.l-necessaries__content {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .l-necessaries__content {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.l-necessaries__remarks {
  -webkit-margin-before: 18px;
          margin-block-start: 18px;
}
@media screen and (min-width: 768px) {
  .l-necessaries__remarks {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.l-faq__inner {
  padding-block: 30px 50px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-faq__inner {
    padding-block: 59px 64px;
    padding-inline: 40px;
    max-width: 980px;
  }
}

.l-faq__items {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .l-faq__items {
    -webkit-margin-before: 44px;
            margin-block-start: 44px;
  }
}

.l-shop__inner {
  padding-block: 30px 50px;
  padding-inline: 20px;
  max-width: 600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-shop__inner {
    padding-block: 60px 50px;
    padding-inline: 40px;
    max-width: 980px;
  }
}

.l-shop__table {
  -webkit-margin-before: 2px;
          margin-block-start: 2px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-shop__table {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.l-company__inner {
  padding-block: 30px 50px;
  padding-inline: 17px;
  max-width: 600px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-company__inner {
    padding-block: 68px 64px;
    padding-inline: 40px;
    max-width: 980px;
  }
}

.l-company__content {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .l-company__content {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.l-button__inner {
  padding-inline: 20px;
  padding-block: 10px 19px;
  max-width: 540px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-button__inner {
    padding-inline: 40px;
    padding-block: 15px 7px;
    max-width: 1030px;
  }
}

.p-worries {
  background: #ECF4FE;
  position: relative;
  z-index: 0;
}
.p-worries::after {
  content: "";
  width: 130px;
  height: 67px;
  background: url(../img/worries/worries__deco_polygon.webp) no-repeat center center/contain;
  position: absolute;
  bottom: -34px;
  left: 50%;
  translate: -50%;
}
@media screen and (min-width: 768px) {
  .p-worries::after {
    width: 193px;
    height: 99px;
    bottom: -52px;
  }
}

.p-worries__inner {
  overflow: clip;
}

.p-worries__content {
  position: relative;
}

.p-worries__top-image {
  position: absolute;
  width: 71.0447761194%;
  max-width: 310px;
  height: auto;
  aspect-ratio: 238/258.409;
  z-index: -1;
  top: -32px;
  right: -34px;
}
@media screen and (min-width: 768px) {
  .p-worries__top-image {
    width: 295px;
    height: auto;
    aspect-ratio: 302/453;
    right: -14px;
    top: unset;
    bottom: -90px;
  }
}

.p-worries__heading {
  width: 62%;
}
@media screen and (min-width: 768px) {
  .p-worries__heading {
    width: 64%;
    margin-inline: auto;
  }
}
.p-worries__heading img {
  width: 100%;
}

.p-worries__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media screen and (min-width: 768px) {
  .p-worries__list {
    width: 70%;
    gap: 17px;
    -webkit-padding-start: 15px;
            padding-inline-start: 15px;
  }
}

.p-worries__item {
  padding: 16px 20px;
  border-radius: 10px;
  -webkit-box-shadow: 4px 6px 0 #59c0c7;
          box-shadow: 4px 6px 0 #59c0c7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  background: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-worries__item {
    padding: 16px 49px;
  }
}

.p-worries__item-img {
  width: 30px;
  height: auto;
  aspect-ratio: 1/1;
}

.p-worries__item-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .p-worries__item-text {
    font-size: 1.5rem;
  }
}
.p-worries__item-text span {
  display: inline;
  color: #1BACB5;
}

@media screen and (min-width: 768px) {
  .p-worries__item svg:nth-of-type(1) {
    width: 23px;
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    right: -14px;
    top: 50%;
    translate: 0 -40%;
    z-index: 2;
  }
}

@media screen and (min-width: 768px) {
  .p-worries__item svg:nth-of-type(2) {
    width: 23px;
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    right: -23px;
    top: 50%;
    translate: 0 -25%;
    z-index: 1;
  }
}

.p-solutions__top {
  background: url(../img/solutions/solutions_bg_sp.webp) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  .p-solutions__top {
    background: url(../img/solutions/solutions_bg_pc.webp) no-repeat center center/cover;
  }
}

@media screen and (min-width: 768px) {
  .p-solutions__contents {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "img1 texts img2";
  }
}

.p-solutions__texts-wrap {
  width: 89.552238806%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-solutions__texts-wrap {
    width: 357px;
    grid-area: texts;
    -webkit-margin-before: 48px;
            margin-block-start: 48px;
  }
}

.p-solutions__img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-solutions__img-wrap {
    display: contents;
  }
}
.p-solutions__img-wrap img:nth-of-type(1) {
  width: 38.0492537313%;
}
@media screen and (min-width: 768px) {
  .p-solutions__img-wrap img:nth-of-type(1) {
    width: 189px;
    grid-area: img1;
  }
}
.p-solutions__img-wrap img:nth-of-type(2) {
  width: 27.3794029851%;
}
@media screen and (min-width: 768px) {
  .p-solutions__img-wrap img:nth-of-type(2) {
    width: 136px;
    grid-area: img2;
  }
}

.p-solutions__bottom {
  background: #ECF4FE;
}

.p-solutions__lists {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 35px;
  width: 89.552238806%;
  margin-inline: auto;
}
@media (min-width: 900px) {
  .p-solutions__lists {
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 14px;
       -moz-column-gap: 14px;
            column-gap: 14px;
    width: 100%;
  }
}
@media (min-width: 1100px) {
  .p-solutions__lists {
    -webkit-column-gap: 50px;
       -moz-column-gap: 50px;
            column-gap: 50px;
  }
}

.p-solutions__item {
  -webkit-box-shadow: 4px 4px 0px 0px #61C2C9;
          box-shadow: 4px 4px 0px 0px #61C2C9;
  border-radius: 10px;
  background: #FFFFFF;
}

.p-solutions__head {
  padding: 14px 30px 16px 30px;
  display: grid;
  place-content: center;
  min-height: 92px;
  background: #61C2C9;
  border-radius: 10px 10px 0px 0px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-solutions__head {
    padding: 14px 9px 16px 10px;
  }
}
@media (min-width: 1100px) {
  .p-solutions__head {
    padding: 14px 30px 16px 30px;
  }
}

.p-solutions__head-number {
  color: #FFF;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #61C2C9;
  font-family: "Open Sans", sans-serif;
  font-size: 3rem;
  font-weight: 900;
  line-height: 90%;
  position: absolute;
  top: -22.94px;
  left: 12px;
}

.p-solutions__head-title {
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 130%;
  text-align: center;
}
.p-solutions__head-title span {
  color: #FDFF93;
}

.p-solutions__head svg {
  width: 42px;
  height: 28px;
  position: absolute;
  bottom: -16px;
  left: 50%;
  translate: -50%;
}

.p-solutions__body {
  padding: 23px 21px 30px 21px;
}
@media screen and (min-width: 768px) {
  .p-solutions__body {
    padding: 23px 20px 30px 20px;
  }
}
@media (min-width: 1100px) {
  .p-solutions__body {
    padding: 23px 21px 30px 21px;
  }
}

.p-solutions__body-title {
  color: #F95B58;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 150%; /* 30px */
}

.p-solutions__body-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%; /* 25.6px */
}
.p-solutions__body-text span {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #FDFF93));
  background: linear-gradient(transparent 70%, #FDFF93 30%);
}

.p-step__heading {
  width: 57%;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-step__heading {
    width: 34%;
  }
}

.p-step__swiper-container,
.p-step__swiper,
.p-step__swiper-wrapper,
.p-step__swiper-slide {
  position: relative;
}

/* 位置のreset */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

.p-step__swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}

.p-step__swiper-slide {
  text-align: center;
  position: relative;
}
.p-step__swiper-slide::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #61C2C9;
  position: absolute;
  top: 6%;
  left: 50%;
  z-index: -1;
}

.p-step__swiper-slide:last-child::before {
  display: none;
}

.p-step__item-number {
  margin-inline: auto;
  width: 62px;
}

.p-step__item-main {
  -webkit-margin-before: 24px;
          margin-block-start: 24px;
  display: grid;
  position: relative;
}
.p-step__item-main::after {
  content: "";
  width: 2px;
  height: 100%;
  background: url(../img/step/step_deco_line.webp) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: 0;
}

.p-step__swiper-slide:last-child .p-step__item-main::after {
  display: none;
}

.p-step__item-img {
  margin-inline: auto;
  width: 150px;
  height: auto;
  aspect-ratio: 1/1;
}

.p-step__item-title {
  -webkit-margin-before: 16px;
          margin-block-start: 16px;
  display: grid;
  place-content: center;
  min-height: 64px;
  color: #1BACB5;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 130%; /* 31.2px */
}

.p-step__item-text {
  -webkit-margin-before: 8px;
          margin-block-start: 8px;
  text-align: left;
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%;
}
.p-step__item-text span {
  display: inline;
  color: #F95B58;
  font-weight: 700;
}

.p-step__item-remark {
  text-align: left;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
}

/* =============================
   ページネーション (bullets)
============================= */
/* 位置の設定 (枠組み) */
#p-step__swiper-pagination {
  top: calc(100% + 40px);
  translate: -14%;
}
@media (min-width: 600px) {
  #p-step__swiper-pagination {
    top: calc(100% + 30px);
    translate: -7%;
  }
}
#p-step__swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
  width: 10px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #C0C0C0;
  margin-inline: 5px;
}
#p-step__swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #61C2C9;
}

.p-cta {
  background: url(../img/cta/cta_bg_sp.webp) no-repeat center center/cover;
}
@media screen and (min-width: 1024px) {
  .p-cta {
    background: url(../img/cta/cta_bg_pc.webp) no-repeat center center/cover;
  }
}

.p-cta__content {
  max-width: 600px;
  margin-inline: auto;
  padding: 97px 17px 33px 18px;
  background: #FFFFFF;
  border-radius: 20px;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .p-cta__content {
    max-width: 100%;
    padding: 90px 25px 33px 25px;
  }
}

.p-cta__heading {
  width: 300px;
  margin: 0 auto;
  position: absolute;
  top: -67.5px;
  left: 50%;
  translate: -50%;
}
@media screen and (min-width: 768px) {
  .p-cta__heading {
    width: 552px;
    top: -76.5px;
  }
}

.p-cta__text {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .p-cta__text {
    font-size: 1.5rem;
  }
}

.p-cta__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 24px;
}
@media (min-width: 768px) and (max-width: 920px) {
  .p-cta__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
  }
}
@media (min-width: 921px) {
  .p-cta__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 25px;
       -moz-column-gap: 25px;
            column-gap: 25px;
  }
}

.p-cta__item {
  width: 100%;
  min-height: 87px;
}
@media (min-width: 768px) {
  .p-cta__item {
    width: 31.5789473684%;
  }
}

.p-cta__item--tel-pc {
  display: none;
}
@media (min-width: 768px) {
  .p-cta__item--tel-pc {
    display: block;
  }
}

.p-cta__item--tel-sp {
  display: block;
}
@media (min-width: 768px) {
  .p-cta__item--tel-sp {
    display: none;
  }
}

.p-cta__button {
  width: 100%;
  max-width: 300px;
  height: auto;
  aspect-ratio: 300/87;
  -webkit-padding-before: 15px;
          padding-block-start: 15px;
  -webkit-padding-end: 16px;
          padding-inline-end: 16px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border-radius: 4px;
  text-align: center;
  font-weight: 800;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-cta__button {
    aspect-ratio: 300/106.5;
    -webkit-padding-before: 15px;
            padding-block-start: 15px;
  }
}
@media screen and (min-width: 1024px) {
  .p-cta__button {
    -webkit-padding-before: 27px;
            padding-block-start: 27px;
  }
}
.p-cta__button:hover {
  aspect-ratio: 300/80;
  translate: 0 7px;
}
@media screen and (min-width: 768px) {
  .p-cta__button:hover {
    aspect-ratio: 300/99.5;
  }
}

.p-cta__button--line {
  background: url(../img/cta/cta_bg_button_green.png) no-repeat center center/cover;
  color: #FDFF93;
  text-shadow: 0px 0px 4px #06C655;
  font-size: 1.75rem;
}
.p-cta__button--line:hover {
  background: url(../img/cta/cta_bg_button_green-hover.png) no-repeat center center/cover;
}
@media (min-width: 768px) and (max-width: 920px) {
  .p-cta__button--line {
    font-size: 1.375rem;
  }
}
@media (min-width: 921px) and (max-width: 1100px) {
  .p-cta__button--line {
    font-size: 1.5rem;
  }
}
@media (min-width: 1101px) {
  .p-cta__button--line {
    font-size: 1.75rem;
  }
}

.p-cta__button--form {
  background: url(../img/cta/cta_bg_button_red.png) no-repeat center center/cover;
  color: #fcfcfc;
  text-shadow: 0px 0px 4px #F95B58;
  font-size: 1.625rem;
  font-weight: 900;
  letter-spacing: 0.7px;
}
.p-cta__button--form:hover {
  background: url(../img/cta/cta_bg_button_red-hover.png) no-repeat center center/cover;
}
@media (min-width: 768px) and (max-width: 920px) {
  .p-cta__button--form {
    font-size: 1.1875rem;
  }
}
@media (min-width: 921px) and (max-width: 1100px) {
  .p-cta__button--form {
    font-size: 1.5rem;
  }
}
@media (min-width: 1101px) {
  .p-cta__button--form {
    font-size: 1.625rem;
  }
}

.p-cta__button--tel {
  -webkit-padding-before: 21px;
          padding-block-start: 21px;
  background: url(../img/cta/cta_bg_button_orange.png) no-repeat center center/cover;
  color: #fcfcfc;
  text-shadow: 0px 0px 4px #FFAE00;
  font-family: "Open Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
}
.p-cta__button--tel:hover {
  background: url(../img/cta/cta_bg_button_orange-hover.png) no-repeat center center/cover;
}
@media (min-width: 768px) and (max-width: 920px) {
  .p-cta__button--tel {
    font-size: 1.5rem;
  }
}
@media (min-width: 921px) and (max-width: 1100px) {
  .p-cta__button--tel {
    font-size: 2rem;
  }
}
@media (min-width: 1101px) {
  .p-cta__button--tel {
    font-size: 2.25rem;
    -webkit-padding-before: 22px;
            padding-block-start: 22px;
  }
}

/* 補足テキスト */
.p-cta__button::after {
  content: "24時間365日OK！";
  white-space: nowrap;
  position: absolute;
  bottom: calc(50% - 30px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #fcfcfc;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 130%; /* 23.4px */
  letter-spacing: 0.64px;
}
@media screen and (min-width: 768px) {
  .p-cta__button::after {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-cta__button::after {
    bottom: 23px;
    font-size: 1.125rem;
  }
}

.p-cta__button--tel::after {
  content: "9:00〜18:00（日曜休）";
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  letter-spacing: 0.64px;
}

/* 三角アイコン */
.p-cta__button::before {
  content: "";
  width: 19px;
  height: 19px;
  background: url(../img/cta/cta_deco_polygon.svg) no-repeat center center/contain;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 768px) and (max-width: 920px) {
  .p-cta__button::before {
    width: 14px;
    height: 14px;
    right: 4px;
  }
}
@media (min-width: 921px) {
  .p-cta__button::before {
    right: 8px;
  }
}

.p-performance {
  background: #ECF4FE;
}

.p-performance__heading {
  width: 91%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-performance__heading {
    width: 51%;
  }
}

.p-performance__swiper-wrapper {
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}

.p-performance__swiper-slide {
  height: auto;
  border-radius: 20px;
  border: 0px solid #61C2C9;
  background: #FFFFFF;
  -webkit-box-shadow: 4px 4px 0px 0px #61C2C9;
          box-shadow: 4px 4px 0px 0px #61C2C9;
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.p-performance__img-wrap {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  width: 100%;
  aspect-ratio: 300/195;
}
@media (min-width: 1080px) {
  .p-performance__img-wrap {
    aspect-ratio: 420/238;
  }
}
.p-performance__img-wrap img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-performance__title {
  padding: 11px 35px 11px 36px;
  background: #61C2C9;
  position: relative;
}

.p-performance__title p {
  text-align: center;
  color: #fcfcfc;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 130%; /* 31.2px */
}

.p-performance__title svg {
  width: 45px;
  height: 22px;
  position: absolute;
  left: 50%;
  translate: -50%;
  top: calc(100% - 8px);
}

.p-performance__price {
  text-align: center;
  display: grid;
  place-content: center;
  min-height: 85px;
}
@media (min-width: 1080px) {
  .p-performance__price {
    min-height: 80px;
  }
}

.p-performance__price p {
  color: #F95B58;
  font-family: "Open Sans", sans-serif;
  font-size: 3rem;
  font-weight: 700;
}
.p-performance__price p span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
}

.p-performance__price--wine p:nth-child(1),
.p-performance__price--dishes p:nth-child(1),
.p-performance__price--accessories p:nth-child(1) {
  font-size: 2.25rem !important;
}
@media (min-width: 1080px) {
  .p-performance__price--wine p:nth-child(1),
  .p-performance__price--dishes p:nth-child(1),
  .p-performance__price--accessories p:nth-child(1) {
    font-size: 2rem !important;
  }
  .p-performance__price--wine p:nth-child(1) span,
  .p-performance__price--dishes p:nth-child(1) span,
  .p-performance__price--accessories p:nth-child(1) span {
    font-size: 1rem !important;
  }
}

p.p-performance__price-remark {
  font-size: 0.875rem;
  line-height: 1.4;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (min-width: 1080px) {
  p.p-performance__price-remark {
    font-size: 1rem;
  }
}

.p-performance__swiper-container,
.p-performance__swiper,
.p-performance__swiper-wrapper,
.p-performance__swiper-slide {
  position: relative;
}

/* 位置のreset */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

/* =============================
   ナビゲーションボタン
============================= */
/* デフォルトのボタンを初期化 */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: ""; /* デフォルトのものを初期化 */
}

/* 各ボタンのカスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  top: 50%;
  translate: 0 -40%;
  width: 45px;
  height: 45px;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    top: 115%;
    width: 70px;
    height: 70px;
  }
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
}

.swiper-button-prev {
  left: 5%;
}
@media (min-width: 600px) and (max-width: 767px) {
  .swiper-button-prev {
    left: 22%;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .swiper-button-prev {
    left: 30%;
  }
}
@media (min-width: 1200px) {
  .swiper-button-prev {
    left: 36%;
  }
}

.swiper-button-next {
  right: 5%;
}
@media (min-width: 600px) and (max-width: 767px) {
  .swiper-button-next {
    right: 22%;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .swiper-button-next {
    right: 30%;
  }
}
@media (min-width: 1200px) {
  .swiper-button-next {
    right: 36%;
  }
}

/* =============================
   ページネーション (bullets)
============================= */
/* 位置の設定 (枠組み) */
#p-performance__swiper-pagination {
  top: calc(100% + 17px);
  left: 50%;
  translate: -50%;
}
@media screen and (min-width: 768px) {
  #p-performance__swiper-pagination {
    top: calc(100% + 50px);
  }
}
#p-performance__swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
  width: 10px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #C0C0C0;
  margin-inline: 5px;
}
@media screen and (min-width: 768px) {
  #p-performance__swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 12px;
  }
}
#p-performance__swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #61C2C9;
}

.p-announce {
  text-align: center;
}

.p-announce__heading {
  color: #F95B58;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 130%; /* 36.4px */
}
@media screen and (min-width: 768px) {
  .p-announce__heading {
    font-size: 2rem;
  }
}

.p-announce__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 170%;
}
@media screen and (min-width: 768px) {
  .p-announce__text {
    font-size: 1.25rem;
  }
}
.p-announce__text span {
  display: inline;
  color: #61C2C9;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-announce__text span {
    font-size: 1.5rem;
  }
}

.p-announce__remark {
  font-size: 0.875rem;
  line-height: 160%; /* 22.4px */
}

.p-review {
  background: #ECF4FE;
}

.p-review__heading {
  width: 74%;
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-review__heading {
    width: 35.9%;
  }
}

.p-review__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 23px;
}
@media screen and (min-width: 1024px) {
  .p-review__content {
    gap: 36px 10px;
  }
}

.p-review__item {
  padding: 32px 30px;
  background: #FFFFFF;
  -webkit-box-shadow: 4px 4px 0px 0px #61C2C9;
          box-shadow: 4px 4px 0px 0px #61C2C9;
  border-radius: 10px;
  width: 96.7164179104%;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .p-review__item {
    width: calc(50% - 11.5px);
  }
}
@media screen and (min-width: 1024px) {
  .p-review__item {
    width: calc(33.3333333333% - 6.6666666667px);
    gap: 22px;
  }
}

.p-review__item.is-hidden {
  display: none;
}

.p-review__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
}

.p-review__top-img {
  width: 30.303030303%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-review__top-img img {
  width: 100%;
  height: auto;
}

.p-review__top-texts {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-review__top-info {
  display: inline-block;
  padding: 4px 12px;
  background: #61C2C9;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 14px; /* 116.667% */
  letter-spacing: 0.96px;
}

.p-review__top-title {
  -webkit-margin-before: 8px;
          margin-block-start: 8px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 150%; /* 27px */
}

.p-review__description {
  font-size: 1rem;
  font-weight: 500;
  line-height: 160%; /* 25.6px */
}
@media screen and (min-width: 768px) {
  .p-review__description {
    min-height: 182px;
  }
}
.p-review__description span {
  display: inline;
  color: #F95B58;
  font-weight: 700;
}

.p-review__button-viewmore {
  width: 160px;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-review__button-viewmore {
    display: none;
  }
}
.p-review__button-viewmore img {
  width: 50px;
}

.p-review__button-viewmore .is-button-hidden {
  display: none;
}

.p-review__button-text {
  color: #61C2C9;
  font-size: 1.25rem;
  font-weight: 700;
}

.p-necessaries__heading {
  width: 82%;
  text-align: center;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-necessaries__heading {
    width: 64%;
  }
}

.p-necessaries__content {
  padding: 30px 22.5px;
  border-radius: 20px;
  background: #F1F1F1;
}
@media screen and (min-width: 768px) {
  .p-necessaries__content {
    padding: 50px 68px;
  }
}

.p-necessaries__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
}
@media screen and (min-width: 1024px) {
  .p-necessaries__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 5.2083333333%;
       -moz-column-gap: 5.2083333333%;
            column-gap: 5.2083333333%;
  }
}

.p-necessaries__top img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-necessaries__top img {
    width: 46.9907407407%;
  }
}

.p-necessaries__items {
  padding: 23px 10px;
  background: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 4px 4px 0px 0px #61C2C9;
          box-shadow: 4px 4px 0px 0px #61C2C9;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 8px;
  -webkit-column-gap: 31px;
     -moz-column-gap: 31px;
          column-gap: 31px;
}
@media screen and (min-width: 1024px) {
  .p-necessaries__items {
    padding: 52px 24px 48px 24px;
    row-gap: 12px;
    -webkit-column-gap: 48px;
       -moz-column-gap: 48px;
            column-gap: 48px;
    width: 46.9907407407%;
  }
}

.p-necessaries__items li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
@media screen and (min-width: 768px) {
  .p-necessaries__items li {
    gap: 8px;
  }
}
.p-necessaries__items li img {
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .p-necessaries__items li img {
    width: 20px;
  }
}
.p-necessaries__items li p {
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .p-necessaries__items li p {
    font-size: 1.125rem;
  }
}

.p-necessaries__remarks {
  font-size: 0.75rem;
  line-height: 150%; /* 18px
*/
}
@media screen and (min-width: 1024px) {
  .p-necessaries__remarks {
    padding-inline: 32px;
    font-size: 0.875rem;
  }
}

.p-necessaries__remarks ul li {
  -webkit-padding-start: 18px;
          padding-inline-start: 18px;
  position: relative;
}
.p-necessaries__remarks ul li::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #2D3F49;
  border-radius: 50%;
  position: absolute;
  top: 0.8em;
  left: 7px;
}
@media screen and (min-width: 768px) {
  .p-necessaries__remarks ul li::before {
    top: 26%;
  }
}

.p-faq {
  background: #ECF4FE;
}

.p-faq__heading {
  width: 54%;
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-faq__heading {
    width: 29%;
  }
}

.p-faq__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .p-faq__items {
    gap: 22px;
  }
}

.p-faq__item {
  border-radius: 10px;
  -webkit-box-shadow: 4px 4px 0px 0px #61C2C9;
          box-shadow: 4px 4px 0px 0px #61C2C9;
}

summary {
  display: block;
}
summary::-webkit-details-marker {
  display: none;
}

.p-faq__question {
  padding: 16px;
  width: 100%;
  background: #FFFFFF;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__question {
    padding: 16px 48px 16px 24px;
  }
}
.p-faq__question::before, .p-faq__question::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: #000;
}
.p-faq__question::before {
  right: 17px;
  width: 18px;
  height: 2px;
}
@media screen and (min-width: 768px) {
  .p-faq__question::before {
    right: 43px;
  }
}
.p-faq__question::after {
  right: 25px;
  width: 2px;
  height: 18px;
  -webkit-transition: rotate 0.3s ease;
  transition: rotate 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-faq__question::after {
    right: 51px;
  }
}
@media (any-hover: hover) {
  .p-faq__question:hover {
    cursor: pointer;
  }
}

details[open] .p-faq__question::after {
  rotate: 90deg;
}

.p-faq__question-text {
  -webkit-padding-start: 45px;
          padding-inline-start: 45px;
  -webkit-padding-end: 27px;
          padding-inline-end: 27px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%; /* 25.6px */
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__question-text {
    -webkit-padding-start: 60px;
            padding-inline-start: 60px;
    -webkit-padding-end: 40px;
            padding-inline-end: 40px;
    font-size: 1.25rem;
    line-height: normal;
  }
}
.p-faq__question-text::before {
  content: "";
  width: 36px;
  height: 36px;
  background: url(../img/faq/faq_icon_q.webp) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
}

.p-faq__answer {
  padding: 16px;
  background: #DCF6F7;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-faq__answer {
    padding: 19px 48px 16px 24px;
  }
}

.p-faq__answer-text {
  -webkit-padding-start: 45px;
          padding-inline-start: 45px;
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__answer-text {
    -webkit-padding-start: 60px;
            padding-inline-start: 60px;
    font-size: 1.125rem;
  }
}
.p-faq__answer-text::before {
  content: "";
  width: 36px;
  height: 36px;
  background: url(../img/faq/faq_icon_a.webp) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
}

.p-shop__heading {
  width: 55%;
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-shop__heading {
    width: 32%;
  }
}

.p-shop__table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-shop__table {
    max-width: 554px;
  }
}

.p-shop__table-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-block: 16px;
  position: relative;
}
.p-shop__table-row::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #61C2C9;
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-shop__table-header {
  width: 78px;
  color: #1BACB5;
  font-size: 1rem;
  font-weight: 700;
  line-height: 130%; /* 20.8px */
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-shop__table-header {
    width: 140px;
    font-size: 1.125rem;
  }
}

.p-shop__table-data {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1rem;
  font-weight: 500;
  line-height: 130%; /* 20.8px */
}
@media screen and (min-width: 768px) {
  .p-shop__table-data {
    font-size: 1.125rem;
  }
}

.p-company {
  background: #ECF4FE;
}

.p-company__heading {
  width: 99%;
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-company__heading {
    width: 57%;
  }
}

.p-company__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-company__content {
    row-gap: 32px;
  }
}

.p-company__info {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 130%; /* 18.2px */
}
@media screen and (min-width: 768px) {
  .p-company__info {
    font-size: 1.25rem;
  }
}

.p-company__licence {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 160%; /* 22.4px */
}
@media screen and (min-width: 768px) {
  .p-company__licence {
    font-size: 1.125rem;
  }
}

.p-button {
  width: 100%;
  background: #FFFFFF;
}
.p-button.is-show {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}

.p-button__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 7px;
     -moz-column-gap: 7px;
          column-gap: 7px;
}
@media screen and (min-width: 768px) {
  .p-button__box {
    -webkit-column-gap: 25px;
       -moz-column-gap: 25px;
            column-gap: 25px;
  }
}

.p-button__box--pc {
  display: none;
}
@media (min-width: 768px) {
  .p-button__box--pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-button__box--sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .p-button__box--sp {
    display: none;
  }
}

.p-button__box--sp .p-cta__button {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 107/67;
  -webkit-padding-before: 30px;
          padding-block-start: 30px;
  -webkit-padding-end: unset;
          padding-inline-end: unset;
  white-space: nowrap;
}
.p-button__box--sp .p-cta__button:hover {
  aspect-ratio: 107/60;
  translate: 0 7px;
}
@media (min-width: 421px) and (max-width: 767px) {
  .p-button__box--sp .p-cta__button {
    -webkit-padding-before: 45px;
            padding-block-start: 45px;
  }
}

.p-button__box--sp .p-cta__button--line {
  background: url(../img/cta/cta_button_bg_line_sp.png) no-repeat center center/cover;
  color: #FDFF93;
  text-shadow: 0px 0px 3.083px #06C655;
  font-size: 0.9635625rem;
  font-weight: 900;
  line-height: 120%;
}
@media (min-width: 421px) and (max-width: 767px) {
  .p-button__box--sp .p-cta__button--line {
    font-size: 1.125rem;
  }
}
.p-button__box--sp .p-cta__button--line:hover {
  background: url(../img/cta/cta_button_bg_line_sp-hover.png) no-repeat center center/cover;
}
.p-button__box--sp .p-cta__button--line::after {
  width: 21px;
  height: 21px;
  background: url(../img/cta/cta_icon_smartphone.svg) no-repeat center center/contain;
}

.p-button__box--sp .p-cta__button--form {
  background: url(../img/cta/cta_button_bg_form_sp.png) no-repeat center center/cover;
  color: #fcfcfc;
  text-shadow: 0px 0px 3.083px #F95B58;
  font-size: 0.9635625rem;
  font-weight: 900;
  line-height: 120%;
  letter-spacing: -0.771px;
}
@media (min-width: 421px) and (max-width: 767px) {
  .p-button__box--sp .p-cta__button--form {
    font-size: 1.125rem;
  }
}
.p-button__box--sp .p-cta__button--form:hover {
  background: url(../img/cta/cta_button_bg_form_sp-hover.png) no-repeat center center/cover;
}
.p-button__box--sp .p-cta__button--form::after {
  background: url(../img/cta/cta_icon_form.svg) no-repeat center center/contain;
}

.p-button__box--sp .p-cta__button--tel {
  background: url(../img/cta/cta_button_bg_tel_sp.png) no-repeat center center/cover;
  color: #fcfcfc;
  text-shadow: 0px 0px 3.083px #FFAE00;
  font-size: 0.9635625rem;
  font-weight: 900;
  line-height: 120%;
}
@media (min-width: 421px) and (max-width: 767px) {
  .p-button__box--sp .p-cta__button--tel {
    font-size: 1.125rem;
  }
}
.p-button__box--sp .p-cta__button--tel:hover {
  background: url(../img/cta/cta_button_bg_tel_sp-hover.png) no-repeat center center/cover;
}
.p-button__box--sp .p-cta__button--tel::after {
  background: url(../img/cta/cta_icon_tel.svg) no-repeat center center/contain;
}

.p-button__box--sp .p-cta__button::after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  top: 5px;
  left: 50%;
}
@media (min-width: 421px) and (max-width: 767px) {
  .p-button__box--sp .p-cta__button::after {
    width: 30px;
    height: 30px;
  }
}

.p-button__box--sp .p-cta__button::before {
  display: none;
}

.p-button__item {
  width: 100%;
}

.u-hidden-pc {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none !important;
  }
}

.u-hidden-sp {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block !important;
  }
}

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

.u-pointer__none {
  pointer-events: none !important;
}
@media screen and (min-width: 768px) {
  .u-pointer__none--md {
    pointer-events: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .u-pointer__none--lg {
    pointer-events: none !important;
  }
}
