@charset "UTF-8";
*,
*::before,
*::after {
  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;
}

@media screen and (max-width: 1159px) and (min-width: 751px) {
  html {
    font-size: calc(16 / 1160 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  html {
    font-size: calc(16 / 375 * 100vw);
  }
}

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

a {
  text-decoration: none;
  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;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-main {
  min-height: 100vh;
  overflow: hidden;
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: 1160px;
  height: inherit;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .l-inner {
    width: 100%;
    max-width: 630px;
    padding: 0 0.9375rem;
  }
}

.l-inner__narrow {
  max-width: 55rem;
}
@media screen and (max-width: 750px) {
  .l-inner__narrow {
    padding: 0 0.9375rem;
    max-width: 600px;
  }
}

.l-section {
  padding: 3.75rem 0 5rem;
}
@media screen and (max-width: 767px) {
  .l-section {
    padding: 2.5rem 0 3.125rem;
  }
}

.c-animated__fadeIn {
  translate: 0 20px;
  opacity: 0;
}
.c-animated__fadeIn.js-show {
  translate: 0;
  opacity: 1;
}

@keyframes btn {
  0% {
    scale: 1;
  }
  50% {
    scale: 0.9;
  }
  100% {
    scale: 1;
  }
}
.c-column2 {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .c-column2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
  }
}

.c-column2--gap60 {
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .c-column2--gap60 {
    gap: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .c-column2--gapSp20 {
    gap: 1.25rem;
  }
}

.c-column3 {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .c-column3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-column4 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .c-column4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .c-column4--sp2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-headline1__main {
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 750px) {
  .c-headline1__main {
    font-size: 1.5rem;
  }
}

.c-headline1__sub {
  margin-top: 1.25rem;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .c-headline1__sub {
    margin-top: 0.625rem;
  }
}

.c-hoverRun {
  text-decoration: none;
  color: black;
  background-image: linear-gradient(90deg, black, black);
  background-repeat: no-repeat;
  display: inline;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.5s;
}

@media screen and (min-width: 768px) {
  .c-hoverRun:hover {
    background-size: 100% 1px;
  }
}
.c-hoverUnderline {
  position: relative;
  display: inline-block;
}

.c-hoverUnderline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: black;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

@media screen and (min-width: 768px) {
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
}
.c-imgHover {
  position: relative;
}

.c-imgHover img {
  width: 100%;
  transition: 0.5s opacity;
}

.c-imgHover img:nth-of-type(2) {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: 0.5s opacity;
}

@media screen and (min-width: 768px) {
  .c-imgHover:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .c-imgHover:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
}
.c-link {
  position: relative;
  line-height: 1;
}

.c-link::after {
  position: absolute;
  content: "";
  width: 1em;
  height: 1em;
  right: -1em;
  top: 0.3em;
  background: url(画像のバスを入れる) center center/contain no-repeat;
}

.c-underBar {
  position: relative;
  display: inline-block;
}
.c-underBar::before {
  background-color: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.5s;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-underBar:hover:before {
    opacity: 0;
    transition: 0.5s all;
  }
}
.c-btn-line {
  display: block;
  position: relative;
  width: 21.5625rem;
  height: 5rem;
  text-decoration: none;
}
.c-btn-line img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 751px) {
  .c-btn-line {
    width: 34rem;
    height: auto;
    margin-inline: auto;
  }
}

.c-btn-line__badge {
  position: absolute;
  top: 0;
  left: 0.4375rem;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  line-height: 1.2;
  color: #219f41;
  text-align: center;
}

.c-btn-line__inner {
  position: absolute;
  inset: 0.9375rem 0 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0.25rem;
  border-radius: 2rem;
  background: linear-gradient(180deg, #6be066 0%, #49be45 42.4%, #17973f 100%);
  box-shadow: 0 0.125rem 0.625rem rgba(62, 62, 62, 0.2);
  padding-block: 0.5rem;
}

.c-btn-line__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  color: #621938;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.c-btn-line__label strong {
  color: #621938;
  font-weight: 700;
}

.c-btn-line__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.c-btn-fix {
  position: fixed;
  bottom: 0.625rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0.625rem;
}

.c-accordion {
  list-style: none;
}

.c-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  width: 100%;
  cursor: pointer;
  list-style: none;
}
.c-accordion__trigger::-webkit-details-marker {
  display: none;
}

.c-accordion__icon {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid #C25572;
  border-radius: 100vmax;
}
@media (min-width: 751px) {
  .c-accordion__icon {
    width: 2rem;
    height: 2rem;
  }
}
.c-accordion__icon::before, .c-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0.375rem;
  height: 0.0625rem;
  background: #C25572;
  translate: -50% -50%;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media (min-width: 751px) {
  .c-accordion__icon::before, .c-accordion__icon::after {
    width: 0.6875rem;
  }
}
.c-accordion__icon::after {
  transform: rotate(90deg);
}

.c-accordion.is-open .c-accordion__icon::after {
  transform: rotate(0deg);
  opacity: 0;
}

.c-accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.c-accordion.is-open .c-accordion__body {
  grid-template-rows: 1fr;
}

.c-accordion__inner {
  overflow: hidden;
  padding-inline-end: 1.4375rem;
}

.c-arrow-dashed {
  width: 1px;
  height: 1.5rem;
  border: 1px dashed #621938;
}

.c-title-line {
  position: relative;
}
.c-title-line.--color-dark::after {
  background: #621938;
}
.c-title-line.--color-dark::before {
  background: #621938;
}
.c-title-line::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 50%;
  translate: -50%;
  top: 100%;
  background: #C25572;
}
.c-title-line::before {
  position: absolute;
  content: "";
  width: 13.5px;
  height: 1px;
  left: calc(50% - 40px);
  translate: -50%;
  bottom: -7.7px;
  background: #C25572;
  rotate: -65deg;
  transform-origin: center center;
}

.p-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1875rem;
  padding-inline: 0.9375rem;
  padding-block: 0.75rem;
  background: #C25572;
}

.p-footer__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-footer__text a {
  color: #fff;
}
@media (hover: hover) {
  .p-footer__text a:hover {
    text-decoration: none;
  }
}

.p-fv {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.p-fv__img {
  width: 100%;
}
.p-fv__img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-fv__btn-wrap {
  position: absolute;
  bottom: 0.625rem;
  left: 50%;
  translate: -50%;
  width: 21.5625rem;
  height: auto;
  animation: 1.5s ease-in-out forwards infinite btn;
}
@media (min-width: 751px) {
  .p-fv__btn-wrap {
    width: 34rem;
    bottom: 1.875rem;
  }
}

.p-fv__btn {
  display: block;
  width: 21.5625rem;
  max-width: 100%;
  transition: opacity 0.3s ease;
}
.p-fv__btn img {
  width: 100%;
  height: auto;
  display: block;
}
@media (any-hover: hover) {
  .p-fv__btn:hover {
    opacity: 0.8;
  }
}
@media (min-width: 751px) {
  .p-fv__btn {
    width: 34rem;
  }
}

.p-worries {
  position: relative;
  overflow: hidden;
  background: #2a1a20;
  min-height: 50.8125rem;
}
@media screen and (max-width: 750px) {
  .p-worries {
    height: 814px;
  }
}
@media (min-width: 751px) {
  .p-worries {
    min-height: 43.75rem;
  }
}

.p-worries__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-worries__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-worries__person {
  position: absolute;
  top: 125px;
  left: calc(50% + 12px);
  translate: -50%;
  width: 530px;
  height: auto;
  aspect-ratio: 575/413;
}
.p-worries__person img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-worries__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 1.25rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-worries__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 3.75rem 5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-worries__title-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-block-end: 1.875rem;
  text-align: center;
  align-items: center;
  justify-content: center;
}
@media (min-width: 751px) {
  .p-worries__title-wrap {
    width: 100%;
    margin-block-end: 3.625rem;
  }
}

.p-worries__title-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-worries__title-pre {
    font-size: 2.5rem;
  }
}

.p-worries__title-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 3rem;
  line-height: 1;
  background: linear-gradient(180deg, #c1ba88, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  position: relative;
}
.p-worries__title-main::before {
  content: "お悩み";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  color: #000;
  /* 影のベース色 */
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}
@media (min-width: 751px) {
  .p-worries__title-main {
    font-size: 3.4375rem;
    text-align: center;
    background: linear-gradient(180deg, #C1BA88 0%, #FFF 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 1.1px;
  }
}

.p-worries__title-post {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-worries__title-post {
    font-size: 2.5rem;
  }
}

.p-worries__bubbles {
  position: relative;
  margin-block-end: 1.25rem;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media (min-width: 751px) {
  .p-worries__bubbles {
    flex-direction: row;
    flex-wrap: wrap;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 1.25rem;
    margin-block-end: 1.5rem;
    max-width: 38.75rem;
  }
}

.p-worries__bubble {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding-block: 0.625rem;
  text-align: center;
}
.p-worries__bubble p {
  position: relative;
  z-index: 3;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.036em;
}
.p-worries__bubble p::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
  width: 250%;
  height: auto;
  aspect-ratio: 232/75;
  background: url(../img/worries-bubble.svg) center center/contain no-repeat;
}
@media (min-width: 751px) {
  .p-worries__bubble p::before {
    background-image: url("../img/worries-bubble-pc.svg");
    width: 250%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.p-worries__bubble span {
  color: #f5eeba;
  font-size: 1.125rem;
}

.p-worries__bubble--01 {
  margin-inline-start: auto;
  width: 10.625rem;
}
@media (min-width: 751px) {
  .p-worries__bubble--01 {
    margin-inline-start: 0;
    width: 17.5rem;
    order: 2;
  }
}

.p-worries__bubble--02 {
  width: 14.5rem;
}
@media (min-width: 751px) {
  .p-worries__bubble--02 {
    width: 18.75rem;
    order: 1;
  }
}

.p-worries__bubble--03 {
  margin-inline-start: auto;
  width: 15.1875rem;
}
@media (min-width: 751px) {
  .p-worries__bubble--03 {
    margin-inline-start: 0;
    width: 16.5625rem;
    order: 4;
  }
}

.p-worries__bubble--04 {
  width: 11.6875rem;
}
@media (min-width: 751px) {
  .p-worries__bubble--04 {
    width: 13.75rem;
    order: 3;
  }
}

.p-worries__card {
  position: relative;
  background: #dbdbdb;
  padding: 0.9375rem 0.625rem 0.5rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.25);
  margin-block-start: 3.9375rem;
}
@media (min-width: 751px) {
  .p-worries__card {
    margin-block-start: 2.75rem;
    max-width: 26.25rem;
    width: 100%;
    margin-left: 38px;
  }
}

.p-worries__card-head {
  position: absolute;
  top: -1.875rem;
  left: 50%;
  translate: -50% 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.25rem;
  padding-inline: 1.5rem 0.875rem;
  padding-block: 0.25rem 0.3125rem;
  background: #333;
  border-radius: 0.3125rem 0 0.3125rem 0;
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
}

.p-worries__list {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  list-style: none;
}

.p-worries__list-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  padding-block: 0.25rem;
  border-block-end: 1px dashed #333;
}
.p-worries__list-item:last-child {
  border-block-end: none;
}
.p-worries__list-item p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #333;
  line-height: 1.5;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-worries__check {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  border: 2px solid #333;
  position: relative;
}
.p-worries__check::after {
  content: "";
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 0.5rem;
  height: 0.3125rem;
  border-left: 2px solid #333;
  border-block-end: 2px solid #333;
  transform: rotate(-45deg);
}

.p-worries__em {
  color: #C25572;
}

.p-worries__bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.8125rem;
  background: #333;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-worries__bottom {
    height: 4.75rem;
    font-size: 2rem;
  }
}

