/* common */
@font-face {
  font-family: "LINE Seed";
  src: url(../fonts/line-seed/LINESeedJP_OTF_Eb.woff2) format("woff2"),
    url(../fonts/line-seed/LINESeedJP_OTF_Eb.woff) format("woff"),
    url(../fonts/line-seed/LINESeedJP_TTF_Eb.eot) format("eot");
  font-weight: 900;
  font-style: normal;
}

html {
  font-size: clamp(0.3125rem, 0rem + 1.3333vw, 0.625rem);
  scroll-behavior: smooth;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #252525;
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}

img {
  display: block;
  width: 100%;
  object-fit: contain;
}

.inner {
  width: 89.334%;
  margin: 0 auto;
}

.underline-yellow {
  background: linear-gradient(transparent 60%, #fcfac3 60%);
  display: inline;
}

.cta-btn {
  display: block;
  background: url(../img/cta-btn-bg.png) center center no-repeat;
  background-size: cover;
  padding: 3.6rem 11.9rem 3.6rem 7.2rem;
  width: fit-content;
  margin: 0 auto;
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #ffffff;
  position: relative;
  border-radius: 1.3rem;
  white-space: nowrap;
  transition: transform 0.3s ease;
  animation: pulse 2.5s infinite;

}

.cta-btn:hover {
  transform: scale(1.05);
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.cta-btn-arrow {
  position: absolute;
  width: 4.1rem;
  height: auto;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
}

/* header */

header {
  width: 100vw;
  max-width: 750px;
  background-color: #ffffffc9;
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
}

header > h1 {
  width: 5.3rem;
  margin-left: 1.5rem;
}

header > a {
  display: block;
  width: 26.2rem;
  padding: 2.4rem 0;
  text-align: center;
  background-color: #224862;
  color: #ffffff;
  font-size: 2rem;
  letter-spacing: 0.3em;
  position: relative;
}

header > a:after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
  font-size: 2rem;
  font-weight: bold;
}

/* main */
.fv {
  width: 100%;
}

.about {
  background: url(../img/about-bg.png) bottom center no-repeat;
  background-size: cover;
  text-align: center;
  font-size: 1.8rem;
  padding-top: 6rem;
  padding-bottom: 14.67rem;
  position: relative;
  z-index: 7;
}

.about-cta {
  margin-bottom: 11rem;
}

.about-cta > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.54;
  margin-bottom: 2.4rem;
  position: relative;
}

.about-cta > p:before {
  content: "";
  background: url(../img/line-left1.svg) center center no-repeat;
  background-size: contain;
  width: 1.3rem;
  height: 3.3rem;
  position: absolute;
  bottom: 0;
  left: 14rem;
}

.about-cta > p:after {
  content: "";
  background: url(../img/line-right1.svg) center center no-repeat;
  background-size: contain;
  width: 1.3rem;
  height: 3.3rem;
  position: absolute;
  bottom: 0;
  right: 14rem;
}

.benefits {
  background-color: #e4f4e9;
  border-radius: 1rem;
  padding: 10.6rem 0 8rem;
  margin-bottom: 8rem;
  position: relative;
}

.benefits-fukidashi {
  background: url(../img/benefits-fukidashi-bg.png) center center no-repeat;
  background-size: contain;
  padding: 2.4rem 4.9rem 4.1rem;
  width: 74.627%;
  white-space: nowrap;
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
}

.benefits-fukidashi > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.35;
  background: linear-gradient(transparent 60%, #fcfac3 60%);
  display: inline;
  color: #1e956d;
  position: relative;
}

.benefits-fukidashi > p::before {
  content: "";
  background: url(../img/benefits-star1.svg) center center no-repeat;
  background-size: contain;
  width: 4rem;
  height: 4.8rem;
  position: absolute;
  top: -2rem;
  left: -2.5rem;
  transform: translateX(-50%);
}

.benefits-fukidashi > p::after {
  content: "";
  background: url(../img/benefits-star2.svg) center center no-repeat;
  background-size: contain;
  width: 5.3rem;
  height: 6.7rem;
  position: absolute;
  top: -2rem;
  right: 8.5rem;
  transform: translateX(50%);
}

.benefits > h2 {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
}

.benefits > h2 > span {
  color: #ef235e;
  font-size: 3rem;
  font-weight: bold;
  position: relative;
}

.benefits > h2 > span:before {
  content: "";
  background: url(../img/line-left2.svg) center center no-repeat;
  background-size: contain;
  width: 6rem;
  height: 7.3rem;
  position: absolute;
  top: -100%;
  left: -7rem;
}

.benefits > h2 > span:after {
  content: "";
  background: url(../img/line-right2.svg) center center no-repeat;
  background-size: contain;
  width: 6rem;
  height: 7.3rem;
  position: absolute;
  top: -100%;
  right: -7rem;
}

.benefits > h2 > span > span {
  font-family: "Montserrat";
  font-size: 4.8rem;
}

