html {
  font-size: 100%;
}

/* スマホデザインが414pxで作られている場合の,rem可変を同倍率可変にする場合は有効・不要なら削除 */
@media screen and (max-width: 540px) {
  html {
    font-size: 3.8647342995vw;
  }
}
@media screen and (min-width: 541px) {
  html {
    font-size: 20px;
  }
}

:where(.bz) img {
  width: 100%;
}

body {
  background-color: #f9f9f9;
}

.l-inner {
  padding-inline: 1.875rem;
}

/* ------------------

CTA

------------------- */
.c-cta__image {
  margin-left: -13%;
  width: 126%;
}

.c-cta__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 513/271;
}

/* ------------------

CTAボタン

------------------- */
.c-cta-btn {
  width: 117%;
}

.c-cta-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 440/149;
  transform: translateX(-56px);
  transform: translateX(-56px);
  transform: translateX(-12%);
}

/* ここにPCを時の背景 */
.bz:before {
  content: "";
  background-size: cover;
  background: url("../img/top_fv_bg.webp") no-repeat center center / cover;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: -1;
  border: 0.95rem solid #f8f8f8;
}

.bz__top {
  width: 100%;
  position: fixed;
}
.bz__bottom {
  width: 100%;
  position: fixed;
  bottom: 0;
}

.bz__inner {
  margin-inline: auto;
  max-width: 1680px;
  width: 100%;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8%;
}
@media screen and (min-width: 1040px) {
  .bz__inner {
    padding-top: 3.37rem;
  }
}

/* ロゴ */
.bz-pc-logo {
  display: none;
}
@media screen and (min-width: 1040px) {
  .bz-pc-logo {
    width: 115.32px;
    height: 104.83px;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    border-radius: 0 0 26.21px 0;
    background-color: #fff;
  }
}

.bz-pc-logo a {
  padding: 7.86px 20.97px 13.1px 10.48px;
  display: block;
}

.bz-pc-logo__image {
  width: 83.87px;
}

.bz-pc-logo__image img,
.bz-sp-logo__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 1040px) {
  .bz-sp-logo__image img {
    border-radius: 30px 0 16px 0;
  }
}

.bz-sp-logo {
  width: 70.4px;
  height: 64px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  border-radius: 0 0 16px 0;
  background-color: #fff;
}
@media screen and (min-width: 1040px) {
  .bz-sp-logo {
    border-radius: 30px 0 16px 0;
  }
}

.bz-sp-logo--top {
  width: 88px;
  height: 80px;
}

.bz-sp-logo a {
  padding: 4.8px 12.8px 8px 6.4px;
  display: block;
}

.bz-sp-logo--top .bz-sp-logo a {
  padding: 6px 16px 10px 8px;
}

.bz-sp-logo__image {
  width: 51.2px;
}

.bz-sp-logo--top .bz-sp-logo__image {
  width: 64px;
}

/* フッター */
.l-footer {
  margin-top: -2.5rem;
}

.l-top-footer {
  margin-top: -13%;
}

.l-contact-footer {
  margin-top: 13%;
}

.p-footer {
  padding-block: 10%;
  text-align: center;
  background: url("../img/footer_bg.png") no-repeat center center / cover;
}

.p-top-footer {
  padding-block: 4%;
  position: relative;
  background: url("../img/top_footer.png") no-repeat center center / cover;
}

.p-footer__text a {
  padding-block: 0.625rem;
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #fff;
}

.p-footer small {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
}

/* 左コンテンツ */
.bz-pc-left {
  display: none;
}
@media screen and (min-width: 1040px) {
  .bz-pc-left {
    width: 27%;
    display: block;
  }
}

.bz-pc-left__inner {
  padding-top: 5rem;
  max-width: 456px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  position: sticky;
  top: 50vh;
  transform: translateY(-50%);
}

.bz-pc-left__item a {
  padding-block: 0.1875rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-size: 0.7rem;
  font-weight: bold;
  letter-spacing: 0.01em;
}

.bz-pc-left__item a::before {
  content: "";
  width: 0.125rem;
  height: 0.8125rem;
  background-color: #fff;
  display: block;
}

.bz-pc-left__bottom {
  padding-block: 1.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border-radius: 40px;
}

.bz-pc-left__bottom-image {
  max-width: 300px;
  width: 70%;
}

.bz-pc-left__bottom-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 300/196;
}

.bz-pc-left__bottom-btn {
  margin-top: -1.25rem;
  margin-right: 2.1875rem;
  max-width: 440px;
  width: 110%;
}

.bz-pc-left__btn-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 440/149;
}

.bz-content {
  margin: 0 auto;
  width: 100%;
  max-width: 520px;
}
@media screen and (min-width: 1040px) {
  .bz-content {
    margin: initial;
    border-radius: 30px 30px 0 0;
  }
}

.bz-content--top {
  background-color: #f8f8f8;
}

.bz-content__inner {
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767.98px) {
  .bz__inner {
    width: 100%;
    display: block;
  }

  .bz-content__inner {
    width: 100%;
  }
}

/* ------------------

FV

------------------- */

.p-top-fv {
  width: 100%;
  position: relative;
}

@media screen and (min-width: 1040px) {
  .p-top-fv::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    position: absolute;
    border: 10px solid #f8f8f8;
    border-radius: 30px 30px 0 0;
  }
}