.p-worries__arrow {
  width: 2.6875rem;
  height: 0.875rem;
  margin-inline-start: 230px;
  margin-block-end: 1.25rem;
}
.p-worries__arrow svg {
  width: 100%;
  height: 100%;
}

.p-start {
  position: relative;
  background: #fff0f3;
  isolation: isolate;
}
.p-start::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 50%;
  translate: -50%;
  top: 0;
  background: url(../img/start-bg.webp) center center/cover no-repeat, #fff0f3;
  background-blend-mode: lighten;
  z-index: 0;
}
@media (min-width: 751px) {
  .p-start::before {
    background: url(../img/start-bg-pc.jpg) center center/cover no-repeat, #fff0f3;
  }
}

.p-start__light {
  position: absolute;
  bottom: 4.8125rem;
  left: calc(50% - 268px);
  width: 2.6875rem;
  height: 2.875rem;
  mix-blend-mode: screen;
  z-index: 2;
  display: none;
}
@media screen and (max-width: 750px) {
  .p-start__light {
    bottom: 327px;
    left: calc(50% + 86px);
  }
}
.p-start__light img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-start__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 1.375rem 16.0625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (min-width: 751px) {
  .p-start__inner {
    -moz-column-gap: 3.75rem;
         column-gap: 3.75rem;
    padding-block: 1.25rem 3.75rem;
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
  }
}

.p-start__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
}
@media (min-width: 751px) {
  .p-start__heading {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: baseline;
  }
}

.p-start__heading-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.875rem;
  padding-inline: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-start__heading-label {
    grid-column: 1/-1;
    justify-self: center;
  }
}
.p-start__heading-label::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 4px;
  left: 50%;
  translate: -50%;
  background: url("../img/start-head.svg") center/cover no-repeat;
  z-index: -1;
}

.p-start__heading-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
}
@media (min-width: 751px) {
  .p-start__heading-main {
    grid-column: 1;
    align-items: baseline;
  }
}

.p-start__heading-em {
  color: #C25572;
  font-size: 2.125rem;
}
@media (min-width: 751px) {
  .p-start__heading-em {
    font-size: 2.5rem;
  }
}

.p-start__heading-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-start__heading-sub {
    font-size: 1.875rem;
    grid-column: 2;
  }
}

.p-start__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  background: #C25572;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  margin-top: 1.25rem;
}
@media (min-width: 751px) {
  .p-start__circle {
    width: 5rem;
    height: 5rem;
    margin-inline: auto;
  }
}

.p-start__flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
  width: 100%;
  margin-top: 1.375rem;
}
@media (min-width: 751px) {
  .p-start__flow {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 0.4375rem;
         column-gap: 0.4375rem;
    flex-wrap: wrap;
    max-width: 32.1875rem;
    margin-right: auto;
  }
}

.p-start__flow-box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1rem;
  height: 2rem;
  background: #621938;
  border-radius: 0.3125rem 0 0.3125rem 0;
}
.p-start__flow-box p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .p-start__flow-box p {
    font-size: 1.125rem;
    padding-bottom: 0.125rem;
  }
}

.p-start__flow-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-start__flow-text {
    font-size: 1.125rem;
  }
}

.p-start__flow-arrow {
  width: 0;
  height: 1.5rem;
  border-left: 0.0625rem solid #C25572;
}

.p-start__result {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: 0.5625rem;
  margin-top: 1.375rem;
  position: relative;
}
@media (min-width: 751px) {
  .p-start__result {
    grid-column: 1;
    grid-row: 4;
    margin-right: auto;
  }
}

.p-start__result-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.375rem;
  height: 2.5rem;
  background: linear-gradient(90deg, #C25572, #db99ab);
  border-radius: 0.3125rem 0 0.3125rem 0;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  white-space: nowrap;
  position: relative;
}

.p-start__result-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-start__result-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-start__content {
  display: contents;
}
@media (min-width: 751px) {
  .p-start__content {
    display: contents;
  }
}

.p-start__img {
  position: absolute;
  bottom: -15px;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: auto;
  aspect-ratio: 375/271;
}
.p-start__img img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 751px) {
  .p-start__img {
    bottom: -21px;
    left: calc(50% + 210px);
    aspect-ratio: 435/313;
    width: 27.1875rem;
  }
}

.p-why {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.p-why__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-why__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-why__bg-glass {
  position: absolute;
  top: 10px;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: auto;
  aspect-ratio: 1466/353;
  z-index: 1;
}
.p-why__bg-glass img {
  width: 100%;
}

.p-why__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 4.625rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-why__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 5rem;
  }
}

.p-why__title-wrap {
  text-align: center;
}

.p-why__title-pre {
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}
.p-why__title-pre::before, .p-why__title-pre::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.96875rem;
  height: 1.78125rem;
  background: url("../img/deco-slash.svg") no-repeat center/contain;
}
.p-why__title-pre::after {
  transform: scaleX(-1);
}
@media (min-width: 751px) {
  .p-why__title-pre {
    width: 100%;
    justify-content: center;
  }
}

.p-why__title-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
  color: #621938;
  font-size: 1.625rem;
  line-height: 140%;
  letter-spacing: 0.052em;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.p-why__title-main span {
  font-size: 2.125rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}
.p-why__title-main span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
}
@media (min-width: 751px) {
  .p-why__title-main {
    display: inline-flex;
    vertical-align: bottom;
  }
}

.p-why__title-post {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-why__title-post {
    display: inline;
    vertical-align: bottom;
  }
}

.p-why__arrow {
  margin-inline: auto;
  margin-block: 0.625rem;
}
@media (min-width: 751px) {
  .p-why__arrow {
    margin-block: 1.25rem;
  }
}

.p-why__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
  margin-block-end: 0.625rem;
}
@media (min-width: 751px) {
  .p-why__lead {
    font-size: 1rem;
  }
}

.p-why__lead-em {
  color: #C25572;
}

.p-why__cards {
  display: flex;
  flex-direction: column;
  row-gap: 3.125rem;
  margin-block-start: 2.5rem;
  list-style: none;
}
@media (min-width: 751px) {
  .p-why__cards {
    flex-direction: row;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 0;
    align-items: stretch;
    margin-block-start: 2.5rem;
    padding-block-start: 1.875rem;
  }
}

.p-why__card {
  position: relative;
  border: 1px solid #c76680;
  padding-block-start: 1.25rem;
  padding-block-end: 1.25rem;
  background: #fff;
}
.p-why__card:first-child {
  margin-block-start: 1.875rem;
}
@media (min-width: 751px) {
  .p-why__card {
    flex: 1;
  }
  .p-why__card:first-child {
    margin-block-start: 0;
  }
}

.p-why__card-num {
  position: absolute;
  top: -1.875rem;
  left: 50%;
  translate: -50% 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #621938;
}

.p-why__card-num-label {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.625rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-why__card-num-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: -7px;
}

.p-why__card-body {
  padding-inline: 1.125rem;
}

.p-why__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
  margin-inline: -1.125rem;
  padding-inline: 1.125rem;
}
@media (min-width: 751px) {
  .p-why__card-head {
    font-size: 1.625rem;
    min-height: 5.5625rem;
    height: auto;
    padding-inline: 0.3125rem;
  }
}

.p-why__card-img {
  margin-block: 1.25rem;
  overflow: hidden;
}
@media (min-width: 751px) {
  .p-why__card-img {
    margin-block: 1.25rem 0.625rem;
  }
}
.p-why__card-img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-why__card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-why__card-text {
    font-size: 0.875rem;
  }
}

.p-why__card-em {
  color: #C25572;
  display: inline;
}

.p-future {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.p-future__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
@media (min-width: 751px) {
  .p-future__bg {
    top: -70px;
  }
}
.p-future__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-future__arrow {
  margin-block: 0.625rem;
}
@media screen and (max-width: 750px) {
  .p-future__arrow {
    display: none;
  }
}

.p-future__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.625rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-future__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 5rem 5.5rem;
  }
}

.p-future__title-wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
}