.benefits-list {
  width: 89.554%;
  margin: 0 auto 5rem;
}

.benefits-list-item {
  margin-bottom: 1rem;
  padding: 4rem 12.6rem;
  padding-right: 0;
  background-color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.35;
  border-radius: 0.5rem;
  position: relative;
}

.benefits-list-item:before {
  content: "01";
  background: url(../img/benefits-list-item-bg.svg) center center no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  width: 10.8rem;
  height: 100%;
  display: flex;
  padding-left: 1rem;
  align-items: center;
  font-size: 3.6rem;
  font-family: "Montserrat";
  letter-spacing: 0.05em;
  color: #fff;
  border-radius: 0.5rem;
}

.benefits-list-item:nth-of-type(2):before {
  content: "02";
}

.benefits-list-item:nth-of-type(3)::before {
  content: "03";
}

.benefits-list-item > span {
  color: #1e956d;
}

.benefits > p {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.73;
  letter-spacing: 0.05em;
}

.benefits > p > span:first-of-type {
  background-color: #fff;
  color: #ef235e;
  padding: 1rem 0.5rem;
}

.benefits > p > span:last-of-type {
  font-size: 2.4rem;
}

.publish {
  margin-bottom: 6rem;
}

.publish > h2 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 7.2rem;
}

.publish > h2 > span:first-of-type {
  background-color: #ef235e;
  color: #fff;
  padding: 0.5rem 1rem;
}

.publish > h2 > span:last-of-type {
  font-size: 4.8rem;
  color: #ef235e;
}

.publish > img {
  width: 56.3rem;
  margin: 0 auto;
}

.time-schedule {
  background: url(../img/time-schedule-bg.png) bottom center no-repeat;
  background-size: cover;
  padding-top: 17.63rem;
  padding-bottom: 13.6rem;
  margin-top: -16rem;
  position: relative;
  z-index: 0;
}

.time-schedule > h2 {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 4rem;
}

.time-schedule > h2::before {
  content: "で";
  position: absolute;
  left: 50%;
  bottom: 10%;
  transform: translateX(-50%);
  font-size: 2.6rem;
  font-weight: bold;
}