.p-top-fv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 828/1490;
}
@media screen and (min-width: 1040px) {
  .p-top-fv img {
    border-radius: 30px 30px 0 0;
  }
}

.p-top-fv__bottom {
  margin-top: -59%;
  width: 100%;
  position: relative;
}

.p-top-fv__bottom img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 828/500;
}

.p-top-fv__btn {
  margin-top: -46%;
}

/* ------------------

収益化達成

------------------- */
.l-achievement {
  padding-block: 1.25rem 7.8125rem;
}

.p-achievement {
  background: url("../img/achievement_bg.webp") no-repeat center bottom / cover;
}

.p-achievement__title {
  width: 100%;
}

.p-achievement__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 414/357;
}

.p-achievement__inner {
  padding-inline: 1.25rem;
}

.p-achievement__content {
  margin-top: -41%;
  padding-block: 1.625rem 2.8125rem;
  position: relative;
  background: url("../img/achievement_list_bg.webp") no-repeat center center /
    cover;
  border-radius: 27px;
}

.p-achievement__content-title {
  margin-left: 10%;
  width: 78%;
  position: relative;
  z-index: 1;
}

.p-achievement__content-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 287/144;
}

.p-achievement__list {
  display: grid;
  gap: 1.25rem;
  position: relative;
  z-index: 10;
}

.p-achievement__item:nth-child(1) .p-achievement__item-title {
  margin-left: -3%;
  width: 105%;
}
.p-achievement__item:nth-child(2) .p-achievement__item-title {
  margin-left: -9%;
  width: 103%;
}
.p-achievement__item:nth-child(3) .p-achievement__item-title {
  margin-left: -6%;
  width: 113%;
}

.p-achievement__item-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-achievement__item:nth-child(1) .p-achievement__item-title img {
  aspect-ratio: 380/153;
}
.p-achievement__item:nth-child(2) .p-achievement__item-title img {
  aspect-ratio: 385/178;
}
.p-achievement__item:nth-child(3) .p-achievement__item-title img {
  aspect-ratio: 388/174;
}

.p-achievement__item:nth-child(1) .p-achievement__item-text {
  margin-top: -1%;
  margin-left: 8%;
  width: 86%;
}
.p-achievement__item:nth-child(2) .p-achievement__item-text {
  margin-top: 1%;
  margin-left: 8%;
  width: 86%;
}
.p-achievement__item:nth-child(3) .p-achievement__item-text {
  margin-top: 1%;
  margin-left: 8%;
  width: 86%;
}

.p-achievement__item-text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-achievement__text {
  margin-top: 0.3125rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #fff;
}

/* ------------------

仕事を始める

------------------- */
.l-start {
  margin-top: -0.625rem;
  padding-block: 1.375rem;
}

.p-start {
  background: url("../img/start_bg.webp") no-repeat center bottom / cover;
}

.p-start__title {
  margin-inline: auto;
  width: 70%;
}

.p-start__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 287/114;
}

.p-start__inner {
  padding-inline: 0.625rem;
}

.p-start__list {
  margin-top: 5%;
}

.p-start__item {
  width: 100%;
}

.p-start__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 368/141;
  border-radius: 10px;
}

.p-start__text {
  margin-top: 1.9375rem;
  margin-inline: auto;
  width: 35%;
}

.p-start__text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 137/92;
}

.p-start__image {
  margin-top: 2.1875rem;
  margin-inline: auto;
  width: 41%;
}

.p-start__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 125/89;
}

/* ------------------

概要

------------------- */
.l-about {
  margin-top: -6%;
  padding-bottom: 16%;
}

.p-about {
  background: url("../img/about_bg.png") no-repeat center bottom / cover;
}

.p-about__title {
  margin-inline: auto;
  width: 76%;
}

.p-about__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 313/87;
}

.p-about__image {
  margin-top: 0.9375rem;
  margin-left: -18%;
  width: 140%;
}

.p-about__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 556/274;
}

.p-about__text {
  margin-top: 1.0625rem;
  margin-inline: auto;
  width: 74%;
}

.p-about__text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 300/119;
}

.p-about__certificate {
  margin-top: 0.3125rem;
  margin-inline: auto;
  width: 68%;
}

.p-about__certificate img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 267/138;
}

.p-about__cta-image {
  margin-top: 0.6875rem;
}

.p-about__cta-btn {
  margin-top: -0.8125rem;
}

/* ------------------

不安

------------------- */
.p-anxiety {
  margin-top: -0.6875rem;
  margin-left: -1%;
  padding-top: 0.625rem;
  width: 101%;
}

.p-anxiety img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 414/557;
}

/* ------------------

サポート

------------------- */
.l-support {
  margin-top: -20%;
  padding-block: 27% 15%;
}

.p-support {
  background: url("../img/support_bg.png") no-repeat center top / cover;
}

.p-support__title {
  margin-inline: auto;
  width: 89%;
}

.p-support__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 365/159;
}

.p-support__image {
  margin-left: 0.25rem;
  width: 100%;
}

.p-support__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 377/378;
}
/* ------------------

しくみ

------------------- */
.l-phase {
  margin-top: -0.625rem;
  padding-block: 1.125rem 0;
}