.p-future__title-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-future__title-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 1.375rem;
}
.p-future__title-main .p-future__title-main--grd {
  font-size: 3rem;
  line-height: 1;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.p-future__title-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-future__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-future__lead span {
  color: #C25572;
  display: inline;
}

.p-future__cards {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  width: 100%;
  list-style: none;
  margin-top: 1.25rem;
}
@media (min-width: 751px) {
  .p-future__cards {
    flex-direction: row;
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem;
    row-gap: 0;
    align-items: flex-start;
    margin-top: 1.875rem;
  }
}

.p-future__card {
  position: relative;
}
@media (min-width: 751px) {
  .p-future__card {
    flex: 1;
  }
}

.p-future__card-media {
  width: calc(100% + 0.9375rem);
  position: relative;
}
.p-future__card-media.--2 {
  margin-left: -0.9375rem;
}
.p-future__card-media img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 751px) {
  .p-future__card-media img {
    aspect-ratio: 310/168;
  }
}
@media (min-width: 751px) {
  .p-future__card-media {
    width: 100%;
  }
  .p-future__card-media.--2 {
    margin-left: 0;
  }
}

.p-future__card-banners {
  position: absolute;
  bottom: -10px;
  left: -0.9375rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
.p-future__card-banners.--2 {
  left: auto;
  right: -0.9375rem;
}
@media (min-width: 751px) {
  .p-future__card-banners {
    bottom: -1.0625rem;
    left: 0;
  }
  .p-future__card-banners.--2 {
    left: 0;
    right: auto;
  }
}

.p-future__card-banner {
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding: 0.125rem 1rem;
  background: linear-gradient(90deg, #C76680 0%, #DB99AB 100%);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .p-future__card-banner {
    padding: 0.125rem 0.8125rem;
  }
}

.p-future__card-desc {
  padding: 0.75rem 0 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
.p-future__card-desc span {
  color: #C25572;
  display: inline;
}
@media (min-width: 751px) {
  .p-future__card-desc {
    font-size: 1rem;
    padding: 2.125rem 0 0;
  }
}

.p-future__card--even .p-future__card-banner {
  left: 3.3125rem;
  top: 9.25rem;
}

.p-future__conclusion-pre {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  border-radius: 5px 0;
  background: #621938;
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.36px;
  padding: 0.125rem 0.25rem 0.1875rem 0.5rem;
}

.p-future__conclusion {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  text-align: center;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.p-future__conclusion-sub {
  font-family: "Shippori Mincho", serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.28px;
  text-align: center;
  color: #621938;
}
@media (min-width: 751px) {
  .p-future__conclusion-sub {
    font-size: 1rem;
  }
}

.p-future__bottom {
  position: relative;
  height: 7.375rem;
  padding-block-start: 1.5625rem;
}
@media (min-width: 751px) {
  .p-future__bottom {
    height: 5.875rem;
    padding-block-start: 2.1875rem;
  }
}

.p-future__bottom-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-future__bottom-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-future__bottom-badge {
  position: absolute;
  left: 50%;
  translate: -50% -50%;
  top: 0;
  padding-inline: 0.6875rem;
  height: 1.75rem;
  background: #fff;
  border: 1px solid #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-future__bottom-wrap {
  display: contents;
}
@media (min-width: 751px) {
  .p-future__bottom-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.p-future__bottom-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
  padding-block-end: 0.1875rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  z-index: 2;
}
@media (min-width: 751px) {
  .p-future__bottom-title {
    margin: 0;
    padding-block-end: 0;
  }
  .p-future__bottom-title::after, .p-future__bottom-title::before {
    display: none;
  }
}
.p-future__bottom-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
.p-future__bottom-title::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 1px;
  left: calc(50% - 40px);
  translate: -50%;
  bottom: -3.7px;
  background: #fff;
  rotate: -65deg;
  transform-origin: center center;
}

.p-future__bottom-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
  margin-block-start: 5px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (min-width: 751px) {
  .p-future__bottom-sub {
    margin-block-start: 0;
  }
}

.p-future__bottom-sub-em {
  background: linear-gradient(180deg, #c1ba88, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.p-future__bottom-img {
  position: absolute;
  left: 0px;
  top: 0;
  height: auto;
  aspect-ratio: 145/105;
  width: 145px;
}
.p-future__bottom-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 751px) {
  .p-future__bottom-img {
    width: 11.4375rem;
    translate: -50% 0;
    top: 0;
    left: calc(50% - 260px);
    aspect-ratio: 182/133;
  }
}
@media (min-width: 850px) {
  .p-future__bottom-img {
    left: calc(50% - 301px);
  }
}
@media (min-width: 1000px) {
  .p-future__bottom-img {
    left: calc(50% - 371px);
  }
}

.p-problem {
  position: relative;
  background: #fff;
}

.p-problem__header-inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.75rem;
  padding-block: 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__header-inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 2.5rem 2.5rem;
  }
}

.p-problem__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.625rem;
  padding-block: 1.25rem 4.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-problem__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 2.5rem 3.75rem;
    row-gap: 0.625rem;
  }
}

.p-problem__question-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  width: 100%;
}
@media (min-width: 751px) {
  .p-problem__question-row {
    flex-direction: row;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    justify-content: center;
    width: auto;
  }
}

.p-problem__top-labels {
  display: flex;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  width: 100%;
}
@media (min-width: 751px) {
  .p-problem__top-labels {
    width: auto;
  }
}

.p-problem__label {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__label {
    padding: 0.125rem 0.625rem;
  }
}

.p-problem__label--can {
  background: #C25572;
  max-width: 10.0625rem;
}
@media (min-width: 751px) {
  .p-problem__label--can {
    max-width: none;
  }
}

.p-problem__label--cannot {
  background: #333;
  white-space: nowrap;
  max-width: 11rem;
}

.p-problem__question {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__question {
    font-size: 1.25rem;
  }
}

.p-problem__arrow {
  width: 1px;
  height: 1.5rem;
  border: 1px dashed #621938;
}

.p-problem__cause-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__cause-label {
    font-size: 1.25rem;
  }
}

.p-problem__cause-em {
  color: #C25572;
}

.p-problem__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #333;
  letter-spacing: 0.04em;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  padding: 0.4375rem 1.1875rem;
}
@media (min-width: 751px) {
  .p-problem__title {
    margin-top: 2.3125rem;
  }
}
.p-problem__title::before, .p-problem__title::after {
  position: absolute;
  content: "";
  width: 1.4375rem;
  height: 1.4375rem;
}
.p-problem__title::before {
  top: 0;
  left: 0;
  background: url(../img/problem-title-right.svg) center center/contain no-repeat;
}
.p-problem__title::after {
  bottom: 0;
  right: 0;
  background: url(../img/problem-title-left.svg) center center/contain no-repeat;
}

.p-problem__cards {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  width: 100%;
  list-style: none;
}
@media (min-width: 751px) {
  .p-problem__cards {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 1.25rem;
    margin-top: 1rem;
    padding-block: 2.5rem;
    border-radius: 0 10px;
    background: rgba(51, 51, 51, 0.2);
  }
}

.p-problem__card {
  background: #fff;
  overflow: hidden;
}
@media (min-width: 751px) {
  .p-problem__card {
    max-width: 21.5625rem;
  }
}

.p-problem__card-head {
  padding: 0.5rem 0.875rem 0.4375rem;
  background: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__card-head {
    padding: 0.5rem 1rem 0.4375rem;
  }
}

.p-problem__card-text {
  padding: 0.75rem 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-problem__card-text {
    font-size: 1rem;
  }
}

.p-problem__card-em {
  color: #C25572;
  display: inline;
}

.p-problem__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  background: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  margin-top: 2.5rem;
}
@media (min-width: 751px) {
  .p-problem__circle {
    margin-top: 1.875rem;
  }
}

.p-problem__talent {
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__talent {
    margin-top: 0.625rem;
  }
}
.p-problem__talent p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-problem__talent span {
  padding-block-end: 0.375rem;
  position: relative;
}
.p-problem__talent span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}

.p-problem__cause-box {
  position: relative;
  width: 100%;
  padding: 1.25rem 1.5rem;
  background: #fff;
  border: 1px solid #621938;
  text-align: center;
}
@media (min-width: 751px) {
  .p-problem__cause-box {
    margin-top: 1.875rem;
    width: 21.5625rem;
    margin-inline: auto;
  }
}
.p-problem__cause-box::before {
  content: "";
  position: absolute;
  top: 2px;
  right: 2px;
  width: 1.875rem;
  height: 1.875rem;
  background: #621938;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.p-problem__cause-box::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 2px;
  width: 1.875rem;
  height: 1.875rem;
  background: #621938;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
}
.p-problem__cause-box p {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #333;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-problem__cause-box p {
    font-size: 1.875rem;
  }
}

.p-problem__cause-box-item {
  width: 1.25rem;
  height: 2.3125rem;
  position: absolute;
  left: 50%;
  translate: -50%;
  top: -10px;
}
@media (min-width: 751px) {
  .p-problem__cause-box-item {
    top: -40px;
    width: 0.875rem;
    height: 28;
  }
}
.p-problem__cause-box-item svg {
  width: 100%;
  height: 100%;
}

.p-problem__cause-box-em {
  color: #621938;
}

.p-problem__dakara-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1rem;
  height: 1.625rem;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
}

.p-problem__kankyou {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-problem__kankyou {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 0.4375rem;
         column-gap: 0.4375rem;
    margin-top: 0.625rem;
  }
}
.p-problem__kankyou p {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
}
@media (min-width: 751px) {
  .p-problem__kankyou p {
    font-size: 1.875rem;
  }
}
.p-problem__kankyou span {
  position: relative;
  padding-block-end: 0.375rem;
}
.p-problem__kankyou span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
}

