html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

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

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

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
}

body {
  color: #333;
  font-family: "HiraKakuStdN", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.0416666667vw;
  font-feature-settings: "palt";
  line-height: 1.6;
}
@media screen and (max-width: 640px) {
  body {
    font-size: 3.4375vw;
  }
}

.c-section-heading {
  font-size: 1.7708333333vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .c-section-heading {
    font-size: 5.3125vw;
  }
}

.c-section-heading__accent {
  color: #f96875;
  font-size: 2.5vw;
}
@media screen and (max-width: 640px) {
  .c-section-heading__accent {
    font-size: 7.5vw;
  }
}

.c-line_btm {
  display: block;
  background-image: repeating-linear-gradient(to right, #0abab5 0, #0abab5 0.625vw, transparent 0.625vw, transparent 0.8333333333vw);
  background-repeat: no-repeat;
  background-size: 100% 0.15625vw;
  background-position: 0 100%;
  margin: 0 auto;
  padding-bottom: 0.5208333333vw;
  padding-inline: 0.78125vw;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .c-line_btm {
    background-image: repeating-linear-gradient(to right, #0abab5 0, #0abab5 1.875vw, transparent 1.875vw, transparent 2.5vw);
    background-size: 100% 0.46875vw;
    padding-bottom: 2.34375vw;
    padding-inline: 3.125vw;
  }
}

.c-title__blue {
  background: #0bbab5;
  border-radius: 52.03125vw;
  color: #fff;
  font-size: 1.7708333333vw;
  margin: 0 auto;
  max-width: 26.5625vw;
  padding-block: 1.0416666667vw;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .c-title__blue {
    font-size: 5.3125vw;
    max-width: 70.3125vw;
    padding-block: 1.5625vw;
  }
}

.u-color_blue {
  color: #0abab5;
}

.u-line {
  background: linear-gradient(transparent 60%, #fbd962 60%);
  padding-bottom: 0.15625vw;
}
@media screen and (max-width: 640px) {
  .u-line {
    padding-bottom: 0.46875vw;
  }
}

.u-flex {
  display: flex;
  column-gap: 0.5208333333vw;
}

.u-bg_white {
  background: #fff;
  margin: 0 auto;
  padding-block: 1.3020833333vw;
  padding-inline: 3.125vw;
  position: relative;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .u-bg_white {
    padding-block: 5.46875vw;
    padding-inline: 8.59375vw;
  }
}

.u-bg_white:after {
  content: "";
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #fff;
  display: block;
  height: 1.5625vw;
  width: 2.6041666667vw;
  position: absolute;
  bottom: -1.0416666667vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  .u-bg_white:after {
    height: 4.6875vw;
    width: 7.8125vw;
    bottom: -3.125vw;
  }
}

.u-bggray {
  background: #a3a3a3 !important;
  color: #fff;
}

.u-bgblue-l {
  background: #b4f6f3 !important;
}

.u-bgblue-d {
  background: #0abab5 !important;
  color: #fff;
}

.u-font-l {
  font-size: 1.5625vw !important;
}

.u-font500 {
  font-weight: 500 !important;
}

.pc-show {
  display: block;
}
@media screen and (max-width: 640px) {
  .pc-show {
    display: none;
  }
}

.sp-show {
  display: none;
}
@media screen and (max-width: 640px) {
  .sp-show {
    display: block;
  }
}

.js-fade-up {
  opacity: 0;
  transform: translateY(2.0833333333vw);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
@media screen and (max-width: 640px) {
  .js-fade-up {
    transform: translateY(6.25vw);
  }
}

.js-fade-up.is-active {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 640px) {
  .u-txt-s {
    font-size: 4.53125vw;
    text-shadow: 0 0 1.5625vw rgb(255, 255, 255), 0 0 3.125vw rgba(255, 255, 255, 0.9), 0 0 4.6875vw rgba(255, 255, 255, 0.75), 0 0 6.25vw rgba(255, 255, 255, 0.55);
  }
}

.p-index__mv .p-index__mv-cont {
  background: url(../img/bg-mv.jpg) no-repeat;
  background-size: cover;
  padding-block: 1.3020833333vw;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-cont {
    background: url(../img/bg-mv_sp.jpg) no-repeat;
    background-size: cover;
    padding-block: 10.9375vw 23.4375vw;
  }
}
.p-index__mv .p-index__mv-title {
  font-size: 2.1875vw;
  font-weight: 600;
  letter-spacing: -0.08rem;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-title {
    font-size: 6.5625vw;
    line-height: 1;
  }
}
.p-index__mv .p-index__mv-title-txt {
  text-shadow: 0 0 0.5208333333vw rgb(255, 255, 255), 0 0 1.0416666667vw rgba(255, 255, 255, 0.9), 0 0 1.5625vw rgba(255, 255, 255, 0.75), 0 0 2.0833333333vw rgba(255, 255, 255, 0.55);
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-title-txt {
    text-shadow: 0 0 1.5625vw rgb(255, 255, 255), 0 0 3.125vw rgba(255, 255, 255, 0.9), 0 0 4.6875vw rgba(255, 255, 255, 0.75), 0 0 6.25vw rgba(255, 255, 255, 0.55);
  }
}
.p-index__mv .p-index__mv-title-price {
  font-size: 2.6041666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-title-price {
    font-size: 7.8125vw;
  }
}
.p-index__mv .p-index__mv-txt {
  color: #534f48;
  font-size: 1.40625vw;
  font-weight: 600;
  margin-top: 0.2rem;
  text-shadow: 0 0 0.5208333333vw rgb(255, 255, 255), 0 0 1.0416666667vw rgba(255, 255, 255, 0.9), 0 0 1.5625vw rgba(255, 255, 255, 0.75), 0 0 2.0833333333vw rgba(255, 255, 255, 0.55);
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-txt {
    font-size: 3.4375vw;
    margin-top: 3.125vw;
  }
}
.p-index__mv .p-index__mv-diet {
  aspect-ratio: 933/372;
  max-width: 24.4791666667vw;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-diet {
    aspect-ratio: 632/254;
    max-width: 49.375vw;
  }
}
.p-index__mv .p-index__mv__cont {
  max-width: 32.2916666667vw;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv__cont {
    max-width: 51.5625vw;
  }
}
.p-index__mv .p-index__mv-download-links {
  display: grid;
  grid-template-columns: 8.2291666667vw 10.3125vw 4.4791666667vw 4.3229166667vw;
  column-gap: 0.5208333333vw;
  justify-items: center;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-download-links {
    grid-template-columns: 24.53125vw 30.9375vw;
    max-width: 58.90625vw;
    margin: 4.6875vw auto 7.8125vw;
  }
}
.p-index__mv .p-index__mv-download-txt {
  font-size: 0.625vw;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-download-txt {
    font-size: 3.75vw;
    margin-top: 4.6875vw;
    text-align: center;
  }
}
.p-index__mv .p-index__mv-image {
  aspect-ratio: 663/658;
  max-width: 16.6666666667vw;
  margin: 1.0416666667vw auto 0;
}
.p-index__mv .p-index__mv-download-txt:after {
  content: "";
  background: #0abab5;
  clip-path: polygon(0 100%, 0 0, 100% 50%);
  display: block;
  height: 0.625vw;
  width: 0.625vw;
  position: absolute;
  right: -1.0416666667vw;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
  .p-index__mv .p-index__mv-download-txt:after {
    display: none;
  }
}
.p-index__mv .p-index__mv-download-caption {
  font-size: 0.8333333333vw;
  font-weight: 600;
  text-align: center;
  transform: translateX(-1.5625vw);
}
.p-index__mv .p-index__mv-download {
  background: #fff;
  border-radius: 1.0416666667vw;
  padding-inline: 1.3020833333vw;
  padding-block: 1.0416666667vw 0.5208333333vw;
}
.p-index__mv .p-index__mv-download-qr {
  margin-left: 0.5208333333vw;
}

.p-index__problem {
  background: #ecf9f9;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__problem {
    padding-block: 12.5vw;
  }
}
.p-index__problem .p-index__problem-txt {
  line-height: 1.6;
  margin-top: 2.34375vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__problem .p-index__problem-txt {
    margin-top: 4.6875vw;
    letter-spacing: 0.1rem;
    padding-inline: 3.125vw;
    text-align: left;
  }
}
.p-index__problem .p-index__problem-image {
  aspect-ratio: 1995/919;
  margin-top: 2.34375vw;
}
@media screen and (max-width: 640px) {
  .p-index__problem .p-index__problem-image {
    aspect-ratio: 1188/676;
    margin-top: 4.6875vw;
  }
}
.p-index__problem .p-index__problem-result {
  font-size: 1.7708333333vw;
  font-weight: 700;
  margin-top: 2.34375vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__problem .p-index__problem-result {
    font-size: 3.125vw;
    margin-top: 4.6875vw;
  }
}

.p-index__fail {
  background: url(../img/bg-eatcoach.jpg) no-repeat;
  background-size: cover;
  padding-block: 6.25vw 14.5833333333vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-index__fail {
    background: url(../img/bg-eatcoach_sp.jpg) no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column-reverse;
    row-gap: 4.6875vw;
    padding-block: 18.75vw 13.28125vw;
  }
}
.p-index__fail .p-index__fail-background {
  aspect-ratio: 1266/1236;
  max-width: 32.96875vw;
  position: absolute;
  left: 10.4166666667vw;
  top: 8.3333333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__fail .p-index__fail-background {
    aspect-ratio: 986/865;
    max-width: 78.125vw;
    margin: 0 auto;
    position: static;
  }
}
.p-index__fail .p-index__fail-image {
  aspect-ratio: 233/119;
  max-width: 6.7708333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__fail .p-index__fail-image {
    max-width: 20.3125vw;
  }
}
.p-index__fail .p-index__fail-content {
  max-width: 27.8645833333vw;
  margin: 2.6041666667vw 0 0 auto;
}
@media screen and (max-width: 640px) {
  .p-index__fail .p-index__fail-content {
    max-width: 83.59375vw;
    margin: 7.8125vw auto 0;
  }
}
.p-index__fail .p-index__fail-txt {
  color: #fff;
  margin: 0 0 0 auto;
  padding-right: 4.6875vw;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .p-index__fail .p-index__fail-txt {
    margin: 0 auto;
  }
}
.p-index__fail .p-index__fail-txt-highlight {
  color: #fbd962;
  font-size: 1.5625vw;
}
@media screen and (max-width: 640px) {
  .p-index__fail .p-index__fail-txt-highlight {
    font-size: 5vw;
  }
}

.p-index__exclusive {
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive {
    padding-block: 12.5vw;
  }
}
.p-index__exclusive .p-index__exclusive-txt {
  letter-spacing: 0.01rem;
  margin-top: 2.0833333333vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-txt {
    margin-top: 0;
    text-align: left;
  }
}
.p-index__exclusive .p-index__exclusive-result {
  font-size: 1.25vw;
  font-weight: 700;
  margin-top: 4.1666666667vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-result {
    font-size: 3.75vw;
    margin-top: 12.5vw;
  }
}
.p-index__exclusive .p-index__exclusive-heading {
  font-size: 1.25vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-heading {
    font-size: 3.75vw;
  }
}
.p-index__exclusive .p-index__exclusive-item {
  border: solid 1px #534f48;
  background: #fff;
  display: flex;
  align-items: center;
  column-gap: 1.0416666667vw;
  margin-top: 0.5208333333vw;
  font-size: 1.25vw;
  padding: 0.5208333333vw 0.78125vw;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-item {
    column-gap: 3.125vw;
    margin-top: 1.5625vw;
    font-size: 2.8125vw;
    width: 52.34375vw;
    padding-block: 2.34375vw;
    padding-inline: 8.59375vw 2.34375vw;
  }
}
.p-index__exclusive .p-index__exclusive-item-image {
  max-width: 1.7708333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-item-image {
    max-width: 5.3125vw;
  }
}
.p-index__exclusive .p-index__exclusive-content {
  background: rgba(160, 222, 220, 0.4);
  display: flex;
  margin-top: 5.2083333333vw;
  padding-block: 1.0416666667vw 2.6041666667vw;
  padding-inline: 1.0416666667vw;
  position: relative;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-content {
    flex-direction: row-reverse;
    margin-top: 10.9375vw;
    padding-block: 5.46875vw;
    padding-inline: 3.125vw;
  }
}
.p-index__exclusive .p-index__exclusive-phone {
  aspect-ratio: 558/1172;
  max-width: 14.84375vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-phone {
    aspect-ratio: 504/1056;
    max-width: 39.375vw;
    left: 3.125vw;
    transform: translateY(-50%);
  }
}
.p-index__exclusive .p-index__exclusive-image {
  aspect-ratio: 594/870;
  max-width: 15.46875vw;
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-image {
    aspect-ratio: 488/400;
    max-width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .p-index__exclusive .p-index__exclusive-cont {
    display: grid;
    align-items: center;
    grid-template-columns: auto 38.125vw;
    margin-top: 6.25vw;
    padding-inline: 3.125vw;
  }
}

.p-index__advice {
  background: url(../img/bg-eatcoach02.jpg) no-repeat;
  background-size: cover;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__advice {
    padding-block: 12.5vw;
  }
}
.p-index__advice .p-index__advice-video {
  position: relative;
  text-align: center;
}
.p-index__advice .p-index__advice-video video {
  aspect-ratio: 16/9;
  box-shadow: rgba(151, 151, 151, 0.1803921569) -1px 0 1px;
  object-fit: cover;
  max-width: 39.5833333333vw;
  margin: 2.34375vw auto 0;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__advice .p-index__advice-video video {
    max-width: 100%;
    margin-top: 6.25vw;
    padding-inline: 3.125vw;
  }
}
.p-index__advice .p-index__advice-video video::-webkit-media-controls-overflow-button {
  display: none;
}

.p-index__answer {
  padding-block: 6.25vw;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .p-index__answer {
    background: #a0dedc;
    padding-block: 12.5vw;
  }
}
.p-index__answer:before {
  content: "";
  background: #a0dedc;
  border-radius: 50%;
  display: block;
  height: 37.4479166667vw;
  width: 115.2604166667vw;
  position: absolute;
  left: 50%;
  top: 36.9791666667vw;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 640px) {
  .p-index__answer:before {
    display: none;
  }
}
.p-index__answer .p-index__answer-list {
  display: grid;
  grid-template-columns: repeat(3, 16.875vw);
  column-gap: 0.78125vw;
  margin-top: 2.6041666667vw;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-list {
    grid-template-columns: 89.375vw;
    justify-content: center;
    row-gap: 6.25vw;
    margin-top: 7.03125vw;
  }
}
.p-index__answer .p-index__answer-item-a {
  position: relative;
  height: 35.4166666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-a {
    height: 103.75vw;
  }
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-a.--01 {
    height: 93.59375vw;
  }
}
.p-index__answer .p-index__answer-item-a picture,
.p-index__answer .p-index__answer-item-a img {
  display: block;
  height: 100%;
  width: 100%;
}
.p-index__answer .p-index__answer-item-a img {
  object-fit: fill;
}
.p-index__answer .p-index__answer-item-a-cont {
  font-size: 0.8333333333vw;
  line-height: 1.3;
  max-width: 11.6666666667vw;
  position: absolute;
  top: 8.3854166667vw;
  right: 1.0416666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-a-cont {
    font-size: 3.4375vw;
    line-height: 1.2;
    max-width: 59.21875vw;
    top: 32.03125vw;
    right: 9.375vw;
  }
}
.p-index__answer .p-index__answer-item-a-txt:not(:first-child) {
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-a-txt:not(:first-child) {
    margin-top: 3.125vw;
  }
}
.p-index__answer .p-index__answer-item-q {
  background: #fbd962;
  border-radius: 15px;
  display: grid;
  grid-template-rows: 3.75vw auto;
  min-height: 9.7395833333vw;
  min-width: 15.3125vw;
  margin: 0 auto -6.5104166667vw;
  padding-inline: 1.0416666667vw;
  padding-block: 1.3020833333vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-q {
    grid-template-rows: 10.9375vw auto;
    min-height: 34.53125vw;
    max-width: 79.21875vw;
    margin-bottom: -25vw;
    padding-block: 6.25vw;
  }
}
.p-index__answer .p-index__answer-item-q:after {
  content: "";
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #fbd962;
  display: block;
  height: 1.5625vw;
  width: 2.0833333333vw;
  position: absolute;
  left: 50%;
  bottom: -0.78125vw;
  transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-q:after {
    height: 4.6875vw;
    width: 6.25vw;
    bottom: -2.34375vw;
  }
}
.p-index__answer .p-index__answer-item-q-txt {
  font-weight: 500;
  align-self: center;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-q-txt {
    font-weight: 600;
    font-size: 3.75vw;
  }
}
.p-index__answer .p-index__answer-item-icon {
  align-self: center;
  max-width: 3.75vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-icon {
    max-width: 15.625vw;
  }
}
.p-index__answer .p-index__answer-item-icon.--02 {
  max-width: 3.0208333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-icon.--02 {
    max-width: 10.625vw;
  }
}
.p-index__answer .p-index__answer-item-icon.--03 {
  max-width: 2.9166666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-item-icon.--03 {
    max-width: 10.3125vw;
  }
}
.p-index__answer .p-index__answer-txt {
  font-size: 1.25vw;
  font-weight: 700;
  margin-top: 2.6041666667vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__answer .p-index__answer-txt {
    font-size: 3.75vw;
    line-height: 1.6;
    margin-top: 7.8125vw;
  }
}

.p-index__learn {
  background: url(../img/bg-eatcoach03.jpg) no-repeat;
  background-size: cover;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__learn {
    padding-block: 12.5vw;
  }
}
.p-index__learn .p-index__learn-txt {
  font-size: 1.25vw;
  font-weight: 700;
  margin: 1.5625vw auto 0;
  padding-inline: 4.6875vw;
  text-align: center;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .p-index__learn .p-index__learn-txt {
    font-size: 3.75vw;
    margin-top: 4.6875vw;
  }
}
.p-index__learn .p-index__learn-images {
  display: grid;
  grid-template-columns: repeat(3, 17.9166666667vw);
  justify-items: center;
  justify-content: space-between;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 640px) {
  .p-index__learn .p-index__learn-images {
    grid-template-columns: repeat(3, 31.71875vw);
    margin-top: 6.25vw;
  }
}
.p-index__learn .p-index__learn-image {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 640px) {
  .p-index__learn .p-index__learn-image {
    aspect-ratio: 440/441;
  }
}
@media screen and (max-width: 640px) {
  .p-index__learn .p-index__learn-image:first-child {
    aspect-ratio: 441/441;
  }
}

.p-index__achieve {
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__achieve {
    padding-block: 12.5vw;
  }
}
.p-index__achieve .p-index__achieve-content {
  display: grid;
  grid-template-columns: 22.7604166667vw 32.03125vw;
  column-gap: 1.0416666667vw;
  justify-content: space-between;
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-content {
    grid-template-columns: 1fr;
    margin-top: 7.8125vw;
    row-gap: 7.03125vw;
  }
}
.p-index__achieve .p-index__achieve-image {
  aspect-ratio: 694/674;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-image {
    max-width: 54.21875vw;
    margin: 0 auto;
    width: 100%;
  }
}
.p-index__achieve .p-index__achieve-case-label {
  background: #0bbab5;
  color: #fff;
  display: block;
  font-size: 1.25vw;
  padding: 0.5208333333vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-case-label {
    font-size: 3.75vw;
    padding: 1.5625vw;
  }
}
.p-index__achieve .p-index__achieve-case-term {
  border: solid 1px #0bbab5;
  display: inline-block;
  font-size: 1.25vw;
  padding-block: 1.3020833333vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-case-term {
    font-size: 3.75vw;
    padding-block: 3.90625vw;
  }
}
.p-index__achieve .p-index__achieve-case-item {
  display: grid;
  grid-template-columns: 8.3333333333vw auto;
  column-gap: 1.0416666667vw;
  align-items: center;
  margin-top: 0.78125vw;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-case-item {
    grid-template-columns: 25vw auto;
    column-gap: 3.125vw;
    margin-top: 1.5625vw;
  }
}
.p-index__achieve .p-index__achieve-case-desc {
  font-size: 1.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__achieve .p-index__achieve-case-desc {
    font-size: 3.75vw;
  }
}

.p-index__step {
  background: #f4fefe;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__step {
    padding-block: 12.5vw;
  }
}
.p-index__step .p-index__step-list {
  display: grid;
  grid-template-columns: repeat(3, 16.6666666667vw);
  column-gap: 1.0416666667vw;
  justify-content: space-between;
  margin-top: 4.1666666667vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-list {
    grid-template-columns: 1fr;
    row-gap: 8.59375vw;
    margin-inline: 4.6875vw;
  }
}
.p-index__step .p-index__step-image {
  aspect-ratio: 1/1;
  max-width: 9.0104166667vw;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-image {
    grid-area: img;
    max-width: 27.03125vw;
  }
}
.p-index__step .p-index__step-item {
  background: #fffaea;
  border-radius: 20px;
  padding-inline: 1.3020833333vw;
  padding-block: 6.7708333333vw 3.6458333333vw;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-item {
    display: grid;
    grid-template-columns: 27.03125vw auto;
    grid-template-areas: "num num" "img txt";
    justify-items: center;
    align-items: center;
    column-gap: 6.25vw;
    padding-block: 3.125vw 4.6875vw;
    padding-inline: 4.6875vw;
  }
}
.p-index__step .p-index__step-item:nth-of-type(2) {
  background: #fef3d1;
  z-index: 2;
}
.p-index__step .p-index__step-item:last-child {
  background: #feedb8;
  z-index: 0;
}
.p-index__step .p-index__step-number {
  font-family: "Oswald", sans-serif;
  font-size: 6.7708333333vw;
  line-height: 1;
  position: absolute;
  top: -3.125vw;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-number {
    font-size: 17.1875vw;
    grid-area: num;
    position: static;
    transform: unset;
  }
}
.p-index__step .p-index__step-arrow {
  color: #fffaea;
  height: 6.25vw;
  overflow: visible;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.8125vw;
  z-index: 3;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-arrow {
    height: 18.75vw;
    width: 8.4375vw;
  }
}
.p-index__step .p-index__step-arrow:nth-of-type(1) {
  left: 16.1458333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-arrow:nth-of-type(1) {
    left: 50%;
    top: 46.09375vw;
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-index__step .p-index__step-arrow:nth-of-type(2) {
  color: #fef3d1;
  left: 33.8541666667vw;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-arrow:nth-of-type(2) {
    left: 50%;
    top: 107.03125vw;
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-index__step .p-index__step-txt {
  grid-area: txt;
  line-height: 1.6;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 640px) {
  .p-index__step .p-index__step-txt {
    margin-top: 0;
  }
}

.p-index__compare {
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__compare {
    padding-block: 12.5vw;
  }
}
.p-index__compare .p-index__compare-table-wrap {
  margin-top: 2.6041666667vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__compare .p-index__compare-table-wrap {
    margin-top: 6.25vw;
  }
}
.p-index__compare .p-index__compare-brand-image {
  aspect-ratio: 302/304;
  max-width: 4.1666666667vw;
  width: 100%;
}
.p-index__compare .p-index__compare-heading-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.p-index__compare .p-index__compare-table {
  border-collapse: collapse;
  width: 100%;
}
.p-index__compare .p-index__compare-table th,
.p-index__compare .p-index__compare-table td {
  border: 1px solid #0abab5;
  background: #f7f5f1;
  font-size: 1.25vw;
  font-weight: 700;
  height: 6.7708333333vw;
  min-width: 14.3229166667vw;
  padding-block: 2.6041666667vw;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .p-index__compare .p-index__compare-table th,
  .p-index__compare .p-index__compare-table td {
    font-size: 3.75vw;
    height: 18.125vw;
    padding-block: 6.25vw !important;
  }
}
.p-index__compare .p-index__compare-table th:not(.u-bgblue-d),
.p-index__compare .p-index__compare-table td:not(:nth-child(3)) {
  width: 14.3229166667vw;
}
.p-index__compare .p-index__compare-table .u-bgblue-d,
.p-index__compare .p-index__compare-table td:nth-child(3) {
  width: 23.1770833333vw;
}
@media screen and (max-width: 640px) {
  .p-index__compare .p-index__compare-table th:nth-child(1),
  .p-index__compare .p-index__compare-table td:nth-child(1) {
    width: 18.90625vw;
  }
  .p-index__compare .p-index__compare-table th:nth-child(2),
  .p-index__compare .p-index__compare-table td:nth-child(2) {
    width: 21.875vw;
  }
  .p-index__compare .p-index__compare-table th:nth-child(3),
  .p-index__compare .p-index__compare-table td:nth-child(3) {
    background: #fff;
    width: 50.625vw;
  }
  .p-index__compare .p-index__compare-table td:nth-child(3) {
    font-size: 4.6875vw !important;
  }
}
.p-index__compare .p-index__compare-heading {
  height: 5.2083333333vw !important;
  padding-block: 1.5625vw !important;
}
@media screen and (max-width: 640px) {
  .p-index__compare .p-index__compare-heading {
    height: 15vw !important;
  }
}

.p-index__use {
  background: linear-gradient(29deg, #c1f6f4 0%, #eefcfb 100%);
  padding-top: 5.2083333333vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__use {
    padding-top: 10.9375vw;
    padding-bottom: 12.5vw;
  }
}
.p-index__use .p-index__use-intro-txt-wrap {
  flex: 1;
}
.p-index__use .p-index__use-intro-txt {
  letter-spacing: -0.04em;
  font-size: 1.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-intro-txt {
    font-size: 3.75vw;
    letter-spacing: 0;
  }
}
.p-index__use .p-index__use-intro {
  margin-top: 1.5625vw;
  margin-bottom: 1.0416666667vw;
  display: flex;
  gap: 3.125vw;
  padding-inline: 2.8645833333vw;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-intro {
    flex-direction: column-reverse;
    margin-bottom: 12.5vw;
    gap: 6.25vw;
    margin-top: 6.25vw;
  }
}
.p-index__use .p-index__use-intro-image {
  aspect-ratio: 694/698;
  max-width: 20.0520833333vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-intro-image {
    max-width: 54.6875vw;
  }
}
.p-index__use .p-index__use-panel {
  padding: 1.5625vw 1.5625vw 2.0833333333vw;
  background: #fff;
}
.p-index__use .p-index__use-voice {
  margin-top: 3.125vw;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice {
    margin-bottom: 6.25vw;
    padding: 6.25vw 3.125vw;
    margin-top: 10.9375vw;
  }
}
.p-index__use .p-index__use-profile {
  aspect-ratio: 1/1;
  position: relative;
  max-width: 20.8333333333vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-profile {
    max-width: 64.0625vw;
  }
}
.p-index__use .p-index__use-profile::before {
  content: "";
  background-size: contain;
  background-position: left center;
  width: 9.1666666667vw;
  aspect-ratio: 16/9;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-profile::before {
    width: 32.8125vw;
  }
}
.p-index__use .p-index__use-voice-profile::before {
  background-image: url(../img/img-eatcoach11.webp);
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-profile::before {
    left: -6.25vw;
  }
}
.p-index__use .p-index__use-profile-name {
  background: #333333;
  color: #fff;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 1.25vw;
  line-height: 1;
  padding-inline: 1.3020833333vw;
  white-space: nowrap;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-profile-name {
    font-size: 3.75vw;
  }
}
.p-index__use .p-index__use-voice-profile-name {
  padding-block: 0.5208333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-profile-name {
    padding-inline: 3.90625vw;
    padding-block: 1.5625vw;
  }
}
.p-index__use .p-index__use-card {
  display: flex;
  align-items: center;
  gap: 3.125vw;
  padding-inline: 2.6041666667vw;
}
.p-index__use .p-index__use-voice-card {
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-card {
    padding-inline: 0;
    gap: 10.9375vw;
    flex-direction: column;
    margin-bottom: 10.9375vw;
  }
}
.p-index__use .p-index__use-body {
  flex: 1;
}
.p-index__use .p-index__use-txt {
  font-size: 1.25vw;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-txt {
    font-size: 3.75vw;
  }
}
.p-index__use .p-index__use-voice-points,
.p-index__use .p-index__use-voice-flow {
  background: #ffe4e6;
  position: relative;
  padding: 4.1666666667vw 2.6041666667vw 2.6041666667vw;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-points,
  .p-index__use .p-index__use-voice-flow {
    padding: 14.0625vw 4.6875vw 7.8125vw;
  }
}
.p-index__use .p-index__use-voice-flow {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-points {
    margin-bottom: 10.9375vw;
  }
}
.p-index__use .p-index__use-voice-list {
  padding-left: 1.5em;
}
.p-index__use .p-index__use-voice-item {
  font-size: 1.25vw;
  list-style: disc;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-item {
    font-size: 3.75vw;
  }
}
.p-index__use .p-index__use-voice-label {
  max-width: 17.0833333333vw;
  width: 100%;
  display: block;
  text-align: center;
  padding-block: 1.0416666667vw;
  line-height: 1;
  font-size: 1.25vw;
  color: #fff;
  background: #f96875;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.5208333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-label {
    border-radius: 1.5625vw;
    font-size: 3.75vw;
    max-width: 51.25vw;
    padding-block: 3.125vw;
  }
}
.p-index__use .p-index__use-voice-label::before {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
  display: inline-block;
  width: 1.4583333333vw;
  aspect-ratio: 16/9;
  background: #f96875;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  -webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-label::before {
    width: 4.375vw;
  }
}
.p-index__use .p-index__use-voice-flow-txt {
  font-size: 1.25vw;
  margin-bottom: 1em;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-voice-flow-txt {
    font-size: 3.75vw;
  }
}
.p-index__use .last.p-index__use-voice-flow-txt {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-supervisor-profile {
    margin-inline: auto;
  }
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-supervisor {
    padding: 4.6875vw 6.25vw 6.25vw;
  }
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-supervisor-card {
    flex-direction: column;
    padding: 0;
  }
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-supervisor-txt {
    letter-spacing: 0;
  }
}
.p-index__use .p-index__use-supervisor-profile-name {
  padding-inline: 1.3020833333vw;
  padding-block: 0.78125vw;
}
.p-index__use .p-index__use-supervisor-profile::before {
  background-image: url(../img/img-eatcoach13.webp);
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .p-index__use .p-index__use-supervisor-profile::before {
    left: -7.8125vw;
  }
}

.p-index__pro {
  background: url(../img/bg-eatcoach04.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro {
    padding-block: 12.5vw;
    background: url(../img/bg-eatcoach04_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
.p-index__pro .p-index__pro-content {
  background: #fff;
  border: 0.625vw solid #b4f6f3;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 3.6458333333vw;
  margin-top: 1.5625vw;
  padding: 2.6041666667vw 0.5208333333vw 2.0833333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-content {
    border: 2.03125vw solid #b4f6f3;
    display: block;
    padding: 2.34375vw;
    margin-top: 6.25vw;
  }
}
.p-index__pro .p-index__pro-image {
  aspect-ratio: 464/972;
  max-width: 12.0833333333vw;
  width: 100%;
}
.p-index__pro .p-index__pro-price {
  max-width: 27.8125vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price {
    max-width: 100%;
  }
}
.p-index__pro .p-index__pro-price-before {
  background: #f1eeee;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  padding-inline: 0.5208333333vw;
  padding-block: 0.78125vw;
  margin-bottom: 1.8229166667vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-before {
    justify-content: flex-start;
    margin-bottom: 4.6875vw;
  }
}
.p-index__pro .p-index__pro-price-before-image {
  aspect-ratio: 1/1;
  max-width: 7.9166666667vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-before-image {
    aspect-ratio: 322/244;
    max-width: 24.21875vw;
  }
}
.p-index__pro .p-index__pro-price-before-txt {
  font-size: 1.25vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-before-txt {
    flex: 1;
    font-size: 3.4375vw;
  }
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-arrow {
    display: grid;
    grid-template-columns: 3.125vw 3.125vw 3.125vw;
    gap: 3.90625vw;
    justify-content: center;
    margin-bottom: 4.6875vw;
  }
}
.p-index__pro .p-index__pro-price-arrow-line {
  display: block;
  margin-inline: auto;
  width: 1.5625vw;
  aspect-ratio: 1/1;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  -webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
  margin-bottom: 0.5208333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-arrow-line {
    max-width: 100%;
    width: 100%;
    background: #0abab5 !important;
  }
}
.p-index__pro .p-index__pro-price-arrow-line:nth-child(1) {
  background: #c1f6f4;
}
.p-index__pro .p-index__pro-price-arrow-line:nth-child(2) {
  background: #6ececb;
}
.p-index__pro .p-index__pro-price-arrow-line:nth-child(3) {
  background: #0abab5;
}
.p-index__pro .p-index__pro-price-arrow-line:last-child {
  margin-bottom: 0;
}
.p-index__pro .p-index__pro-price-after {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.0833333333vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-after {
    flex-direction: column;
    position: relative;
    padding-right: 40%;
    padding-block: 9.375vw;
    background: url(../img/img-eatcoach15.webp) no-repeat;
    background-size: contain;
    background-position: center right 15%;
  }
}
.p-index__pro .p-index__pro-price-after-image {
  aspect-ratio: 302/304;
  max-width: 6.875vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-after-image {
    max-width: 13.28125vw;
  }
}
.p-index__pro .p-index__pro-price-after-value {
  letter-spacing: -0.04em;
}
.p-index__pro .p-index__pro-price-after-txt {
  font-size: 1.875vw;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-after-txt {
    font-size: 5.625vw;
  }
}
.p-index__pro .p-index__pro-price-after-value-ltext {
  font-size: 2.5vw;
}
@media screen and (max-width: 640px) {
  .p-index__pro .p-index__pro-price-after-value-ltext {
    font-size: 7.5vw;
  }
}

.p-index__faq {
  background: #7dd9d6;
  padding-block: 6.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__faq {
    padding-block: 12.5vw;
  }
}
.p-index__faq .p-index__faq-item.first {
  margin-top: 2.8645833333vw;
}
@media screen and (max-width: 640px) {
  .p-index__faq .p-index__faq-item.first {
    margin-top: 6.25vw;
  }
}
.p-index__faq .p-index__faq-item {
  margin-bottom: 1.1458333333vw;
  background: #fff;
  padding-block: 2.8645833333vw;
  padding-inline: 4.6875vw;
  border: 1px solid #2aaba6;
}
@media screen and (max-width: 640px) {
  .p-index__faq .p-index__faq-item {
    padding-inline: 7.8125vw;
    padding-block: 7.8125vw;
  }
}
.p-index__faq .p-index__faq-question {
  font-size: 1.25vw;
  padding-bottom: 2.0833333333vw;
  margin-bottom: 2.0833333333vw;
  background-image: repeating-linear-gradient(90deg, #2aaba6, #2aaba6 0.4166666667vw, transparent 0.4166666667vw, transparent 0.625vw);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}
@media screen and (max-width: 640px) {
  .p-index__faq .p-index__faq-question {
    font-size: 3.75vw;
    padding-bottom: 4.6875vw;
    margin-bottom: 4.6875vw;
    background-image: repeating-linear-gradient(90deg, #2aaba6, #2aaba6 1.25vw, transparent 1.25vw, transparent 1.875vw);
  }
}
.p-index__faq .p-index__faq-answer {
  font-size: 1.25vw;
}
@media screen and (max-width: 640px) {
  .p-index__faq .p-index__faq-answer {
    font-size: 3.75vw;
  }
}

.l-page-wrap {
  overflow: hidden;
}

.l-inner {
  max-width: 52.0833333333vw;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .l-inner {
    max-width: calc(100% - 6.25vw);
  }
}

.l-footer {
  background: url(../img/bg-eatcoach05.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding-block-start: 3.125vw;
  padding-block-end: 2.0833333333vw;
}
@media screen and (max-width: 640px) {
  .l-footer {
    padding-block-start: 12.5vw;
    padding-block-end: 17.1875vw;
    background-position: center left 30%;
  }
}

.l-footer__content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.0833333333vw;
}
@media screen and (max-width: 640px) {
  .l-footer__content {
    gap: 9.375vw;
    margin-bottom: 9.375vw;
  }
}

.l-footer__body {
  flex: 1;
}

.l-footer__image {
  max-width: 16.8229166667vw;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .l-footer__image {
    max-width: 100%;
    flex: 1;
  }
}

.l-footer__catch {
  font-size: 1.7708333333vw;
  color: #fff;
  text-shadow: 0 0 0.2083333333vw #556966;
}
@media screen and (max-width: 640px) {
  .l-footer__catch {
    margin-bottom: 3.125vw;
    display: block;
    font-size: 5.3125vw;
  }
}

.l-footer__text {
  color: #fff;
  line-height: 1.6;
  margin-block: 0.5208333333vw 2.6041666667vw;
  text-shadow: 0 0 0.2083333333vw #556966;
}

.l-footer__download {
  display: grid;
  grid-template-columns: 6.875vw 8.4375vw 5.5729166667vw 3.90625vw;
  align-items: center;
  justify-content: space-between;
  padding-inline: 1.5625vw;
  padding-block: 0.5208333333vw;
  border-radius: 1.0416666667vw;
  background: #fff;
  max-width: 30.8854166667vw;
  width: 100%;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 640px) {
  .l-footer__download {
    display: none;
  }
}

.l-footer__download-text {
  color: #2aaba6;
  font-size: 0.6770833333vw;
  font-weight: 700;
  position: relative;
}

.l-footer__download-text::after {
  content: "";
  display: inline-block;
  background: #2aaba6;
  width: 0.5208333333vw;
  aspect-ratio: 1/1;
  clip-path: polygon(100% 41%, 0 0, 0 100%);
  -webkit-clip-path: polygon(100% 41%, 0 0, 0 100%);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.l-footer__button-link {
  max-width: 25.8333333333vw;
  width: 100%;
  margin-inline: auto;
  display: block;
}

@media screen and (max-width: 640px) {
  .l-footer__button {
    display: none;
  }
}

.l-footer__content__SP {
  display: none;
}
@media screen and (max-width: 640px) {
  .l-footer__content__SP {
    display: flex;
    justify-content: center;
    gap: 4.6875vw;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__content__SP .l-footer__download-link__SP:first-child {
    max-width: 30.46875vw;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .l-footer__content__SP .l-footer__download-link__SP:last-child {
    max-width: 38.28125vw;
    width: 100%;
  }
}

.p-index__mv-download-link:hover,
.p-index__mv-download-link:hover,
.l-footer__button-link:hover,
.l-footer__download-link:hover {
  transform: scale(0.98);
  opacity: 0.8;
}

.p-index__mv-download-link,
.p-index__mv-download-link,
.l-footer__button-link,
.l-footer__download-link {
  transition: hover 0.3s;
}