.time-schedule > h2 > span {
  width: 50%;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.time-schedule > h2 > span:first-of-type {
  background: url(../img/time-schedule-heading-bg-left.png) center center
    no-repeat;
  background-size: contain;
  text-align: right;
  padding-right: 4.3rem;
}

.time-schedule > h2 > span:last-of-type {
  background: url(../img/time-schedule-heading-bg-right.png) center center
    no-repeat;
  background-size: contain;
  text-align: left;
  padding-left: 4.3rem;
}

.time-schedule > h2 > span > span {
  font-size: 3.2rem;
}

.time-schedule > p:first-of-type {
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 2.5rem;
  position: relative;
}

.time-schedule > p:first-of-type::before {
  content: "";
  background: url(../img/line-left3.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 10%;
  left: -2.8rem;
  width: 1.8rem;
  height: 2.6rem;
}

.time-schedule > p:first-of-type::after {
  content: "";
  background: url(../img/line-right3.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 10%;
  right: -2.8rem;
  width: 1.8rem;
  height: 2.6rem;
}

.time-schedule > p:nth-of-type(2) {
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  margin-bottom: 9rem;
}

.time-schedule > p:nth-of-type(2) > span {
  font-size: 4.8rem;
  color: #ef235e;
}

.time-schedule > p:nth-of-type(2):after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -20%;
  left: 0;
  width: 100%;
  height: 1.9rem;
}

.time-schedule-list {
  position: relative;
  margin-bottom: 7.3rem;
}

.time-schedule-list:before {
  content: "";
  background: url(../img/time-schedule-line.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 84%;
  height: 100%;
  z-index: -1;
}

/* @media screen and (max-width: 580px) {
  .time-schedule-list:before {
    top: -1%;
  }
} */

.time-schedule-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5.6rem;
}

.time-schedule-list-item-left{
	display:flex;
    justify-content:space-between;
    align-items:center;
    gap:3.4rem;
}

.time-schedule-list-item:nth-of-type(2),
.time-schedule-list-item:nth-of-type(3) {
  margin-bottom: 4.6rem;
}

.time-schedule-list-item:nth-of-type(4) {
  margin-bottom: 4.8rem;
}

.time-schedule-list-item:nth-of-type(5) {
  margin-bottom: 5rem;
}

.time-schedule-list-item:nth-of-type(6) {
  margin-bottom: 4.3rem;
}

.time-schedule-list-item:nth-of-type(7),
.time-schedule-list-item:nth-of-type(8) {
  margin-bottom: 9.1rem;
}

.time-schedule-list-item:nth-of-type(3),
.time-schedule-list-item:nth-of-type(5),
.time-schedule-list-item:nth-of-type(7) {
  justify-content: flex-start;
  gap: 3.4rem;
}

.time-schedule-list-item:nth-of-type(4),
.time-schedule-list-item:nth-of-type(6) {
  justify-content: space-between;
  gap: 3.5rem;
}

.time-schedule-list-item:nth-of-type(9) {
  justify-content: space-between;
  gap: 3.4rem;
  margin-bottom: 0;
}

.time-schedule-list-item:nth-of-type(8) {
  justify-content: center;
}

.time-schedule-list-item-time {
  background: url(../img/time-schedule-time-bg.png) center center no-repeat;
  background-size: contain;
  width: 11rem;
  height: 11rem;
  font-size: 2.9rem;
  font-weight: bold;
  font-family: "Montserrat";
  display: flex;
  align-items: center;
  justify-content: center;
}

.time-schedule-list-item-title {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.time-schedule-list-item > img {
  width: 16.9rem;
}

.time-schedule-summary {
  background: url(../img/time-schedule-summary-bg-new.png) center center
    no-repeat;
  background-size: cover;
  width: 71rem;
  height: auto;
  aspect-ratio: 71 / 33;
  position: relative;
  margin-bottom: 8rem;
}

.time-schedule-summary > p {
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  color: #fff;
  line-height: 2.3;
  position: absolute;
  width: fit-content;
  top: 21%;
  left: 45%;
  text-decoration: underline 1px solid #fff;
  text-underline-offset: 1rem;
}

.time-schedule > p:nth-of-type(3) {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  position: relative;
  margin-bottom: 7.8rem;
}

.time-schedule > p:nth-of-type(3)::before {
  content: "";
  background: url(../img/star.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 7%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 9.54rem;
}

.time-schedule > p:nth-of-type(3)::after {
  content: "";
  background: url(../img/line4.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -7%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 8.08rem;
}

.time-schedule > p:nth-of-type(3) > .bg {
  background-color: #ef235e;
  color: #fff;
  font-size: 4rem;
  padding: 1rem 0.5rem;
}

.time-schedule > p:nth-of-type(3) > .color {
  color: #ef235e;
  font-size: 4rem;
}

.trap {
  background: url(../img/trap-bg.png) bottom center no-repeat;
  background-size: cover;
  text-align: center;
  font-size: 1.8rem;
  padding-top: 12rem;
  padding-bottom: 14.67rem;
  margin-top: -12rem;
  position: relative;
  z-index: 6;
}

.trap > h2 {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 6.3rem;
}

.trap > h2:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 35%;
  height: 1.9rem;
}

.trap > h2 > span:first-of-type {
  color: #3a8eb1;
  font-size: 6rem;
}

.trap > h2 > span:first-of-type > span {
  font-size: 5rem;
}

.trap > h2 > span:last-of-type {
  font-size: 5rem;
}

.trap > p:nth-of-type(1) {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.73;
  margin-bottom: 6rem;
  color: #fff;
}

.trap > p:nth-of-type(1) > span {
  background-color: #486672;
  padding: 0.5rem;
}

.trap-list {
  position: relative;
  margin-bottom: 7.2rem;
}

.trap-list::after {
  content: "";
  background: url(../img/trap-list-under-arrow.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -8%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 6.64rem;
}

.trap-list-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
  background-color: #fff;
  border-radius: 0 15rem 15rem 15rem;
  gap: 2.2rem;
  padding: 5rem 4.2rem 5rem 2.6rem;
}

.trap-list-item > img {
  width: 12.6rem;
}

.trap-list-item:nth-of-type(2) {
  padding-left: 0;
  gap: 0;
}

.trap-list-item:nth-of-type(2) > img {
  width: 17rem;
}

.trap-list-item:nth-of-type(3) {
  padding-left: 0;
  gap: 0;
}

.trap-list-item:nth-of-type(3) > img {
  width: 17.6rem;
}

.trap-list-item-text {
  text-align: left;
  width: 45.4rem;
}

.trap-list-item-text > h3 {
  color: #486672;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 3rem;
}

.trap-list-item-text > p {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.67;
}

.trap > p:nth-of-type(2) {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.79;
  margin-bottom: 2rem;
}

.trap > p:nth-of-type(2) > span {
  color: #3a8eb2;
  font-size: 4rem;
}

.trap > img {
  width: 2.2rem;
  margin: 0 auto 4.9rem;
}

.trap .cta-btn {
  margin-bottom: 7rem;
}

.trap .cta-btn::before {
  content: "当スクールの小顔メソッド";
  position: absolute;
  top: -32%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  width: 77.404%;
  border: 3px solid #fdb12d;
  background-color: #fff;
  color: #fda513;
  border-radius: 3rem;
  padding: 1.4rem 0;
}

.trap .cta-btn::after {
  content: "";
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.5rem 0 0.5rem;
  border-color: #fff transparent transparent transparent;
}

.features {
  background: url(../img/time-schedule-bg.png) bottom center no-repeat;
  background-size: cover;
  padding-top: 13.63rem;
  padding-bottom: 13.6rem;
  margin-top: -16rem;
  position: relative;
  z-index: 5;
}

.features > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  margin-bottom: 24.7rem;
}

.features > h2:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 56%;
  height: 1.9rem;
}

.features > h2 > span {
  color: #ef235e;
}

.features-list-item {
  padding-top: 17.3rem;
  padding-bottom: 5rem;
  background-color: #fff;
  position: relative;
  margin-bottom: 19rem;
}

.features-list-item:last-of-type {
  margin-bottom: 0;
}

.features-list-item-img {
  position: absolute;
  width: 89.334%;
  top: -12.3rem;
  left: 0;
}

.features-list-item:nth-of-type(2) .features-list-item-img {
  left: initial;
  right: 0;
}

.features-list-item-title {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #ef235e;
  line-height: 2.5;
  margin-bottom: 2.4rem;
  text-decoration: underline 1px solid #ef235e;
  text-underline-offset: 1.2rem;
}

.features-list-item-text {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.3;
}

.features-cta-container {
  background: url(../img/features-cta-bg.png) center center no-repeat;
  background-size: cover;
  padding-top: 10.1rem;
  padding-bottom: 6.5rem;
  position: relative;
  z-index: -3;
}

.features .cta-btn::before {
  text-align: center;
  content: "少しでも興味がわいたら";
  position: absolute;
  top: -32%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  width: 77.404%;
  border: 3px solid #fdb12d;
  background-color: #fff;
  color: #fda513;
  border-radius: 3rem;
  padding: 1.4rem 0;
}

.features .cta-btn::after {
  content: "";
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.5rem 0 0.5rem;
  border-color: #fff transparent transparent transparent;
}

.voice {
  background: url(../img/voice-bg.png) bottom center no-repeat;
  background-size: cover;
  padding-top: 13.63rem;
  padding-bottom: 13.6rem;
  margin-top: -14rem;
  position: relative;
  z-index: 5;
}

.voice > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  margin-bottom: 10.5rem;
}

.voice > h2:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  height: 1.9rem;
}