.p-phase {
  background: url("../img/phase_bg.webp") no-repeat center bottom / cover;
}

.p-phase__title {
  margin-inline: auto;
  width: 76%;
}

.p-phase__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 310/145;
}

.p-phase__inner {
  padding-inline: 1.5625rem;
}

.p-phase__content {
  margin-top: 8%;
}

.p-phase__content-item {
  padding-block: 7% 21%;
  position: relative;
}

.p-phase__content-item:nth-child(2) {
  margin-top: -9%;
  padding-block: 17% 21%;
}

.p-phase__content-item:nth-child(1) {
  background: url("../img/phase_content_bg1.png") no-repeat center bottom /
    cover;
}
.p-phase__content-item:nth-child(2)::before {
  content: "";
  width: 100%;
  height: 50%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background: url("../img/phase_content_bg2.png") no-repeat center top / cover;
}
.p-phase__content-item:nth-child(2)::after {
  content: "";
  width: 100%;
  height: 50%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../img/phase_content_bg2.png") no-repeat center bottom /
    cover;
}

.p-phase__content-title {
  margin-inline: auto;
  width: 62%;
  position: relative;
  z-index: 30;
}
.p-phase__content-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 223/73;
}

.p-phase__list {
  margin-top: 6%;
  padding-inline: 2.6875rem 1.25rem;
  display: grid;
  gap: 0.9375rem;
  position: relative;
  z-index: 30;
}

.p-phase__item {
  position: relative;
}
.p-phase__item::before {
  content: "";
  width: 2px;
  height: 120%;
  display: block;
  position: absolute;
  top: 0.3125rem;
  left: -1.125rem;
  background: url("../img/phase_line.png") no-repeat center bottom / cover;
}

.p-phase__content-item:nth-child(1) .p-phase__item:nth-child(3)::before,
.p-phase__content-item:nth-child(2) .p-phase__item:nth-child(3)::before {
  height: 100%;
}

.p-phase__content-item:nth-child(1) .p-phase__item:nth-child(3)::after,
.p-phase__content-item:nth-child(2) .p-phase__item:nth-child(1)::after {
  content: "";
  width: 2px;
  height: 21%;
  display: block;
  position: absolute;
  top: 105%;
  left: -1.125rem;
  background: url("../img/phase_line2.png") no-repeat center top / cover;
}

.p-phase__content-item:nth-child(2) .p-phase__item:nth-child(1)::after {
  height: 125%;
  top: -125%;
  z-index: -1;
}

.p-phase__item-title {
  position: relative;
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.14em;
  color: #272727;
}
@media screen and (min-width: 768px) {
  .p-phase__item-title {
    font-size: 0.875rem;
  }
}

.p-phase__item-title::before {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  display: block;
  position: absolute;
  top: 5px;
  left: -1.5rem;
  background-color: #ffffff;
  border: 2px solid #f57581;
  border-radius: 50%;
}

.p-phase__item-content {
  margin-top: 2%;
  padding: 0.9375rem 0.625rem 1.375rem 1.0625rem;
  position: relative;
  background-color: #ffffff;
  border-radius: 10px;
}

.p-phase__content-item:nth-child(1)
  .p-phase__item:nth-child(1)
  .p-phase__item-content::before {
  content: "";
  width: 3.25rem;
  height: 2.5rem;
  display: block;
  position: absolute;
  top: -0.9375rem;
  right: -0.625rem;
  background: url("../img/phase_icon1.png") no-repeat center center / contain;
}
.p-phase__content-item:nth-child(1)
  .p-phase__item:nth-child(2)
  .p-phase__item-content::before {
  content: "";
  width: 2.25rem;
  height: 2.9375rem;
  display: block;
  position: absolute;
  top: -0.9375rem;
  right: 0;
  background: url("../img/phase_icon2.png") no-repeat center center / contain;
}
.p-phase__content-item:nth-child(1)
  .p-phase__item:nth-child(3)
  .p-phase__item-content::before {
  content: "";
  width: 2.375rem;
  height: 2.125rem;
  display: block;
  position: absolute;
  top: -0.3125rem;
  right: -0.125rem;
  background: url("../img/phase_icon3.png") no-repeat center center / contain;
}
.p-phase__content-item:nth-child(2)
  .p-phase__item:nth-child(1)
  .p-phase__item-content::before {
  content: "";
  width: 2.0625rem;
  height: 2.6875rem;
  display: block;
  position: absolute;
  top: -0.9375rem;
  right: 0;
  background: url("../img/phase_icon4.png") no-repeat center center / contain;
}
.p-phase__content-item:nth-child(2)
  .p-phase__item:nth-child(2)
  .p-phase__item-content::before {
  content: "";
  width: 2.5625rem;
  height: 2.625rem;
  display: block;
  position: absolute;
  top: -0.375rem;
  right: -0.25rem;
  background: url("../img/phase_icon5.png") no-repeat center center / contain;
}
.p-phase__content-item:nth-child(2)
  .p-phase__item:nth-child(3)
  .p-phase__item-content::before {
  content: "";
  width: 3rem;
  height: 3.375rem;
  display: block;
  position: absolute;
  top: -0.5625rem;
  right: -0.4375rem;
  background: url("../img/phase_icon6.png") no-repeat center center / contain;
}