.p-problem__cta-band {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.3125rem;
  height: 2.625rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
  transform: rotate(-6.828deg);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-problem__footer-bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: 100%;
}
.p-problem__footer-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-problem__footer-bg-sp {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media (min-width: 751px) {
  .p-problem__footer-bg-sp {
    display: none;
  }
}
.p-problem__footer-bg-sp img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-place {
  position: relative;
  overflow: hidden;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 3.17%, #FFF 10.22%);
}

.p-place__bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: 100%;
}
.p-place__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.7;
}

.p-place__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.5rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-place__inner {
    max-width: 70rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 3.125rem 3.75rem;
    row-gap: 2.5rem;
  }
}

.p-place__title-wrap {
  text-align: center;
}

.p-place__title-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  position: relative;
  padding-bottom: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-place__title-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.04em;
  white-space: nowrap;
  margin-top: 0.75rem;
}

.p-place__title-em {
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.p-place__title-post {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-place__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
  margin-bottom: 0.625rem;
}
@media (min-width: 751px) {
  .p-place__lead {
    font-size: 1rem;
    margin-bottom: 0;
  }
}

.p-place__lead-em {
  color: #C25572;
}

.p-place__cards {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
  width: 100%;
  list-style: none;
}
@media (min-width: 751px) {
  .p-place__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    row-gap: 2.5rem;
  }
}

@media (min-width: 751px) {
  .p-place__card:nth-child(1) {
    order: 1;
  }
}
@media (min-width: 751px) {
  .p-place__card:nth-child(2) {
    order: 2;
  }
}
@media (min-width: 751px) {
  .p-place__card:nth-child(3) {
    order: 4;
  }
}
@media (min-width: 751px) {
  .p-place__card:nth-child(4) {
    order: 3;
  }
}

.p-place__card {
  background: #fff;
  overflow: hidden;
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.08);
  border-radius: 1.25rem 1.25rem 0 0;
}

.p-place__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.75rem;
  padding-inline: 0.3125rem;
  padding-block: 0.625rem;
  background: linear-gradient(90deg, #e9928a, #ffb4ae 50%, #e9928a);
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-place__card-img {
  padding: 1.25rem 0.9375rem 0rem;
}
@media (min-width: 751px) {
  .p-place__card-img {
    padding: 0.9375rem 2.5rem 0rem;
  }
}
.p-place__card-img img {
  width: 100%;
  height: 9.9375rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-place__card-text {
  padding: 0.625rem 0.9375rem 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-place__card-text {
    font-size: 1rem;
    padding: 0.625rem 2.5rem 0.9375rem 2.5rem;
  }
}

.p-place__card-em {
  color: #C25572;
  display: inline;
}

.p-place__arrow-down {
  display: block;
  margin-inline: auto;
  width: 5.3125rem;
  height: 1.75rem;
}
@media (min-width: 751px) {
  .p-place__arrow-down {
    width: 8.75rem;
    height: 2.875rem;
  }
}

.p-place__arrow-down-1 {
  width: 1.8125rem;
  height: 1.65625rem;
  rotate: 90deg;
  transform-origin: center center;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-place__arrow-down-1 {
    margin-block: 20px 10px;
  }
}
.p-place__arrow-down-1 svg {
  width: 100%;
  height: 100%;
}

.p-place__conclusion {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
}
@media (min-width: 751px) {
  .p-place__conclusion {
    row-gap: 0.375rem;
  }
}

.p-place__conclusion-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-place__conclusion-text {
    font-size: 1rem;
  }
}

.p-place__conclusion-em {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
}

.p-place__conclusion-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  margin-top: 1.375rem;
}
@media (min-width: 751px) {
  .p-place__conclusion-sub {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
}

.p-place__conclusion-em-inline {
  color: #C25572;
}

.p-place__btn {
  display: block;
  width: 21.5625rem;
  max-width: 100%;
}
.p-place__btn img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 751px) {
  .p-place__btn {
    width: 34rem;
    margin-top: 1rem;
  }
}

.p-place__bottom {
  position: relative;
}

.p-place__bottom-inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 0.4375rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.5rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-place__bottom-inner {
    max-width: 70rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 0.625rem 3.75rem;
  }
}

.p-place__bottom-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-place__bottom-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-teacher {
  position: relative;
  overflow: hidden;
  background: #fff;
  background: url(../img/teacher-bg.png) no-repeat center center/cover;
}
@media (min-width: 751px) {
  .p-teacher {
    background-image: url("../img/teacher-bg-pc.png");
    background-size: cover;
    background-position: center;
  }
}

.p-teacher__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 3.75rem;
}
@media (min-width: 751px) {
  .p-teacher__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 5.625rem 5rem;
  }
}

.p-teacher__title-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  text-align: center;
  margin-block-end: 0.8125rem;
}
@media (min-width: 751px) {
  .p-teacher__title-pre {
    margin-block-end: 0.625rem;
  }
}

.p-teacher__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
  padding-block: 0.3125rem;
}
@media (min-width: 751px) {
  .p-teacher__title {
    padding-block: 0.75rem;
  }
}

.p-teacher__lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 18.5625rem;
  margin-inline: auto;
  row-gap: 0.25rem;
}
@media (min-width: 751px) {
  .p-teacher__lines {
    max-width: 30.3125rem;
  }
}

.p-teacher__line {
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #C76680 0%, #DB99AB 100%);
}

.p-teacher__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.25rem;
  text-align: center;
  margin-block: 1.875rem;
}
.p-teacher__lead p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-teacher__lead {
    margin-block: 2.5rem;
  }
  .p-teacher__lead p {
    font-size: 0.9375rem;
  }
}

.p-teacher__lead-em {
  color: #C25572;
}

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

.p-teacher__swiper {
  overflow: visible;
}

.p-teacher__swiper {
  width: 100%;
  padding-block-end: 2.5rem;
}
.p-teacher__swiper .swiper-slide {
  width: 19.8125rem;
}
@media (min-width: 751px) {
  .p-teacher__swiper {
    padding-block-end: 0rem;
  }
  .p-teacher__swiper .swiper-slide {
    width: 21.75rem;
  }
}

.p-teacher__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-teacher__slide-frame {
  position: relative;
  width: 19.8125rem;
  height: 20.8125rem;
  flex-shrink: 0;
  background: url("../img/teacher-slide-frame.png") no-repeat center/contain;
}
@media (min-width: 751px) {
  .p-teacher__slide-frame {
    width: 21.75rem;
    height: 24.125rem;
  }
}

.p-teacher__slide-info {
  position: absolute;
  top: 2.6875rem;
  left: 1.125rem;
  width: 17.75rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.125rem;
}
@media (min-width: 751px) {
  .p-teacher__slide-info {
    top: 0;
    height: 100%;
    width: 19.6875rem;
    align-items: center;
    justify-content: center;
    margin-top: 0.4375rem;
  }
}

.p-teacher__slide-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}

.p-teacher__slide-photo {
  flex-shrink: 0;
  width: 7.625rem;
  height: 10.9375rem;
  overflow: hidden;
}
.p-teacher__slide-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-teacher__slide-texts {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
}

.p-teacher__slide-name {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.02em;
}

.p-teacher__slide-specialty {
  display: inline-block;
  padding: 0.1875rem 0.3125rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  align-self: flex-start;
}

.p-teacher__slide-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-teacher__slide-text {
    font-size: 0.8125rem;
  }
}

.p-teacher__slide-divider {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5625rem;
       column-gap: 0.5625rem;
  width: 100%;
  font-family: "Allison", cursive;
  font-weight: 400;
  font-size: 1rem;
  color: #621938;
  letter-spacing: 0.02em;
  margin-block-start: 0.125rem;
}
.p-teacher__slide-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(98, 25, 56, 0.3);
}

.p-teacher__slide-message {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1.6;
  color: #621938;
  letter-spacing: 0.02em;
  margin-top: 3px;
}
@media (min-width: 751px) {
  .p-teacher__slide-message {
    font-size: 0.8125rem;
  }
}

.p-teacher__slide-em {
  color: #C25572;
  display: inline;
}

.p-teacher__pagination.swiper-pagination {
  bottom: 0;
}
.p-teacher__pagination .swiper-pagination-bullet {
  background: rgba(98, 25, 56, 0.2);
  opacity: 1;
}
.p-teacher__pagination .swiper-pagination-bullet-active {
  background: #C25572;
}

.p-voice {
  position: relative;
  overflow: hidden;
  background: #fff0f3;
  background: url(../img/voice-bg.png) no-repeat center center/cover;
}
@media (min-width: 751px) {
  .p-voice {
    background-image: url("../img/voice-bg-pc.png");
  }
}

.p-voice__inner {
  position: relative;
  z-index: 1;
  padding-inline: 1.875rem;
  padding-block: 3.125rem 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 751px) {
  .p-voice__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 5.8125rem 5rem;
  }
}

.p-voice__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
  text-align: center;
}

.p-voice__heading-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
}

.p-voice__heading-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  position: relative;
  padding-block-end: 0.3125rem;
}

.p-voice__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 0.75rem;
}

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

.p-voice__swiper {
  overflow: visible;
}

.p-voice__swiper-wrapper {
  align-items: stretch;
}

.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: "";
}

.p-voice__swiper .swiper-button-prev,
.p-voice__swiper .swiper-button-next {
  top: calc(50% - 65px);
  translate: 0 -50%;
  width: 1.25rem;
  height: 1.25rem;
}
.p-voice__swiper .swiper-button-prev svg,
.p-voice__swiper .swiper-button-next svg {
  width: 100%;
  height: 100%;
}
.p-voice__swiper .swiper-button-prev {
  left: -26px;
}
.p-voice__swiper .swiper-button-next {
  right: -26px;
}