.voice > h2 > span {
  color: #ef235e;
}

.swiper {
  margin-bottom: 10rem;
  padding-top: 2.2rem;
}

.swiper-wrapper {
  margin-bottom: 5rem;
}

.swiper-slide {
  border: 3px solid #f79bb6;
  border-radius: 2rem;
  padding: 5.5rem 3rem 5rem;
  position: relative;
}

.swiper-slide::before {
  content: "Voice01";
  margin: 0 auto;
  clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0 50%);
  font-family: "Montserrat";
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  padding: 0.9rem 7.7rem;
  background: linear-gradient(-30deg, #f79bb6 0%, #d398f2 100%);
  position: absolute;
  color: #fff;
  left: 50%;
  top: -2.6rem;
  transform: translateX(-50%);
}

.swiper-slide[data-swiper-slide-index="0"]::before {
  content: "Voice01";
}

.swiper-slide[data-swiper-slide-index="1"]::before {
  content: "Voice02";
}

.swiper-slide[data-swiper-slide-index="2"]::before {
  content: "Voice03";
}

.swiper-slide-title {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 4rem;
  color: #6a6a6a;
}

.swiper-slide-title > span {
  font-size: 2.2rem;
}

.swiper-slide-video {
  width: 100%;
  height: auto;
  aspect-ratio: 610 / 337;
  margin-bottom: 6rem;
}

.swiper-slide-sub-title {
  font-size: 3.2rem;
  font-weight: bold;
  color: #ef235e;
  line-height: 2.5;
  margin-bottom: 5rem;
  text-decoration: underline 1px solid #ef235e;
  text-underline-offset: 2.2rem;
}

.swiper-slide > h5 {
  background-color: #fd3c74;
  border-radius: 0 2.3rem 2.3rem 2.3rem;
  padding: 1rem;
  width: fit-content;
  color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
}

.swiper-slide > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 4.1rem;
  line-height: 1.9;
  padding-left: 1rem;
}

.swiper-slide > p:last-of-type {
  margin-bottom: 0;
}

.swiper-button-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}

.swiper-button-next,
.swiper-button-prev {
  position: initial;
  width: 8rem;
  height: 8rem;
  margin-top: 0;
}

.swiper-button-prev:after {
  content: "";
  background: url(../img/swiper-prev-btn.svg) center center no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}

.swiper-button-next:after {
  content: "";
  background: url(../img/swiper-next-btn.svg) center center no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}

.swiper-pagination {
  position: initial;
  width: initial !important;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.swiper-pagination-bullet {
  margin: 0 !important;
  width: 1rem;
  height: 1rem;
  background: #cecece;
}

.swiper-pagination-bullet-active {
  background: #ef235e;
}

.step {
  background: url(../img/step-bg.png) bottom center no-repeat;
  background-size: cover;
  padding-top: 13.63rem;
  padding-bottom: 13.6rem;
  margin-top: -14rem;
  position: relative;
  z-index: 3;
}

.step > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  margin-bottom: 5.5rem;
}