.p-phase__item-content-title {
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #f75b69;
}
@media screen and (min-width: 768px) {
  .p-phase__item-content-title {
    font-size: 1.125rem;
  }
}

.p-phase__item-content-text {
  margin-top: 3%;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #272727;
}
@media screen and (min-width: 768px) {
  .p-phase__item-content-text {
    font-size: 0.875rem;
  }
}

.p-phase__image {
  margin-top: -25%;
  margin-left: -1%;
  width: 101%;
}

.p-phase__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 372/545;
}

/* ------------------

インタビュー

------------------- */
.l-coaching {
  padding-bottom: 19%;
}

.p-coaching {
  background: url("../img/coaching_bg.png") no-repeat center bottom / cover;
}

.p-coaching__top-image {
  margin-inline: auto;
  width: 94%;
  transform: translateY(-67%);
}

.p-coaching__top-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 342/117;
}

.p-coaching__title {
  margin: -16% auto 0;
  width: 69%;
}

.p-coaching__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 286/119;
}

.p-coaching__list {
  margin-top: -12%;
}

.p-coaching__item {
  width: 96%;
}

.p-coaching__item:nth-child(2) {
  margin-top: -18%;
  margin-left: 5%;
}

.p-coaching__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ------------------

比較表

------------------- */
.l-comparison {
  margin-top: -5%;
  padding-block: 6% 21%;
}

.p-comparison {
  background: url("../img/comparison_bg.webp") no-repeat center bottom / cover;
}

.p-comparison__title {
  margin-inline: auto;
  width: 70%;
}

.p-comparison__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 287/130;
}

.p-comparison__image {
  margin-top: 0.6875rem;
  margin-left: 9%;
  width: 85%;
}

.p-comparison__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 352/657;
}

/* ------------------

中間CTA

------------------- */

.p-middle-cta {
  background-color: #f8f8f8;
}

.p-middle-cta__image {
  margin-top: -3%;
}

/* ------------------

毎日がもっと楽しく

------------------- */
.l-fun {
  padding-block: 31% 9%;
}

.p-fun {
  background: url("../img/fun_bg.webp") no-repeat center top / cover;
}

.p-fun__title {
  margin-inline: auto;
  width: 80%;
}

.p-fun__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 327/122;
}

.p-fun__list {
  margin-top: 5%;
}

.p-fun__item {
  position: relative;
}
.p-fun__item:nth-child(1) {
  margin-left: 4%;
  width: 96%;
}

.p-fun__item:nth-child(2) {
  margin-top: -5%;
  width: 97%;
}

.p-fun__item:nth-child(3) {
  margin-top: -11%;
  margin-left: 4%;
  width: 97%;
}

.p-fun__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 395/485;
}

/* ------------------

メッセージ

------------------- */
.l-message {
  padding-bottom: 10%;
}

.p-message {
  background-color: #f8f8f8;
}

.p-message__title {
  transform: translateY(-7%);
}

.p-message__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-message__top {
  margin-top: -17%;
  display: flex;
  justify-content: space-between;
}

.p-message__top-image {
  margin-top: -5%;
  width: 43%;
  transform: translateX(-1px);
}
.p-message__top-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 175/246;
}

.p-message-top__content {
  padding-right: 0.3125rem;
  width: 56%;
}

.p-message-top__content-subtitle {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #272727;
}

.p-message-top__content-title {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #272727;
}

.p-message-top__content-title::before {
  content: "Akiko";
  position: absolute;
  bottom: -76%;
  left: 0;
  font-family: "Shippori Mincho", serif;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  color: #272727;
}

.p-message-top__content-title::after {
  content: "";
  width: 5.9375rem;
  height: 0.7px;
  position: absolute;
  bottom: -30%;
  left: 48%;
  left: 6.875rem;
  background-color: #000000;
}

.p-message-top__content-list {
  margin-top: 13%;
  padding-left: 0.125rem;
}

.p-message-top__content-item {
  display: flex;
  align-items: baseline;
  gap: 0.1875rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: #272727;
}

.p-message-top__content-item::before {
  content: "";
  width: 0.455rem;
  height: 0.455rem;
  display: block;
  background: url("../img/message_icon.png") no-repeat center top / cover;
}

.p-message__inner {
  padding-inline: 1.375rem;
}

.p-message__content {
  margin-top: 12%;
  padding-bottom: 12%;
  padding-inline: 1.375rem;
  background-color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
}

.p-message__content-title {
  width: 80%;
  margin-inline: auto;
  transform: translateY(-26%);
}

.p-message__content-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 261/117;
}

.p-message__content-image {
  margin-top: -5%;
  width: 100%;
}

.p-message__content-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 324/208;
  border-radius: 10px;
}

.p-message__content-subtitle {
  margin-top: 5%;
  margin-left: 3%;
  width: 68%;
}

.p-message__content-subtitle--bottom {
  margin-top: 10%;
  width: 78%;
}

.p-message__content-subtitle img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 220/44;
}

.p-message__content-text {
  margin-top: 5%;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #272727;
}

.p-message__content-subtext {
  margin-top: 4%;
  position: relative;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #272727;
  text-align: right;
}

.p-message__content-subtext::after {
  content: "";
  width: 7.5625rem;
  height: 3.75rem;
  display: block;
  position: absolute;
  top: 90%;
  right: 0;
  background: url("../img/message_sign.png") no-repeat center center / contain;
}