.p-voice__swiper {
  width: 100%;
  padding-block-end: 2.5rem;
}
.p-voice__swiper .swiper-wrapper {
  align-items: stretch;
}
.p-voice__swiper .swiper-slide {
  height: auto;
}
@media (min-width: 751px) {
  .p-voice__swiper {
    overflow: visible !important;
    padding-block: 2.5rem;
  }
  .p-voice__swiper .swiper-wrapper {
    flex-direction: column;
    row-gap: 0.625rem;
    transform: none !important;
    transition: none !important;
  }
  .p-voice__swiper .swiper-slide {
    width: 100% !important;
  }
}

.p-voice__slide {
  width: 100%;
  height: 100%;
  padding-block-start: 3.125rem;
}
@media (min-width: 751px) {
  .p-voice__slide {
    padding-block-start: 0;
    height: auto;
  }
}

.p-voice__card {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 2px solid #e9928a;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 751px) {
  .p-voice__card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding-block-start: 0;
  }
}

.p-voice__card-left {
  display: contents;
}
@media (min-width: 751px) {
  .p-voice__card-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    padding: 1.625rem 1rem 1.5rem 1.5rem;
    row-gap: 0.625rem;
  }
}

.p-voice__card-photo {
  position: absolute;
  top: -2.5625rem;
  left: 1rem;
  width: 6.875rem;
  height: 6.875rem;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e9928a;
}
.p-voice__card-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 751px) {
  .p-voice__card-photo {
    position: static;
    translate: 0 0;
    top: auto;
    left: auto;
    width: 5.625rem;
    height: 5.625rem;
    flex-shrink: 0;
    align-self: center;
    margin: 0;
  }
}

.p-voice__card-body {
  width: 100%;
  padding: 0 0.9375rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
}
@media (min-width: 751px) {
  .p-voice__card-body {
    flex: 1;
    padding: 1.5rem 1.875rem 1.5rem 0;
    display: grid;
    grid-template-columns: 1fr 23.25rem;
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    align-items: start;
    row-gap: 0;
  }
}

.p-voice__card-name-section {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
  padding: 0.9375rem 0.9375rem 0;
}
@media (min-width: 751px) {
  .p-voice__card-name-section {
    display: block;
    padding: 0;
    width: auto;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    margin-block-start: 0.75rem;
  }
}

.p-voice__name-deco {
  display: block;
  width: 9.125rem;
  height: 0.75rem;
  margin-block-start: 0.25rem;
}

.p-voice__card-name {
  text-align: left;
}
@media (min-width: 751px) {
  .p-voice__card-name {
    text-align: left;
  }
}

.p-voice__name-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #e68f88;
  letter-spacing: 0.04em;
}

.p-voice__name-suffix {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #e68f88;
  letter-spacing: 0.02em;
  margin-inline-start: 0.25rem;
}
@media (min-width: 751px) {
  .p-voice__name-suffix {
    font-size: 1.25rem;
  }
}

.p-voice__before-after {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (min-width: 751px) {
  .p-voice__before-after {
    flex-direction: row;
    align-items: stretch;
    row-gap: 0;
    -moz-column-gap: 0.1875rem;
         column-gap: 0.1875rem;
    grid-column: 1;
    grid-row: 1;
  }
}

.p-voice__before,
.p-voice__after {
  width: 100%;
  padding: 0.9375rem 0.75rem;
  border-radius: 0.625rem;
  min-width: 0;
  position: relative;
}
@media (min-width: 751px) {
  .p-voice__before,
  .p-voice__after {
    flex: 1;
    padding: 0.9375rem 0.625rem;
  }
}

.p-voice__before {
  background: #e8e8e8;
  margin-top: 1.125rem;
}
.p-voice__after {
  background: #e68f88;
  border: 1px solid #e9928a;
  margin-top: 0.4375rem;
}
@media (min-width: 751px) {
  .p-voice__after {
    margin-top: 1.125rem;
  }
}

.p-voice__ba-arrow {
  flex-shrink: 0;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  rotate: 90deg;
  transform-origin: center center;
}
.p-voice__ba-arrow img {
  display: block;
  width: 1.4375rem;
  height: 1.4375rem;
}
@media (min-width: 751px) {
  .p-voice__ba-arrow {
    rotate: 0deg;
    transform-origin: center center;
  }
  .p-voice__ba-arrow img {
    width: 1.1875rem;
    height: 1.375rem;
  }
}

.p-voice__ba-label {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin-block-end: 0.25rem;
  padding: 0.125rem 0.625rem;
  border-radius: 1.5625rem;
  background: #fff;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
}

.p-voice__before .p-voice__ba-label {
  color: #333;
  border: 1px solid #E8E8E8;
}

.p-voice__after .p-voice__ba-label {
  border: 1px solid #e68f88;
  color: #e68f88;
}

.p-voice__ba-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
}
.p-voice__ba-list li {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  position: relative;
  padding-inline-start: 1em;
}
.p-voice__ba-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.p-voice__before .p-voice__ba-list li {
  color: #333;
}

.p-voice__after .p-voice__ba-list li {
  color: #fff;
}
.p-voice__after .p-voice__ba-list li::before {
  color: #fff;
}

.p-voice__chart {
  width: 100%;
}
.p-voice__chart img {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 751px) {
  .p-voice__chart img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media (min-width: 751px) {
  .p-voice__chart {
    grid-column: 2;
    grid-row: 1/span 3;
    align-self: center;
  }
}

.p-voice__divider {
  font-family: "Allison", cursive;
  font-weight: 400;
  font-size: 1rem;
  color: #621938;
  letter-spacing: 0.04em;
  width: 100%;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5625rem;
       column-gap: 0.5625rem;
}
.p-voice__divider .line {
  flex: 1;
  height: 1px;
  background: #621938;
}
@media (min-width: 751px) {
  .p-voice__divider {
    grid-column: 1;
    text-align: left;
    margin-top: 1.25rem;
  }
}

.p-voice__message {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.625rem;
  line-height: 1.6;
  color: #621938;
  letter-spacing: 0.02em;
}
.p-voice__message span {
  color: #C25572;
  display: inline;
}
@media (min-width: 751px) {
  .p-voice__message {
    grid-column: 1;
    text-align: left;
    font-size: 0.8125rem;
  }
}

.p-voice__pagination.swiper-pagination {
  bottom: 0;
}
.p-voice__pagination .swiper-pagination-bullet {
  background: rgba(98, 25, 56, 0.2);
  opacity: 1;
}
.p-voice__pagination .swiper-pagination-bullet-active {
  background: #C25572;
}
@media (min-width: 751px) {
  .p-voice__pagination {
    display: none !important;
  }
}

.p-voice__conclusion {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
  width: 100%;
  text-align: center;
}
@media (min-width: 751px) {
  .p-voice__conclusion {
    row-gap: 1.25rem;
  }
}

.p-voice__conclusion-lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-voice__conclusion-lead {
    font-size: 1rem;
  }
}

.p-voice__conclusion-em {
  color: #C25572;
}

.p-voice__conclusion-line {
  width: 0;
  height: 1.5rem;
  border-inline-start: 1px dashed rgba(98, 25, 56, 0.4);
}

.p-voice__conclusion-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 0.9375rem;
  justify-content: center;
}

.p-voice__conclusion-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-voice__conclusion-text {
    font-size: 1rem;
  }
}

.p-voice__conclusion-featured {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}

.p-voice__conclusion-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-voice__conclusion-sub {
    font-size: 1rem;
  }
}

@media (min-width: 751px) {
  .p-voice__name-deco {
    display: none;
  }
}

@media (min-width: 751px) {
  .p-voice__button-prev,
  .p-voice__button-next {
    display: none;
  }
}

.p-comparison {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.p-comparison__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-comparison__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-comparison__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 2.8125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.5rem;
}
@media (min-width: 751px) {
  .p-comparison__inner {
    max-width: 68.125rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 3.75rem 4.6875rem;
    display: grid;
    grid-template-columns: 1fr 1.8125rem 25.5rem;
    grid-template-rows: auto auto;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 3.75rem;
    align-items: center;
  }
}

.p-comparison__title-wrap {
  text-align: center;
}
@media (min-width: 751px) {
  .p-comparison__title-wrap {
    padding: 2.25rem 1.75rem 1.25rem;
  }
}

@media (min-width: 751px) {
  .p-comparison__left-box {
    grid-column: 1;
    grid-row: 1;
    border: 1px solid #C25572;
    border-radius: 0 0.625rem 0 0.625rem;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
  }
}

.p-comparison__arrow {
  display: none;
}
@media (min-width: 751px) {
  .p-comparison__arrow {
    display: block;
    width: 1.8125rem;
    height: 1.65625rem;
  }
  .p-comparison__arrow svg {
    width: 100%;
    height: 100%;
  }
}

.p-comparison__title-pre {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.04em;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
}
.p-comparison__title-pre::before, .p-comparison__title-pre::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.96875rem;
  height: 1.78125rem;
  background: url("../img/deco-slash.svg") no-repeat center/contain;
}
.p-comparison__title-pre::after {
  transform: scaleX(-1);
}

.p-comparison__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-comparison__title {
    font-size: 1.75rem;
  }
}

.p-comparison__table {
  display: grid;
  grid-template-columns: 1.5rem 1fr 1fr;
  align-items: stretch;
  max-width: 100%;
}
@media (min-width: 751px) {
  .p-comparison__table {
    grid-column: 3;
    grid-row: 1;
  }
}

.p-comparison__label-spacer {
  height: 2rem;
  width: 1.5rem;
  border: 1px solid transparent;
}

.p-comparison__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  padding-block: 0.375rem;
  padding-inline: 0.3125rem;
  border: 1px solid #C25572;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.1;
  color: #C25572;
  letter-spacing: 0.02em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.p-comparison__col-head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
  border-radius: 0.625rem 0.625rem 0 0;
}

.p-comparison__col-head--academy {
  background: #C25572;
}

.p-comparison__col-head--general {
  background: #333;
  margin-top: 0.375rem;
  height: 1.625rem;
}