.step > h2:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 48%;
  height: 1.9rem;
}

.step > h3 {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 4rem;
}

.step > h3::before {
  content: "で";
  position: absolute;
  left: 50%;
  bottom: 10%;
  transform: translateX(-50%);
  font-size: 2.6rem;
  font-weight: bold;
}

.step > h3 > span {
  width: 50%;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.step > h3 > span:first-of-type {
  background: url(../img/time-schedule-heading-bg-left.png) center center
    no-repeat;
  background-size: contain;
  text-align: right;
  padding-right: 4.3rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.step > h3 > span > span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 2.4rem;
}

.step > h3 > span:last-of-type {
  background: url(../img/time-schedule-heading-bg-right.png) center center
    no-repeat;
  background-size: contain;
  text-align: left;
  padding-left: 4.3rem;
}

.step > h3 > span:last-of-type > span {
  font-size: 3.2rem;
}

.step > p {
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  margin-bottom: 6rem;
}

.step > p::before {
  content: "";
  background: url(../img/line-left3.svg) center center no-repeat;
  background-size: contain;
  width: 1.8rem;
  height: 2.6rem;
  position: absolute;
  bottom: 10%;
  left: 24%;
}

.step > p::after {
  content: "";
  background: url(../img/line-right3.svg) center center no-repeat;
  background-size: contain;
  width: 1.8rem;
  height: 2.6rem;
  position: absolute;
  bottom: 10%;
  right: 24%;
}

.step > p > span {
  color: #ef235e;
  font-size: 4.8rem;
}

.step-list-item {
  padding: 1.8rem 5.4rem 1.8rem 12rem;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border: 1px solid #ef235e;
  border-radius: 5.5rem;
  background-color: #fff;
  position: relative;
  margin-bottom: 3rem;
  line-height: 1.54;
}

.step-list-item:nth-of-type(4) {
  margin-bottom: 0;
}

.step-list-item > span {
  font-size: 2.4rem;
}

.step-list-item::before {
  content: "";
  background: url(../img/step-list-item1.png) center center no-repeat;
  background-size: contain;
  width: 11.5rem;
  height: 11.5rem;
  position: absolute;
  top: 50%;
  left: -0.4%;
  transform: translateY(-50%);
}

.step-list-item:nth-of-type(2):before {
  background: url(../img/step-list-item2.png) center center no-repeat;
  background-size: contain;
}

.step-list-item:nth-of-type(3):before {
  background: url(../img/step-list-item3.png) center center no-repeat;
  background-size: contain;
}

.step-list-item:nth-of-type(4):before {
  background: url(../img/step-list-item4.png) center center no-repeat;
  background-size: contain;
}

.step-list-item:first-of-type {
  padding-top: 3.8rem;
  padding-bottom: 3.8rem;
}

.data {
  padding-top: 2rem;
  padding-bottom: 12.4rem;
}

.data > h2 {
  width: 81.6%;
  margin: 0 auto 8rem;
}

.data-01 {
  margin-bottom: 8rem;
}

.data-01 > h3 {
  position: relative;
  text-align: center;
  margin-bottom: 6rem;
}

.data-01 > h3 > span {
  width: fit-content;
  margin: 0 auto;
  clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0 50%);
  font-family: "Montserrat";
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  padding: 0.9rem 7.7rem;
  background: linear-gradient(-30deg, #f79bb6 0%, #d398f2 100%);
  position: relative;
  color: #fff;
}

.data-01 > h3:before {
  content: "";
  height: 1px;
  top: 50%;
  left: 50%;
  width: 100%;
  position: absolute;
  background: #ef235e;
  transform: translate(-50%, -50%);
}

.data-01-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.9rem;
}

.data-01-inner:last-of-type {
  margin-bottom: 5rem;
}

.data-01-inner-left {
  width: 42.15%;
}

.data-01-inner-left > img {
  width: 40.26%;
  margin: 0 auto 1.58rem;
}

.data-01-inner-left > p {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.05em;
  position: relative;
}