.p-message__image-list {
  margin-top: 10%;
  display: flex;
  gap: 0.9375rem;
}

.p-message__image-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 147/169;
}

/* ------------------

インタビュー

------------------- */
.l-interview {
  padding-block: 8% 15%;
}

.p-interview {
  background-color: #ffffff;
}

.p-interview__title {
  width: 72%;
  margin: 0 auto;
}

.p-interview__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 296/71;
}

.p-interview__swiper-container {
  margin-top: 5%;
  padding-bottom: 12%;
  position: relative;
}

.p-interview__swiper-slide {
  cursor: pointer;
}

.p-interview__swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 302/186;
}

.p-interview__swiper iframe {
  aspect-ratio: 17/9;
  aspect-ratio: 302/186;
}
.p-interview__swiper-container .swiper-pagination {
  bottom: 14px;
}

.p-interview__swiper-container .swiper-pagination-bullet {
  background-color: #d9d9d9;
}

.p-interview__swiper-container .swiper-pagination-bullet-active {
  background-color: #d9d9d9;
}

/* ------------------

キャッチ

------------------- */
.p-catch {
  margin-top: 8%;
  position: relative;
  background-color: #f8f8f8;
}

.p-catch__top {
  margin-top: -11%;
  width: 102%;
  transform: translate(-1%, -7%);
}

.p-catch__top img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 414/554;
}

.p-catch__bottom {
  margin-top: 1%;
  padding-bottom: 12%;
  background: url("../img/catch_bg.png") no-repeat center bottom / cover;
}

.p-catch__bottom-title {
  margin-inline: auto;
  width: 90%;
}

.p-catch__bottom-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 367/102;
}

.p-catch__bottom-text {
  margin: 3% auto 0;
  width: 63%;
}

.p-catch__bottom-text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 265/96;
}

.p-catch__bottom-image {
  margin-top: -7%;
  margin-left: -19%;
  width: 138%;
}

.p-catch__bottom-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 549/317;
}

/* ------------------

どんな仕事？

------------------- */
.l-work {
  margin-top: -5%;
  padding-bottom: 10%;
}

.p-work {
  background-color: #ffffff;
}

.p-work__top {
  padding-bottom: 18%;
  position: relative;
  background: url("../img/work_top_bg.webp") no-repeat center bottom / cover;
}

.p-work__top-title {
  margin-inline: auto;
  width: 66%;
}

.p-work__top-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 270/135;
}

.p-work__top-text1 {
  margin-top: 5%;
  margin-inline: auto;
  width: 51%;
}

.p-work__top-text1 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 210/92;
}

.p-work__top-image1 {
  margin-top: 2%;
  width: 100%;
}

.p-work__top-image1 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 414/287;
}

.p-work__top-text2 {
  margin-top: 4%;
  margin-inline: auto;
  width: 68%;
}

.p-work__top-text2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 279/122;
}

.p-work__top-catch {
  margin-top: 6%;
  margin-inline: auto;
  width: 30%;
}

.p-work__top-catch img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 129/144;
}

.p-work__top-image2 {
  margin-top: 5%;
  margin-inline: auto;
  width: 76%;
}

.p-work__top-image2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 314/387;
  border-radius: 2.375rem;
}

.p-work__bottom-title {
  margin-top: 7%;
  margin-inline: auto;
  width: 86%;
}

.p-work__bottom-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 354/71;
}

.p-work__bottom-image {
  margin-top: -1%;
  width: 100%;
}

.p-work__bottom-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 414/375;
}

.p-work__bottom-text {
  margin-top: -3%;
  margin-inline: auto;
  width: 92%;
}

.p-work__bottom-text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 379/141;
}

/* ------------------

生徒様実績

------------------- */
.l-student {
  padding-block: 12% 7%;
}

.p-student {
  background: url("../img/student_bg.webp") no-repeat center top / cover;
  background-color: #ffffff;
}

.p-student__title {
  margin-inline: auto;
  width: 78%;
}

.p-student__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 321/89;
}

.p-student__swiper-container {
  margin-top: 7%;
  padding-bottom: 2.3125rem;
  position: relative;
}

.p-student__swiper {
  overflow: visible;
}

.p-student__swiper-slide {
  padding-block: 2.3125rem 0.625rem;
  padding-inline: 0.625rem;
  min-height: 26.125rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  background-color: #ffffff;
  border-radius: 16px;
}

.p-student__swiper-slide::before {
  content: "";
  width: 10.875rem;
  height: 9.375rem;
  display: block;
  position: absolute;
  top: -3.75rem;
  left: -0.3125rem;
  background: url("../img/student_catch.png") no-repeat center center / cover;
}

.p-student__swiper-title {
  padding-inline: 0.8125rem;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #272727;
}

.p-student__swiper-text {
  margin-top: 0.9375rem;
  margin-bottom: 0.3125rem;
  padding-left: 0.8125rem;
  padding-right: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #272727;
}

.p-student__swiper-image {
  margin-top: auto;
}

.p-student__swiper-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 317/189;
}