.p-comparison__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.25rem;
  text-align: center;
}
.p-comparison__cell p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-comparison__cell p {
    font-size: 1rem;
  }
}

.p-comparison__cell--academy {
  background: #fff;
  border-block: 1px solid #C25572;
}

.p-comparison__cell--general {
  background: #dbdbdb;
  border-block: 1px solid #333;
}

.p-comparison__cell--general.p-comparison__cell--last {
  border-bottom: 2px solid #333;
}

.p-comparison__label--last,
.p-comparison__cell--academy.p-comparison__cell--last {
  border-bottom: 2px solid #C25572;
}

.p-comparison__cell--academy p {
  color: #000000;
  font-weight: 500;
}

.p-comparison__em {
  color: #C25572;
  display: inline;
}

.p-comparison__conclusion-line {
  display: none;
}
@media (min-width: 751px) {
  .p-comparison__conclusion-line {
    display: block;
    width: 0;
    height: 1.5rem;
    border-inline-start: 1px dashed #621938;
    margin-inline: auto;
  }
}

.p-comparison__conclusion {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
}
@media (min-width: 751px) {
  .p-comparison__conclusion {
    flex: 1;
    padding: 1.25rem 1.25rem 2.5rem;
    row-gap: 0.75rem;
  }
}

.p-comparison__conclusion-pre {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-comparison__conclusion-pre {
    font-size: 0.9375rem;
  }
}

.p-comparison__conclusion-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
}

.p-comparison__conclusion-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-comparison__conclusion-sub {
    font-size: 0.9375rem;
  }
}

.p-comparison__conclusion .p-comparison__em {
  color: #C25572;
}

@media (min-width: 751px) {
  .p-comparison__inner > .c-btn-line {
    grid-column: 1/-1;
    grid-row: 2;
    justify-self: center;
  }
}

.p-introduction {
  position: relative;
  overflow: hidden;
}
@media (min-width: 751px) {
  .p-introduction {
    background-image: url("../img/introduction-bg-pc.webp");
    background-size: cover;
    background-position: top center;
  }
}
.p-introduction::before {
  content: "";
  position: absolute;
  top: 5.2%;
  left: 0;
  width: 100%;
  height: 81.25rem;
  background-image: url("../img/introduction-bg.webp");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media (min-width: 751px) {
  .p-introduction::before {
    display: none;
  }
}

.p-introduction__banner {
  position: relative;
  min-height: 8.75rem;
  padding: 0.6875rem 0.9375rem 2.3125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0.5rem;
  text-align: center;
}

.p-introduction__banner-bg {
  position: absolute;
  left: 50%;
  translate: -50%;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
@media (min-width: 751px) {
  .p-introduction__banner-bg {
    top: -0.625rem;
  }
}
@media (min-width: 1460px) {
  .p-introduction__banner-bg {
    top: 0;
  }
}
.p-introduction__banner-bg img {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 4px 10px rgba(114, 114, 114, 0.25));
}

.p-introduction__banner-badge {
  display: inline-block;
  background: #fff;
  color: #C25572;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding: 0.125rem 0.75rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 751px) {
  .p-introduction__banner-badge {
    font-size: 1.125rem;
  }
}

.p-introduction__banner-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
}

.p-introduction__inner {
  position: relative;
  z-index: 1;
  padding-inline: 1.875rem;
  padding-block: 2rem 3.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-introduction__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 1.25rem 5rem;
  }
}

.p-introduction__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  text-align: center;
}

.p-introduction__title-pre {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.052em;
}
.p-introduction__title-pre::before, .p-introduction__title-pre::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.96875rem;
  height: 1.78125rem;
  background: url("../img/deco-slash.svg") no-repeat center/contain;
}
.p-introduction__title-pre::after {
  transform: scaleX(-1);
}

.p-introduction__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  display: flex;
  align-items: flex-end;
}

.p-introduction__title-num {
  display: inline-block;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  padding-block-end: 0.25rem;
  font-size: 2.125rem;
}
.p-introduction__title-num::after {
  content: "";
  position: absolute;
  bottom: 8%;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
}

.p-introduction__title-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-introduction__line-down {
  width: 0;
  height: 1.5rem;
  border-left: 1px solid rgba(98, 25, 56, 0.4);
}

.p-introduction__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-introduction__lead span {
  color: #C25572;
}
@media (min-width: 751px) {
  .p-introduction__lead {
    margin-top: 0.75rem;
    font-size: 1rem;
  }
}

.p-introduction__swiper {
  width: 100%;
  margin-top: 2.5rem;
  overflow: visible;
}
.p-introduction__swiper .swiper-wrapper {
  align-items: stretch;
}
.p-introduction__swiper .swiper-slide {
  max-width: 31.25rem;
  height: auto;
}
@media (min-width: 751px) {
  .p-introduction__swiper {
    padding-block-end: 0;
    overflow: visible;
  }
  .p-introduction__swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.3125rem;
         column-gap: 2.3125rem;
    transform: none;
    transition: none;
  }
  .p-introduction__swiper .swiper-slide {
    width: 100%;
  }
}

.p-introduction__slide {
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  height: 100%;
}

.p-introduction__slide-head {
  background: #621938;
  padding: 0.625rem 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-introduction__slide-body {
  background: #fff;
  padding: 0.75rem;
  height: 100%;
}
@media (min-width: 751px) {
  .p-introduction__slide-body {
    padding: 0.875rem 1.375rem;
  }
}

.p-introduction__slide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem 0.375rem;
}
@media (min-width: 751px) {
  .p-introduction__slide-grid {
    gap: 0.625rem;
  }
}
.p-introduction__slide-grid .p-introduction__slide-item img {
  aspect-ratio: 130/93;
}

.p-introduction__slide-grid2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.p-introduction__slide-grid2 .p-introduction__slide-item img {
  aspect-ratio: 200/145;
  max-width: 12.5rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-introduction__slide-grid2 .p-introduction__slide-item img {
    max-width: 12.125rem;
  }
}

.p-introduction__slide-grid3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem 0.375rem;
}
.p-introduction__slide-grid3 .p-introduction__slide-item img {
  aspect-ratio: 1;
}

.p-introduction__slide-item {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  max-width: 100%;
}
.p-introduction__slide-item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-introduction__slide-item figcaption {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-introduction__slide-item figcaption {
    font-size: 0.75rem;
  }
}

.p-introduction__slide-item--wide {
  grid-column: 1/3;
  max-width: 8.4375rem;
  margin-inline: auto;
}

.p-introduction__swiper .swiper-button-prev,
.p-introduction__swiper .swiper-button-next {
  top: 50%;
  translate: 0 -50%;
  width: 1.25rem;
  height: 1.25rem;
}
.p-introduction__swiper .swiper-button-prev svg,
.p-introduction__swiper .swiper-button-next svg {
  width: 100%;
  height: 100%;
}
@media (min-width: 751px) {
  .p-introduction__swiper .swiper-button-prev,
  .p-introduction__swiper .swiper-button-next {
    display: none;
  }
}
.p-introduction__swiper .swiper-button-prev {
  left: -1.625rem;
}
.p-introduction__swiper .swiper-button-next {
  right: -1.625rem;
}

.p-introduction__stats {
  width: 100%;
  border: 1px solid #621938;
  padding: 1rem;
  margin-block-start: 2.5rem;
}
@media (min-width: 751px) {
  .p-introduction__stats {
    background: url("../img/introduction-stats-bg-pc.png") no-repeat center/cover;
    border-color: transparent;
    padding: 2.5rem 3.75rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
}

.p-introduction__stats-left {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media (min-width: 751px) {
  .p-introduction__stats-left {
    flex: 1;
    width: 100%;
  }
}

.p-introduction__check-list {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.p-introduction__check-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  padding-block: 0.75rem;
  border-block-end: 1px dashed rgba(98, 25, 56, 0.4);
}
.p-introduction__check-item:last-child {
  border-block-end: none;
  padding-block-end: 0;
}
.p-introduction__check-item:first-child {
  padding-block-start: 0;
}
.p-introduction__check-item p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-introduction__check-item p {
    font-size: 1.25rem;
  }
}

.p-introduction__check-icon {
  flex-shrink: 0;
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border: 2px solid #621938;
  background: #fff;
  position: relative;
}
.p-introduction__check-icon::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.1875rem;
  width: 0.5625rem;
  height: 0.375rem;
  border-left: 2px solid #621938;
  border-block-end: 2px solid #621938;
  transform: rotate(-45deg);
}

.p-introduction__check-em {
  color: #C25572;
  font-weight: 500;
}

.p-introduction__bottom-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 0.5625rem;
}
@media (min-width: 751px) {
  .p-introduction__bottom-lead {
    font-size: 1rem;
    width: 100%;
  }
}

.p-introduction__bottom-quote {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.6;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
  padding-block: 0.4375rem;
}

.p-introduction__bottom-quote-sub {
  color: #621938;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-introduction__bottom-quote-sub {
    font-size: 1rem;
    margin-inline: auto;
  }
}

.p-introduction__bottom-content {
  width: calc(100% + 5rem);
  height: auto;
  margin-block-start: -2.8125rem;
}
@media (min-width: 751px) {
  .p-introduction__bottom-content {
    width: 33.8125rem;
  }
}
.p-introduction__bottom-content img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-introduction__arrow-down {
  display: block;
  margin-inline: auto;
  width: 5.3125rem;
  height: 1.75rem;
}
@media (min-width: 751px) {
  .p-introduction__arrow-down {
    width: 8.75rem;
    height: 2.875rem;
  }
}

.p-introduction__teacher-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  width: 100%;
}
@media (min-width: 751px) {
  .p-introduction__teacher-row {
    flex-shrink: 0;
    width: auto;
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
  }
}

.p-introduction__teacher-photo {
  width: 5.625rem;
  height: 5.625rem;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #C25572;
  flex-shrink: 0;
}
.p-introduction__teacher-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 751px) {
  .p-introduction__teacher-photo {
    width: 6.875rem;
    height: 6.875rem;
  }
}