.data-01-inner-left > p::before {
  content: "";
  background: url(../img/leaf-left.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5.04rem;
  height: 13rem;
}

.data-01-inner-left > p::after {
  content: "";
  background: url(../img/left-right.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 5.04rem;
  height: 13rem;
}

.data-01-inner-left > p > span:first-of-type {
  font-family: "Montserrat";
  color: #ef235e;
  font-size: 5.6rem;
}

.data-01-inner:nth-of-type(1) > .data-01-inner-left > p > span:last-of-type {
  font-size: 2rem;
  color: #797979;
  display: block;
  margin-top: 0rem;
}

.data-01-inner > img {
  width: 51.942%;
}

.data-01 > p {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.92;
  letter-spacing: 0.05em;
  text-align: center;
}

.data-01 > p > span {
  color: #ef235e;
}

.data-02 {
  margin-bottom: 8rem;
}

.data-02 > h3 {
  position: relative;
  text-align: center;
  margin-bottom: 6rem;
}

.data-02 > h3 > span {
  width: fit-content;
  margin: 0 auto;
  clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0 50%);
  font-family: "Montserrat";
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  padding: 0.9rem 7.7rem;
  background: linear-gradient(-30deg, #f79bb6 0%, #d398f2 100%);
  position: relative;
  color: #fff;
}

.data-02 > h3:before {
  content: "";
  height: 1px;
  top: 50%;
  left: 50%;
  width: 100%;
  position: absolute;
  background: #ef235e;
  transform: translate(-50%, -50%);
}

.data-02-inner > img {
  width: 16.97%;
  margin: 0 auto 2rem;
}

.data-02-inner > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  position: relative;
  width: fit-content;
  margin: 0 auto 3rem;
}

.data-02-inner > p::before {
  content: "";
  background: url(../img/leaf-left.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: -7rem;
  transform: translateY(-50%);
  width: 5.04rem;
  height: 13rem;
}

.data-02-inner > p::after {
  content: "";
  background: url(../img/left-right.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: -7rem;
  transform: translateY(-50%);
  width: 5.04rem;
  height: 13rem;
}

.data-02-inner > p > span {
  font-size: 5.6rem;
  color: #ef235e;
}

.data-02 > img {
  margin-bottom: 6rem;
  width: 100%;
}

.data-02 > p {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.92;
}

.data-02 > p > span {
  color: #ef235e;
}

.data-03 {
  margin-bottom: 10rem;
}

.data-03 > h3 {
  position: relative;
  text-align: center;
  margin-bottom: 6rem;
}

.data-03 > h3 > span {
  width: fit-content;
  margin: 0 auto;
  clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0 50%);
  font-family: "Montserrat";
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  padding: 0.9rem 7.7rem;
  background: linear-gradient(-30deg, #f79bb6 0%, #d398f2 100%);
  position: relative;
  color: #fff;
}

.data-03 > h3:before {
  content: "";
  height: 1px;
  top: 50%;
  left: 50%;
  width: 100%;
  position: absolute;
  background: #ef235e;
  transform: translate(-50%, -50%);
}

.data-03 > h4 {
  font-size: 3.6rem;
  font-weight: bold;
  color: #ef235e;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 5rem;
}

.data-03 > p {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.92;
  letter-spacing: 0.05em;
}

.data-03 > p > span {
  color: #ef235e;
}

.data-voice {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background-color: #fff3f6;
  border-radius: 1rem;
}

.data-voice > h3 {
  font-family: "Montserrat";
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  margin-bottom: 9rem;
}

.data-voice > h3:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 21%;
  height: 1.9rem;
}

.data-voice-inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.4rem;
  margin-bottom: 3rem;
  margin-left: 1.1rem;
}

.data-voice-inner:nth-of-type(2) {
  justify-content: flex-end;
  margin-right: 1.5rem;
  margin-left: 0;
  margin-bottom: 0;
}

.data-voice-inner > img {
  width: 24.955%;
}

.data-voice-inner > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.54;
  padding: 3rem;
  background-color: #fff;
  border-radius: 1rem;
  width: 65.523%;
  position: relative;
}

/* 吹き出し */
.data-voice-inner > p:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 8rem;
  left: -4.8rem;
  border: 0.8rem solid transparent;
  border-right: 4.8rem solid #fff;
  -webkit-transform: rotate(-13deg);
  transform: rotate(-13deg);
}

.data-voice-inner:nth-of-type(2) > p:before {
  left: auto;
  right: -4.8rem;
  border: 0.8rem solid transparent;
  border-left: 4.8rem solid #fff;
  -webkit-transform: rotate(13deg);
  transform: rotate(13deg);
}

.campaign {
  padding: 10.8rem 0 6rem;
  background: url(../img/campaign-bg.png) center center no-repeat;
  background-size: cover;
}

.campaign-inner {
  padding: 9.4rem 3.5rem 4.8rem;
  background-color: #fff;
  border-radius: 1rem;
  position: relative;
}