.p-student__swiper-name {
  padding: 0.4375rem 1.25rem 0.1875rem 1.5rem;
  position: absolute;
  bottom: 0.5rem;
  left: 0.3125rem;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #272727;
  background-color: #ffffff;
  border-radius: 0 16px 0 0;
}

.p-student__text {
  margin-top: 0.75rem;
  padding-right: 0.8125rem;
  text-align: right;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #272727;
}

.p-student__swiper-container .swiper-pagination-bullet {
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

.p-student__swiper-container .swiper-pagination-bullet-active {
  background-color: #ffffff;
}

/* ------------------

プラン

------------------- */
.l-plan {
  padding-block: 9%;
}

.p-plan {
  background-color: #ffffff;
}

.p-plan__title {
  margin-inline: auto;
  width: 78%;
}

.p-plan__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 321/82;
}

.p-plan__inner {
  padding-inline: 1.5rem;
}

.p-plan__list {
  margin-top: 11%;
  display: grid;
  gap: 2.625rem;
}

.p-plan__item {
  position: relative;
  z-index: 10;
  border-radius: 15px;
}

.p-plan__item::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -3px;
  left: -3px;
  bottom: -3px;
  right: -3px;
  background: linear-gradient(to bottom, #f67380 0%, #fb9395 100%);
  z-index: -1;
  border-radius: 15px;
}

.p-plan__item-top {
  position: relative;
  background: url("../img/plan_list_bg.png") no-repeat center center / cover;
  border-radius: 15px 15px 0 0;
}

.p-plan__item:nth-child(1) .p-plan__item-top {
  padding-block: 8% 5%;
}
.p-plan__item:nth-child(2) .p-plan__item-top {
  padding-block: 8% 5%;
}
.p-plan__item:nth-child(3) .p-plan__item-top {
  padding-block: 8% 5%;
}

.p-plan__item:nth-child(1) .p-plan__item-top::before {
  content: "";
  width: 13.5rem;
  height: 2.1875rem;
  display: block;
  position: absolute;
  top: -18%;
  top: -1.25rem;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/plan_list_title1.png") no-repeat center center /
    contain;
}
.p-plan__item:nth-child(2) .p-plan__item-top::before {
  content: "";
  width: 15.8125rem;
  height: 2.1875rem;
  display: block;
  position: absolute;
  top: -18%;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/plan_list_title2.png") no-repeat center center /
    contain;
}
.p-plan__item:nth-child(3) .p-plan__item-top::before {
  content: "";
  width: 13.5rem;
  height: 2.125rem;
  display: block;
  position: absolute;
  top: -18%;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/plan_list_title3.png") no-repeat center center /
    contain;
}

.p-plan__item:nth-child(1) .p-plan__item-top-image {
  margin: 0 auto;
  width: 73%;
}
.p-plan__item:nth-child(2) .p-plan__item-top-image {
  margin: 0 auto;
  width: 80%;
}
.p-plan__item:nth-child(3) .p-plan__item-top-image {
  margin: 0 auto;
  width: 80%;
}

.p-plan__item-top-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 265/101;
}

.p-plan__item:nth-child(2) .p-plan__item-top-image img {
  aspect-ratio: 294/56;
}
.p-plan__item:nth-child(3) .p-plan__item-top-image img {
  aspect-ratio: 265/59;
}

.p-plan__item-content {
  padding: 7% 5% 5%;
  background-color: #ffffff;
  border-radius: 0 0 15px 15px;
}

.p-plan__item-content dl {
  padding-inline: 1.875rem 0.625rem;
}

.p-plan__item-content dl + dl {
  margin-top: 4%;
}

.p-plan__item-content dt {
  width: fit-content;
  position: relative;
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  color: #272727;
}

.p-plan__item-content dt::before {
  content: "";
  width: 1.5625rem;
  height: 1.5rem;
  display: block;
  position: absolute;
  top: -0.0625rem;
  left: -1.875rem;
  z-index: 30;
  background: url("../img/plan_icon.png") no-repeat center center / contain;
}

.p-plan__item-content dt::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-plan__item-content dd {
  margin-top: 3%;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #272727;
}

.p-plan__content-image {
  margin-top: 6%;
  width: 100%;
}

.p-plan__content-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 327/23;
}

.p-plan__content-list {
  padding: 3% 10%;
}

.p-plan__content-item {
  list-style-type: disc;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #272727;
}

/* ------------------

カリキュラム

------------------- */
.l-curriculum {
  padding-block: 13% 23%;
}

.p-curriculum {
  background: url("../img/curriculum_bg.png") no-repeat center top / cover;
  background-color: #ffffff;
}

.p-curriculum__title {
  margin-inline: auto;
  width: 67%;
}

.p-curriculum__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 284/48;
}

.p-curriculum__inner {
  padding-inline: 1.875rem;
}

.p-curriculum__subtitle {
  margin-top: 7%;
  width: 67%;
}

.p-curriculum__subtitle2 {
  margin-top: 10%;
  width: 50%;
}

.p-curriculum__subtitle img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 236/25;
}

.p-curriculum__list {
  margin-top: 3%;
  display: grid;
  gap: 1.1875rem;
}

.p-curriculum__item {
  display: flex;
  position: relative;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.05);
}