.p-introduction__bottom-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
  margin-top: 0.9375rem;
}
@media (min-width: 751px) {
  .p-introduction__bottom-text {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}
.p-introduction__bottom-text span {
  color: #C25572;
}

.p-introduction__philosophy-box {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #C25572;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
  margin-top: 1.25rem;
  background: #fff;
}
@media (min-width: 751px) {
  .p-introduction__philosophy-box {
    flex-direction: row;
    align-items: baseline;
    -moz-column-gap: 0.375rem;
         column-gap: 0.375rem;
    row-gap: 0;
    flex-wrap: nowrap;
    width: auto;
  }
}
.p-introduction__philosophy-box p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-introduction__philosophy-box p {
    font-size: 1rem;
  }
}

.p-introduction__philosophy-em {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.4;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .p-introduction__philosophy-em {
    font-size: 1.625rem;
  }
}

.p-introduction__bottom-closing {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
  margin-top: 1.25rem;
}
@media (min-width: 751px) {
  .p-introduction__bottom-closing {
    font-size: 1rem;
  }
}
.p-introduction__bottom-closing span {
  color: #C25572;
}

.p-introduction__bottom-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 751px) {
  .p-introduction__bottom-section {
    flex-direction: row;
    border: 1px solid #C25572;
    border-radius: 0 1.25rem 0 1.25rem;
    background: rgba(255, 255, 255, 0.6);
    margin-block-start: 2.5rem;
  }
}

.p-introduction__glass {
  position: absolute;
  top: -1.625rem;
  left: calc(50% - 2.5rem);
  translate: -50%;
  width: 72.25rem;
  height: auto;
  aspect-ratio: 1156/447;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .p-introduction__glass {
    display: none;
  }
}
.p-introduction__glass img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-introduction__pc-left {
  display: contents;
}
@media (min-width: 751px) {
  .p-introduction__pc-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem 4rem 1.875rem 3.0625rem;
    flex-shrink: 0;
  }
  .p-introduction__pc-left .p-introduction__stats {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #621938;
    border-color: #621938;
    padding: 1rem 0.75rem;
    flex-direction: column;
    align-items: flex-start;
    -moz-column-gap: 0;
         column-gap: 0;
    width: 100%;
    margin-block-start: 0;
  }
  .p-introduction__pc-left .p-place__arrow-down {
    align-self: center;
  }
}

@media (min-width: 751px) {
  .p-introduction__bottom-content {
    flex: 1;
    width: auto;
    margin-block-start: 0;
    display: flex;
    align-items: flex-end;
  }
  .p-introduction__bottom-content img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-area {
  position: relative;
  overflow: hidden;
  background-image: url("../img/area-bg.webp");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
@media (min-width: 751px) {
  .p-area {
    min-height: 30rem;
    background-image: url("../img/area-bg-pc.webp");
  }
}

.p-area__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.9375rem;
  padding-block: 2.5rem 4.375rem;
  max-width: 25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-area__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 5rem 5rem;
  }
}

.p-area__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  margin-block-end: 1.875rem;
}
@media (min-width: 751px) {
  .p-area__title-wrap {
    margin-block-end: 2.5rem;
  }
}

.p-area__lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  row-gap: 0.25rem;
}

.p-area__line {
  display: block;
  width: 18.5625rem;
  height: 1px;
  background: #fff;
}

.p-area__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-area__row {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  position: relative;
}
.p-area__row + .p-area__row {
  margin-block-start: 3.125rem;
}
@media (min-width: 751px) {
  .p-area__row {
    position: static;
    flex-direction: column;
    align-items: center;
    text-align: center;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-inline: auto;
    margin-block-end: 0;
  }
  .p-area__row + .p-area__row {
    margin-block-start: 2.5rem;
  }
}

.p-area__row--reverse {
  flex-direction: row-reverse;
}
@media (min-width: 751px) {
  .p-area__row--reverse {
    flex-direction: column;
  }
}

.p-area__text {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  max-width: 11.25rem;
  position: relative;
}
.p-area__text.--2 {
  max-width: 13.3125rem;
}
@media (min-width: 751px) {
  .p-area__text.--2 {
    max-width: 100%;
    row-gap: 1.25rem;
  }
}
@media (min-width: 751px) {
  .p-area__text {
    max-width: 100%;
    text-align: center;
  }
}
.p-area__text p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-area__text p {
    font-size: 1rem;
  }
}

.p-area__em {
  color: #f5eeba;
  display: contents;
}

.p-area__img {
  position: absolute;
  height: auto;
  top: 50%;
  translate: 0 -50%;
}
.p-area__img.--1 {
  right: -3.625rem;
  aspect-ratio: 240/174;
  width: 15rem;
}
@media (min-width: 751px) {
  .p-area__img.--1 {
    right: -0.9375rem;
    left: auto;
    top: calc(50% - 3.4375rem);
    translate: 0 -50%;
    width: 22.75rem;
    border-radius: 0.5rem;
    overflow: hidden;
  }
}
.p-area__img.--2 {
  left: -4.375rem;
  aspect-ratio: 255/185;
  width: 15.9375rem;
}
@media (min-width: 751px) {
  .p-area__img.--2 {
    left: 0.625rem;
    top: calc(50% + 6.25rem);
    translate: 0 -50%;
    width: 19.125rem;
    border-radius: 0.5rem;
    overflow: hidden;
  }
}
.p-area__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-area__img--wide img {
  width: 10rem;
}
@media (min-width: 751px) {
  .p-area__img--wide img {
    width: 15rem;
  }
}

.p-qa {
  background: #fff;
}

.p-qa__inner {
  padding-inline: 0.9375rem;
  padding-block: 3.125rem 1.4375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.5rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-qa__inner {
    max-width: 55rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 3.75rem 5rem;
    row-gap: 2.5rem;
  }
}

.p-qa__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 2.125rem;
  line-height: 1.5;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-qa__title {
    font-size: 2.5rem;
  }
}

.p-qa__list {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.p-qa__item {
  width: 100%;
}

.p-qa__question {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  padding-block: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  list-style: none;
}
.p-qa__question::-webkit-details-marker {
  display: none;
}

.p-qa__q-mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #C25572;
  letter-spacing: 0.02em;
}

.p-qa__q-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #C25572;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-qa__q-text {
    font-size: 1.125rem;
  }
}

.p-qa__answer .c-accordion__inner {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.p-qa__a-mark {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 1rem;
  padding-block-start: 0.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #C25572;
  letter-spacing: 0.02em;
}

.p-qa__a-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  margin-bottom: 0.75rem;
}
@media (min-width: 751px) {
  .p-qa__a-text {
    font-size: 1.125rem;
    margin-bottom: 1.125rem;
  }
}

.p-qa__divider {
  height: 1px;
  background: #C25572;
  margin-inline: 0;
}

.p-action {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.p-action__bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: 100%;
}
.p-action__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-action__bg-glass {
  position: absolute;
  top: 3.4375rem;
  left: 50%;
  translate: -50%;
  width: 80.5625rem;
  height: auto;
  aspect-ratio: 1289/532;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .p-action__bg-glass {
    display: none;
  }
}
.p-action__bg-glass img {
  width: 100%;
  height: 100%;
}

.p-action__title-band {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8.125rem;
  padding-inline: 1.25rem;
  padding-block: 1.25rem;
  background: linear-gradient(90deg, #c76680, #db99ab);
  transform: rotate(-3.56deg);
  margin-block: 1.25rem;
  margin-inline: -0.625rem;
}
@media (min-width: 751px) {
  .p-action__title-band {
    transform: none;
    margin-block: 0;
    margin-inline: 0;
    min-height: 4.75rem;
    padding-inline: 2.5rem;
  }
}

.p-action__title {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}
.p-action__title span {
  border-bottom: 1px solid #fff;
}
@media (min-width: 751px) {
  .p-action__title {
    transform: none;
    font-size: 1.75rem;
  }
}

.p-action__inner {
  position: relative;
  z-index: 1;
  padding-inline: 0.875rem;
  padding-block: 1.25rem 1.5625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.625rem;
  max-width: 31.25rem;
  margin-inline: auto;
}
@media (min-width: 751px) {
  .p-action__inner {
    max-width: 67.5rem;
    margin-inline: auto;
    padding-inline: 2.5rem;
    padding-block: 2.5rem 2.1875rem;
    row-gap: 1.25rem;
  }
}

.p-action__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-action__lead {
    font-size: 1rem;
    max-width: 31.25rem;
    margin-inline: auto;
  }
}

.p-action__check-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.4375rem;
       column-gap: 0.4375rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-action__check-label {
    font-size: 0.9375rem;
  }
}
.p-action__check-label::before, .p-action__check-label::after {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.75rem;
  height: 1.375rem;
  background: url("../img/deco-slash.svg") no-repeat center/contain;
}
.p-action__check-label::after {
  transform: scaleX(-1);
}

.p-action__checklist {
  width: 100%;
  padding: 1.0625rem 0.5rem 0.9375rem;
  border: 1px solid #621938;
  background: rgba(255, 255, 255, 0.8);
}
.p-action__checklist ul {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  list-style: none;
}
@media (min-width: 751px) {
  .p-action__checklist {
    max-width: 22.1875rem;
    width: 100%;
    padding: 1.0625rem 0.75rem 0.9375rem;
  }
}

.p-action__check-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  padding-block: 0.25rem;
  border-block-end: 1px solid rgba(194, 85, 114, 0.3);
}
@media (min-width: 751px) {
  .p-action__check-item {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
.p-action__check-item:last-child {
  border-block-end: none;
}
.p-action__check-item p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-action__check-item p {
    font-size: 1.125rem;
  }
}

.p-action__check-icon {
  flex-shrink: 0;
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border: 2px solid #621938;
  background: #fff;
  position: relative;
}
.p-action__check-icon::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.1875rem;
  width: 0.5625rem;
  height: 0.375rem;
  border-left: 2px solid #621938;
  border-block-end: 2px solid #621938;
  transform: rotate(-45deg);
}