.campaign-fukidashi {
  background: url(../img/campaign-fukidashi.png) center center no-repeat;
  background-size: contain;
  padding: 2.05rem 4.75rem 3rem;
  position: absolute;
  top: -5.6rem;
  left: 50%;
  transform: translateX(-50%);
  width: 69.403%;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.campaign-inner > p:first-of-type {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  width: fit-content;
  margin: 0 auto 3rem;
  color: #ef235e;
  position: relative;
}

.campaign-inner > p:first-of-type::before {
  content: "";
  background: url(../img/line-left1.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: -3rem;
  width: 1.5rem;
  height: 3rem;
}

.campaign-inner > p:first-of-type::after {
  content: "";
  background: url(../img/line-right1.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: -3rem;
  width: 1.5rem;
  height: 3rem;
}

.campaign-inner > p:first-of-type > span {
  font-family: "Montserrat";
  font-size: 4rem;
}

.campaign-inner > h2 {
  font-size: 5.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.48;
  position: relative;
  width: fit-content;
  text-align: center;
  margin: 0 auto 8.05rem;
  border-top: 2px dotted #252525;
  border-bottom: 2px dotted #252525;
  padding: 3rem 3.2rem 2.1rem;
}

.campaign-inner > h2 > span:first-of-type {
  color: #fefb93;
  font-size: 8.4rem;
  font-family: "LINE Seed";
  line-height: 1;
  text-shadow: rgb(37, 37, 37) 4px 0px 0px,
    rgb(37, 37, 37) 3.87565px 0.989616px 0px,
    rgb(37, 37, 37) 3.51033px 1.9177px 0px,
    rgb(37, 37, 37) 2.92676px 2.72656px 0px,
    rgb(37, 37, 37) 2.16121px 3.36588px 0px,
    rgb(37, 37, 37) 1.26129px 3.79594px 0px,
    rgb(37, 37, 37) 0.282949px 3.98998px 0px,
    rgb(37, 37, 37) -0.712984px 3.93594px 0px,
    rgb(37, 37, 37) -1.66459px 3.63719px 0px,
    rgb(37, 37, 37) -2.51269px 3.11229px 0px,
    rgb(37, 37, 37) -3.20457px 2.39389px 0px,
    rgb(37, 37, 37) -3.69721px 1.52664px 0px,
    rgb(37, 37, 37) -3.95997px 0.56448px 0px,
    rgb(37, 37, 37) -3.97652px -0.432781px 0px,
    rgb(37, 37, 37) -3.74583px -1.40313px 0px,
    rgb(37, 37, 37) -3.28224px -2.28625px 0px,
    rgb(37, 37, 37) -2.61457px -3.02721px 0px,
    rgb(37, 37, 37) -1.78435px -3.57996px 0px,
    rgb(37, 37, 37) -0.843183px -3.91012px 0px,
    rgb(37, 37, 37) 0.150409px -3.99717px 0px,
    rgb(37, 37, 37) 1.13465px -3.8357px 0px,
    rgb(37, 37, 37) 2.04834px -3.43574px 0px,
    rgb(37, 37, 37) 2.83468px -2.82216px 0px,
    rgb(37, 37, 37) 3.44477px -2.03312px 0px,
    rgb(37, 37, 37) 3.84068px -1.11766px 0px,
    rgb(37, 37, 37) 3.9978px -0.132717px 0px;
}

.campaign-inner > h2 > span:first-of-type > span {
  font-size: 5.8rem;
}

.campaign-inner > h2 > span:last-of-type {
  font-size: 6.1rem;
}

.campaign-inner > .cta-btn {
    padding-left: 3rem;
    padding-right: 8.2rem;
}

.campaign-inner > .cta-btn::before {
  content: "まずは話を聞くだけでもOK";
  position: absolute;
  top: -32%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #fff;
  width: 77.404%;
  border: 3px solid #fdb12d;
  background-color: #fff;
  color: #fda513;
  border-radius: 3rem;
  padding: 1.4rem 0;
}

.campaign-inner > .cta-btn::after {
  content: "";
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.5rem 0 0.5rem;
  border-color: #fff transparent transparent transparent;
}

.greeting {
  background: url(../img/greeting-bg3.png) bottom center no-repeat;
  background-size: cover;
  padding: 7.5rem 0 7.5rem;
  text-align: center;
  position: relative;
  z-index: 2;
}

.greeting > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  margin-bottom: 10rem;
}

.greeting > h2:after {
  content: "";
  background: url(../img/time-schedule-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 35%;
  height: 1.9rem;
}

.greeting > h2 > span {
  color: #ef235e;
}

.greeting-inner > img {
  width: 100%;
}

.greeting-inner > p {
  padding: 6rem 4rem;
  text-align: left;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.92;
  background-color: #fff;
  border-radius: 0 0 1rem 1rem;
  margin-bottom: 10rem;
}

/* .contact {
  padding-top: 7rem;
  position: relative;
  z-index: 2;
}

.contact > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ef235e;
  position: relative;
  margin-bottom: 10rem;
}

.contact > h2:after {
  content: "";
  background: url(../img/contact-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 74.21%;
  height: 1.9rem;
}

.contact-form {
  margin-bottom: 5rem;
}

.contact-form > .form-group:first-of-type {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

.contact-form > .form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.contact-form > .form-group label {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}

.contact-form > .form-group #date {
  border: 1px solid #ef235e;
  border-radius: 0.5rem;
  padding: 3.7rem 3.1rem 3.7rem 4rem;
  font-size: 2.6rem;
  font-family: "Montserrat";
  font-weight: 500;
  letter-spacing: 0.1em;
}

.contact-form > .form-group #date::placeholder {
  color: #afafaf;
}

.contact-form > .form-group #name {
  border: 1px solid #ef235e;
  border-radius: 0.5rem;
  padding: 3.7rem 3.1rem 3.7rem 4rem;
  font-size: 2.6rem;
  font-family: "Montserrat";
  font-weight: 500;
  letter-spacing: 0.1em;
}

.contact-form > .form-group #name::placeholder {
  color: #afafaf;
}

.contact-form > .form-group #email {
  border: 1px solid #ef235e;
  border-radius: 0.5rem;
  padding: 3.7rem 3.1rem 3.7rem 4rem;
  font-size: 2.6rem;
  font-family: "Montserrat";
  font-weight: 500;
  letter-spacing: 0.1em;
}

.contact-form > .form-group #email::placeholder {
  color: #afafaf;
}

.contact-form > .form-group #time {
  border: 1px solid #ef235e;
  border-radius: 0.5rem;
  padding: 3.7rem 3.1rem 3.7rem 4rem;
  font-size: 2.6rem;
  font-family: "Montserrat";
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #afafaf;
  position: relative;
}

.contact-form > .form-group #time:after {
  content: "";
  background: url(../img/form-time-triangle.svg) center center no-repeat;
  background-size: contain;
  width: 1.85rem;
  height: 1.28rem;
  position: absolute;
  top: 50%;
  right: 4.1rem;
  transform: translateY(-50%);
}

.contact-form-arrow {
  width: 2.2rem;
  margin: 0 auto 1rem;
}

.form-attention {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.92;
  text-align: center;
  margin-bottom: 4rem;
}

.contact-form .btn {
  display: block;
  background: url(../img/cta-btn-bg.png) center center no-repeat;
  background-size: cover;
  padding: 3.6rem 11.9rem 3.6rem 7.2rem;
  width: fit-content;
  margin: 0 auto;
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #ffffff;
  position: relative;
  border-radius: 1.3rem;
}

.contact-form .btn-arrow {
  position: absolute;
  width: 4.1rem;
  height: auto;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
} */

.faq {
  background-color: #eef7fa;
  background-size: cover;
  padding: 20rem 0 15rem;
  margin-top: -15rem;
  position: relative;
  z-index: 1;
}

.faq > h2 {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  margin-bottom: 10rem;
}

.faq > h2:after {
  content: "";
  background: url(../img/contact-fukidashi.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 49.21%;
  height: 1.9rem;
}

.faq > h2 > span {
  color: #3a8eb2;
}

.faq-inner {
  margin-bottom: 2rem;
  box-shadow: 0 0 1rem #b3d2e0da;
}

.faq-inner:last-of-type {
  margin-bottom: 0;
}

.faq-question {
  padding: 2.6rem 0;
  padding-left: 7rem;
  background-color: #deeff7;
  border-radius: 1rem 1rem 0 0;
  position: relative;
  font-size: 2.6rem;
  color: #3a8eb2;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.9;
}

.faq-question::before {
  content: "Q.";
  position: absolute;
  top: 2.6rem;
  left: 4rem;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #3a8eb2;
}

.faq-answer {
  padding: 3rem 4rem;
  padding-left: 7rem;
  background-color: #fff;
  position: relative;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-radius: 0 0 1rem 1rem;
  line-height: 1.9;
}

.faq-answer::before {
  content: "A.";
  position: absolute;
  top: 3rem;
  left: 4rem;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #3a8eb2;
}

.faq-answer > span {
  color: #ef235e;
}

.faq-cta-container {
  padding: 2rem 0;
  background-color: #ffe8ee;
}

.thanks {
  background: url(../img/thanks-bg.png) center center no-repeat;
  background-size: cover;
  padding: 12.2rem 0 4.86rem;
}

.thanks > h2 {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 5.34rem;
  position: relative;
}

.thanks > h2 > span {
  color: #ef235e;
  font-size: 4rem;
}

.thanks > h2::before {
  content: "";
  background: url(../img/line-left3.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 10rem;
  width: 4.2rem;
  height: 6.07rem;
}

.thanks > h2::after {
  content: "";
  background: url(../img/line-right3.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 10rem;
  width: 4.2rem;
  height: 6.07rem;
}

.thanks > p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.3;
  text-align: center;
  margin-bottom: 4.08rem;
}

.thanks-list {
  border: 3px solid #f79bb6;
  border-radius: 2rem;
  background-color: #fff;
  padding: 5rem 3rem;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.14;
  margin-bottom: 5rem;
}

.thanks > p:last-of-type {
  margin-bottom: 7.85rem;
}

.floating-btn {
  position: fixed;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  animation: pulse2 2.5s infinite;
}

  
@keyframes pulse2 {
  0% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.05); }
  100% { transform: translateX(-50%) scale(1); }
}

.floating-btn:hover{
	transform: translateX(-50%) scale(1.05);
}

.floating-btn.visible {
  opacity: 1;
  pointer-events: auto;
}