.p-curriculum__list1 .p-curriculum__item:nth-child(1):before,
.p-curriculum__list1 .p-curriculum__item:nth-child(2):before {
  content: "";
  width: 1.18125rem;
  height: 0.875rem;
  display: block;
  position: absolute;
  bottom: -1.0625rem;
  left: 13%;
  background: url("../img/curriculum_icon.png") no-repeat center center /
    contain;
  z-index: 10;
}

.p-curriculum__item-left {
  padding-inline: 0.3125rem;
  width: 30%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url("../img/p-curriculum_list_bg.png") no-repeat center center /
    cover;
  border-radius: 10px 0 0 10px;
}

.p-curriculum__item-month {
  margin-bottom: 0.3125rem;
  padding-inline: 0.3125rem;
  font-size: 0.83rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #f06263;
  background-color: #ffffff;
  border-radius: 2px;
}

.p-curriculum__item-about {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  color: #ffffff;
}

.p-curriculum__item-right {
  padding: 0.9375rem 0.3125rem 0.9375rem 1rem;
  width: 70%;
}

.p-curriculum__item-title {
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.13em;
  color: #272727;
}

.p-curriculum__sublist {
  margin-top: 0.4375rem;
  padding-left: 0.9375rem;
}

.p-curriculum__sublist-item {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #272727;
  list-style-type: disc;
}

/* ------------------

もっと自由に楽しく

------------------- */
.l-future {
  margin-top: -38%;
}

.p-future {
  background-color: #f8f8f8;
}

.p-future__top {
  padding-block: 15% 26%;
  width: 100%;
  background: url("../img/future_bg.webp") no-repeat center 20px / cover;
}

.p-future__title {
  margin-top: 5%;
  margin-left: -9%;
  width: 117%;
}

.p-future__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 561/397;
}

.p-future__list {
  margin-top: -46%;
}

.p-future__item:nth-child(1) {
  margin-top: -40%;
}
.p-future__item:nth-child(2) {
  margin-top: -13%;
}
.p-future__item:nth-child(3) {
  margin-top: -8%;
}
.p-future__item:nth-child(4) {
  margin-top: -8%;
}
.p-future__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-future__text {
  margin-top: 17%;
  margin-inline: auto;
  width: 60%;
}

.p-future__text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 251/88;
}

.p-future__catch {
  margin-top: 1%;
  margin-inline: auto;
  width: 79%;
}
.p-future__catch img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 324/171;
}

.p-future__image {
  margin-top: 10%;
  margin-inline: auto;
  width: 88%;
}

.p-future__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 356/240;
  border-radius: 34px;
}

.p-future__bottom {
  margin-top: -22%;
  padding-top: 29%;
  width: 100%;
  position: relative;
}

.p-future__bottom::before {
  content: "";
  width: 100%;
  height: 80%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background: url("../img/future_bottom_bg.png") no-repeat center top / cover;
}

.p-future__bottom-wrapper {
  background-color: #ffffff;
}

.p-future__bottom-title {
  margin-inline: auto;
  width: 81%;
  position: relative;
  z-index: 20;
}

.p-future__bottom-title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 336/120;
}

.p-future__bottom-image {
  margin-top: -5%;
  position: relative;
  z-index: 20;
}

.p-future__bottom-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-future__bottom-text {
  margin-top: -7%;
  margin-inline: auto;
  width: 78%;
  position: relative;
  z-index: 20;
}

.p-future__bottom-text img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 316/76;
}

.p-future__bottom-catch {
  margin-top: 10%;
  margin-inline: auto;
  width: 94%;
  position: relative;
  z-index: 20;
}
.p-future__bottom-catch img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 390/585;
}

.p-future__cta-btn {
  margin-top: -33%;
  position: relative;
  z-index: 20;
}

/* ------------------

よくあるご質問

------------------- */
.l-faq {
  margin-top: -10%;
  padding-top: 23%;
}

.p-faq {
  background-color: #ffffff;
}

.p-faq__title {
  margin-inline: auto;
  width: 50%;
}

.p-faq__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 213/45;
}

.p-faq__inner {
  padding-inline: 1.4375rem;
}

.p-faq__container {
  margin-top: 7%;
  display: grid;
  gap: 0.75rem;
}

.p-faq__list {
  padding: 1.875rem 0.9375rem 1.5625rem 1.875rem;
  position: relative;
  background-color: #f8f8f8;
  border: 3px solid #fff;
  border-radius: 10px;
  box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.09);
}

.p-faq__list::before {
  content: "";
  width: 1.75rem;
  width: 2rem;
  height: 1.6875rem;
  height: 1.9375rem;
  display: block;
  position: absolute;
  top: -0.1875rem;
  left: -0.625rem;
  background: url("../img/faq_icon.png") no-repeat center center / contain;
}

.p-faq__list-title {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #272727;
}

.p-faq__list-text {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.8;
  color: #272727;
}

.p-faq__cta-btn {
  margin-top: -0.1875rem;
}

.p-faq__bottom {
  margin-top: -9%;
  width: 100%;
}

.p-faq__bottom img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ------------------

お問い合わせ

------------------- */
.p-contact {
  background: url("../img/contact_bg.webp") no-repeat center center / cover;
  background-color: #fb9395;
}

.p-contact__inner {
  margin-top: 19%;
  padding-inline: 1.375rem;
}

.p-contact__content {
  padding-block: 6% 13%;
  padding-inline: 1.625rem;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
}