.p-action__check-em {
  color: #C25572;
}

.p-action__arrow-down {
  display: block;
  margin-inline: auto;
  width: 5.3125rem;
  height: 1.75rem;
}

.p-action__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-action__text {
    font-size: 1rem;
  }
}

.p-action__text--main {
  background: linear-gradient(90deg, #C76680 0%, #DB99AB 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Shippori Mincho", serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-action__text-em {
  color: #C25572;
}

.p-action__line-down {
  width: 0;
  height: 1.5rem;
  border-left: 1px solid rgba(98, 25, 56, 0.4);
}

.p-action__polygon-down {
  width: 0;
  height: 0;
  border-left: 0.75rem solid transparent;
  border-right: 0.75rem solid transparent;
  border-block-start: 0.875rem solid #C25572;
}

.p-action__result {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.4;
  background: linear-gradient(90deg, #c76680, #db99ab);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-action__warning {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.25rem;
  text-align: center;
  margin-block-start: 1.25rem;
  position: relative;
}

.p-action__warning-sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
}
@media (min-width: 751px) {
  .p-action__warning-sub {
    font-size: 1rem;
  }
}

.p-action__warning-main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.02em;
}

.p-action__circle {
  position: absolute;
  top: -30px;
  left: 50%;
  translate: -50%;
  width: 15.8125rem;
  height: auto;
  aspect-ratio: 253/96;
  z-index: -1;
}
@media screen and (max-width: 750px) {
  .p-action__circle {
    display: none;
  }
}
.p-action__circle img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-action__tada {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  padding-inline: 1rem;
  background: #C25572;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  margin-block-start: 1.25rem;
}

.p-action__img {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: 100%;
  height: auto;
  aspect-ratio: 375/349;
}
.p-action__img img {
  width: 100%;
  height: 100%;
}
@media (min-width: 751px) {
  .p-action__img {
    aspect-ratio: 1470/569;
  }
}

.p-action__btn-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
  margin-top: 11.375rem;
  animation: 1.5s ease-in-out forwards infinite btn;
}
@media (min-width: 751px) {
  .p-action__btn-wrap {
    margin-top: 20.25rem;
  }
}
@media (min-width: 1700px) {
  .p-action__btn-wrap {
    margin-top: 380px;
  }
}
@media (min-width: 1900px) {
  .p-action__btn-wrap {
    margin-top: 410px;
  }
}
@media (min-width: 2000px) {
  .p-action__btn-wrap {
    margin-top: 510px;
  }
}
@media (min-width: 2300px) {
  .p-action__btn-wrap {
    margin-top: 570px;
  }
}

.p-action__btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #621938;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 751px) {
  .p-action__btn-text {
    font-size: 1rem;
  }
}

.p-action__btn-em {
  color: #C25572;
  font-weight: 700;
}

@media (min-width: 751px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .u-pc {
    display: none !important;
  }
}
.u-font {
  font-family: "Noto Sans JP", sans-serif;
}
.u-font__jp {
  font-family: "Shippori Mincho", serif;
}
.u-font__en {
  font-family: "Allison", cursive;
}

.u-font14 {
  font-size: 0.875rem;
}

.u-font16 {
  font-size: 1rem;
}

.u-font18 {
  font-size: 1.125rem;
}

.u-font20 {
  font-size: 1.25rem;
}

.u-font22 {
  font-size: 1.375rem;
}

.u-font24 {
  font-size: 1.5rem;
}

.u-font28 {
  font-size: 1.75rem;
}

.u-font32 {
  font-size: 2rem;
}

.u-font40 {
  font-size: 2.5rem;
}

.u-text__center {
  text-align: center !important;
}
@media screen and (max-width: 750px) {
  .u-text__center--sp {
    text-align: center !important;
  }
}
@media (min-width: 751px) {
  .u-text__center--pc {
    text-align: center !important;
  }
}

.u-text__left {
  text-align: left !important;
}
@media screen and (max-width: 750px) {
  .u-text__left--sp {
    text-align: left !important;
  }
}
@media (min-width: 751px) {
  .u-text__left--pc {
    text-align: left !important;
  }
}

.u-text__right {
  text-align: right !important;
}
@media screen and (max-width: 750px) {
  .u-text__right--sp {
    text-align: right !important;
  }
}
@media (min-width: 751px) {
  .u-text__right--pc {
    text-align: right !important;
  }
}

.u-text__nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .u-text__nowrap--sp {
    white-space: nowrap;
  }
}
@media (min-width: 751px) {
  .u-text__nowrap--pc {
    white-space: nowrap;
  }
}

.u-textLeft {
  text-align: Left !important;
}

.u-textCenter {
  text-align: Center !important;
}

.u-textRight {
  text-align: Right !important;
}

.u-textJustify {
  text-align: Justify !important;
}

@media screen and (max-width: 767px) {
  .u-textMdLeft {
    text-align: Left !important;
  }
  .u-textMdCenter {
    text-align: Center !important;
  }
  .u-textMdRight {
    text-align: Right !important;
  }
  .u-textMdJustify {
    text-align: Justify !important;
  }
}
.u-pointer__none {
  pointer-events: none !important;
}
@media screen and (max-width: 750px) {
  .u-pointer__none--sp {
    pointer-events: none !important;
  }
}
@media (min-width: 751px) {
  .u-pointer__none--pc {
    pointer-events: none !important;
  }
}

.u-hover {
  transition: opacity 0.5s;
}

.u-hover:hover {
  opacity: 0.6;
  transition: opacity 0.5s;
}

.u-lh10 {
  line-height: 1;
}

.u-lh13 {
  line-height: 1.3;
}

.u-lh15 {
  line-height: 1.5;
}

.u-lh16 {
  line-height: 1.6;
}

.u-lh20 {
  line-height: 2;
}

.u-ls05 {
  letter-spacing: 0.05em;
}

.u-ls10 {
  letter-spacing: 0.1em;
}

.u-ls15 {
  letter-spacing: 0.15em;
}

.u-ls20 {
  letter-spacing: 0.2em;
}

.u-mt10 {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.u-mt20 {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.u-mt30 {
  margin-top: 30px !important;
  margin-top: 1.875rem !important;
}

.u-mt40 {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.u-mt50 {
  margin-top: 50px !important;
  margin-top: 3.125rem !important;
}

.u-mt60 {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.u-mt70 {
  margin-top: 70px !important;
  margin-top: 4.375rem !important;
}

.u-mt80 {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.u-mt90 {
  margin-top: 90px !important;
  margin-top: 5.625rem !important;
}

.u-mt100 {
  margin-top: 100px !important;
  margin-top: 6.25rem !important;
}

.u-mt110 {
  margin-top: 110px !important;
  margin-top: 6.875rem !important;
}

.u-mt120 {
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.u-mt130 {
  margin-top: 130px !important;
  margin-top: 8.125rem !important;
}

.u-mt140 {
  margin-top: 140px !important;
  margin-top: 8.75rem !important;
}

.u-mt150 {
  margin-top: 150px !important;
  margin-top: 9.375rem !important;
}

.u-mt160 {
  margin-top: 160px !important;
  margin-top: 10rem !important;
}

.u-mt170 {
  margin-top: 170px !important;
  margin-top: 10.625rem !important;
}

.u-mt180 {
  margin-top: 180px !important;
  margin-top: 11.25rem !important;
}

.u-mt190 {
  margin-top: 190px !important;
  margin-top: 11.875rem !important;
}

.u-mt200 {
  margin-top: 200px !important;
  margin-top: 12.5rem !important;
}

@media screen and (max-width: 767px) {
  .u-mtSp10 {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .u-mtSp20 {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .u-mtSp30 {
    margin-top: 30px !important;
    margin-top: 1.875rem !important;
  }
  .u-mtSp40 {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .u-mtSp50 {
    margin-top: 50px !important;
    margin-top: 3.125rem !important;
  }
  .u-mtSp60 {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .u-mtSp70 {
    margin-top: 70px !important;
    margin-top: 4.375rem !important;
  }
  .u-mtSp80 {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .u-mtSp90 {
    margin-top: 90px !important;
    margin-top: 5.625rem !important;
  }
  .u-mtSp100 {
    margin-top: 100px !important;
    margin-top: 6.25rem !important;
  }
  .u-mtSp110 {
    margin-top: 110px !important;
    margin-top: 6.875rem !important;
  }
  .u-mtSp120 {
    margin-top: 120px !important;
    margin-top: 7.5rem !important;
  }
  .u-mtSp130 {
    margin-top: 130px !important;
    margin-top: 8.125rem !important;
  }
  .u-mtSp140 {
    margin-top: 140px !important;
    margin-top: 8.75rem !important;
  }
  .u-mtSp150 {
    margin-top: 150px !important;
    margin-top: 9.375rem !important;
  }
  .u-mtSp160 {
    margin-top: 160px !important;
    margin-top: 10rem !important;
  }
  .u-mtSp170 {
    margin-top: 170px !important;
    margin-top: 10.625rem !important;
  }
  .u-mtSp180 {
    margin-top: 180px !important;
    margin-top: 11.25rem !important;
  }
  .u-mtSp190 {
    margin-top: 190px !important;
    margin-top: 11.875rem !important;
  }
  .u-mtSp200 {
    margin-top: 200px !important;
    margin-top: 12.5rem !important;
  }
}
.u-w300 {
  font-weight: 300;
}

.u-w400 {
  font-weight: 400;
}

.u-w500 {
  font-weight: 500;
}

.u-w600 {
  font-weight: 600;
}

.u-w700 {
  font-weight: 700;
}

.u-w900 {
  font-weight: 900;
}/*# sourceMappingURL=style.css.map */