.p-contact__title {
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #272727;
  text-align: center;
}

.p-contact__title::before {
  margin-bottom: 2%;
  content: "Palette Mental Coaching";
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #272727;
  text-align: center;
}

.p-contact__image {
  margin-top: 5%;
  width: 100%;
  border-radius: 63px;
}

.p-contact__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 317/212;
}

.p-contact__form {
  margin-top: 10%;
}

.p-contact__form-container {
  display: grid;
  gap: 1rem;
}

.p-contact-item {
  display: flex;
  flex-direction: column;
}

::placeholder {
  color: #d1d1d1;
}

.p-contact-item__label {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #272727;
}

.p-contact-item__label span {
  margin-left: 0.125rem;
  padding-inline: 0.3125rem;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.11em;
  color: #ffffff;
  background-color: #e74258;
  border-radius: 3px;
}

.p-contact-item__input {
  margin-top: 1%;
  padding: 1.125rem;
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  background-color: #ffffff;
  border: 1px solid #d4d4d4;
  border-radius: 10px;
}

.p-contact-item select {
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
  margin-top: 1%;
  width: 48%;
  padding-block: 1.125rem;
  padding-inline: 0.625rem;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  background: url("../img/select_icon.png") no-repeat 93% center / cover;
  background-size: 0.65625rem 0.375rem;
  background-color: #ffffff;
  border: 1px solid #d4d4d4;
  border-radius: 10px;
}

.p-contact-item textarea {
  min-height: 12.3125rem;
}

.p-contact__item-box {
  display: flex;
  justify-content: space-between;
}

.p-contact__btn {
  margin-top: 1%;
  margin-inline: auto;
  width: 95%;
  padding-block: 1.5rem;
  font-size: 1.3125rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #ffffff;
  background-color: #e74157;
  border: 2px solid #fff;
  border-radius: 104px;
  box-shadow: 0 2.7px 9.2px 0 rgba(0, 0, 0, 0.26);
  text-align: center;
}

/* ------------------

サンクスページ

------------------- */

.p-thanks__content {
  padding-block: 19% 16%;
  background: url("../img/thanks_bg.webp") no-repeat center center / cover;
}
@media screen and (min-width: 1040px) {
  .p-thanks__content {
    padding-block: 24% 21%;
    border-radius: 30px 30px 0 0;
  }
}

.p-thanks__inner {
  padding-inline: 2.1875rem;
}

.p-thanks__title {
  font-size: 1.1875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #ffffff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__title {
    font-size: 1.3125rem;
  }
}

.p-thanks__text {
  margin-top: 3%;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__text {
    margin-top: 8%;
    font-size: 0.875rem;
  }
}

.p-thanks__container {
  margin-top: 9%;
  padding-block: 10% 8%;
  padding-inline: 20px;
  position: relative;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 768px) {
  .p-thanks__container {
    margin-top: 14%;
  }
}

.p-thanks__container::before {
  content: "";
  width: 2.5626rem;
  height: 2.4375rem;
  display: block;
  position: absolute;
  top: -6%;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/line_icon.png") no-repeat center center / cover;
}
@media screen and (min-width: 768px) {
  .p-thanks__container::before {
    top: -3%;
  }
}

.p-thanks__container__title {
  font-size: 1.0625rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #272727;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__container__title {
    font-size: 1.1875rem;
  }
}

.p-thanks__container-text {
  margin-top: 4%;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #272727;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__container-text {
    margin-top: 9%;
  }
}

.p-thanks__container-image {
  margin-top: 4%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-thanks__container-image {
    margin-top: 9%;
  }
}

.p-thanks__container-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 303/77;
}

.p-thanks__teacher {
  margin-top: 4%;
  padding-inline: 7px;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-thanks__teacher {
    margin-top: 9%;
  }
}

.p-thanks__teacher-image {
  width: 27%;
  border-radius: 50%;
}

.p-thanks__teacher-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1/1;
}

.p-thanks__teacher-company {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.09em;
  color: #f87a87;
}
@media screen and (min-width: 768px) {
  .p-thanks__teacher-company {
    font-size: 0.8125rem;
  }
}

.p-thanks__teacher-name {
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #272727;
}
@media screen and (min-width: 768px) {
  .p-thanks__teacher-name {
    font-size: 1.1875rem;
  }
}

.p-thanks__caution {
  margin-top: 7%;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #272727;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-thanks__caution {
    margin-top: 13%;
    font-size: 0.8125rem;
  }
}

.p-thanks__caution a {
  color: #272727;
  text-decoration: underline;
}

/* ------------------

プライバシーポリシー

------------------- */
.p-privacy__head {
  padding-block: 19% 12.5%;
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.01em;
  color: #fff;
  text-align: center;
  background: url("../img/privacy_head.png") no-repeat center center / cover;
}
@media screen and (min-width: 1040px) {
  .p-privacy__head {
    padding-block: 18% 13%;
    border-radius: 30px 30px 0 0;
  }
}

.p-privacy__content {
  margin-top: -1.5625rem;
  padding-block: 2.8125rem 4.375rem;
  background-color: #fdfdfd;
}

.p-privacy__content-text {
  font-size: 0.9375rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}

.p-privacy__content-text + p {
  margin-top: 2.1875rem;
}
