@charset "UTF-8";
img {
  width: 100%;
}

.sp {
  display: none;
}

.l_cta {
  padding-block: 150px;
  background: url(../../assets/img/CTA.webp);
  background-size: cover;
}

.p_cta_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p_cta_text p {
  font-size: clamp(1rem, 0.823943662rem + 0.7511737089vw, 1.5rem);
  font-family: "Zen Maru Gothic", serif;
  color: #2F2324;
}

.p_cta_btn {
  margin-top: 96px;
  text-align: center;
}

.l_footer {
  padding-block: 80px 40px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.1))), #C2C4E9;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), #C2C4E9;
}

.footer_nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer_nav_list li {
  font-size: 20px;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  line-height: 1.5;
  padding-inline: 4px;
  position: relative;
}
.footer_nav_list li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #fff;
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}
.footer_nav_list li:hover::after {
  width: 100%;
}

.l_footer_copy {
  padding-top: 130px;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  font-weight: 400;
  line-height: 1.5;
}

.l_header_menu {
  width: 100px;
  height: 100px;
  background-color: #E41B5C;
  position: fixed;
  top: 50px;
  right: 150px;
  border-radius: 50%;
  cursor: pointer;
}

.l_header_menu-open {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l_header_menu-open:checked .line-1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.lines {
  width: 40px;
  height: 4px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.line-1 {
  top: 45px;
}

.line-2 {
  top: 63px;
}

.c_btn a {
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
  padding: 16px 96px 16px 48px;
  background-color: #E41B5C;
  border-radius: 40px;
  -webkit-box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
  position: relative;
}
.c_btn a::after {
  content: "";
  position: absolute;
  background: url(../../assets/img/btn_arrow.webp);
  width: 32px;
  height: 15px;
  background-size: cover;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 48px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.c_btn a:hover::after {
  width: 40px;
  height: 19px;
  right: 33px;
}

.c_section_title {
  background: -webkit-gradient(linear, left top, right top, from(#E41B5C), color-stop(94.25%, #AD33D7));
  background: linear-gradient(90deg, #E41B5C 0%, #AD33D7 94.25%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2.5rem, 1.9718309859rem + 2.2535211268vw, 4rem);
  font-family: "Paytone One", sans-serif;
  font-weight: 400;
  line-height: 2;
  text-align: center;
}

.c_inner {
  max-width: 1140px;
  margin: auto;
  width: 90%;
}

.p_fv {
  background: url(../../assets/img/fv.webp);
  background-size: cover;
  padding: 50px 150px 116px;
}

.p_fv_logo {
  font-family: "Zen Maru Gothic", serif;
  color: #fff;
  font-size: clamp(2rem, 1.2957746479rem + 3.0046948357vw, 4rem);
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.p_fv_text_wrap {
  position: relative;
  margin-top: 124px;
  border-radius: 20px;
  padding: 28px 30px 32px;
  max-width: 520px;
  width: 100%;
}

.blur-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.7);
  -webkit-filter: blur(10px);
          filter: blur(10px);
  z-index: 1; /* 背景を後ろに配置 */
}

.p_fv_text_heading,
.p_fv_text {
  position: relative;
  z-index: 1; /* テキストを前に配置 */
}

.p_fv_text_heading {
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(1.25rem, 1.073943662rem + 0.7511737089vw, 1.75rem);
  font-weight: 500;
  color: #2F2324;
  line-height: 1.5;
}

.p_fv_text {
  padding-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.p_fv_text p {
  font-family: "Zen Maru Gothic", serif;
  color: #2F2324;
  font-weight: 400;
  line-height: 1.5;
  font-size: clamp(1rem, 0.911971831rem + 0.3755868545vw, 1.25rem);
}

.p_fv_btn {
  margin-top: 118px;
  text-align: center;
}

.p_product {
  padding-block: 100px;
}

.p_product_btn {
  text-align: center;
  margin-top: 96px;
}

.p_service {
  padding-block: 100px;
  background: url(../../assets/img/service_bg.webp);
  background-size: cover;
}

.p_service_text {
  font-size: clamp(1.25rem, 1.073943662rem + 0.7511737089vw, 1.75rem);
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 80px;
}

.p_service_content {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

.p_service_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  padding: 24px;
  border-radius: 44px;
  background-color: #fff;
  -webkit-box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(212, 212, 212, 0.5) inset, -4px 4px 8px 0px rgba(212, 212, 212, 0.2), 4px -4px 8px 0px rgba(212, 212, 212, 0.2), -4px -4px 8px 0px rgba(255, 255, 255, 0.9), 4px 4px 10px 0px rgba(212, 212, 212, 0.9);
          box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.3) inset, -1px -1px 2px 0px rgba(212, 212, 212, 0.5) inset, -4px 4px 8px 0px rgba(212, 212, 212, 0.2), 4px -4px 8px 0px rgba(212, 212, 212, 0.2), -4px -4px 8px 0px rgba(255, 255, 255, 0.9), 4px 4px 10px 0px rgba(212, 212, 212, 0.9);
  max-width: 1000px;
  margin: auto;
}
.p_service_item:nth-of-type(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p_service_item:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #FAFAFA;
}

.p_service_item_img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 34%;
          flex: 0 0 34%;
  max-width: 300px;
}
.p_service_item_img img {
  aspect-ratio: 300/240;
}

.p_service_item_r {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}

.p_service_item_heading {
  font-family: "Zen Maru Gothic", serif;
  color: #2F2324;
  font-weight: 500;
  line-height: 1.5;
  font-size: clamp(1.25rem, 1.073943662rem + 0.7511737089vw, 1.75rem);
}

.p_service_item_text {
  font-size: clamp(1rem, 0.911971831rem + 0.3755868545vw, 1.25rem);
  font-family: "Zen Maru Gothic", serif;
  color: #2F2324;
  font-weight: 400;
  line-height: 1.5;
  padding-top: 24px;
}

.p_service_bottom_text {
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: clamp(1.25rem, 1.161971831rem + 0.3755868545vw, 1.5rem);
  padding-top: 80px;
  text-align: center;
}

.p_plan {
  padding-block: 100px;
  background-color: #FFFEFF;
}

.p_plan_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  margin-top: 80px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p_plan_item {
  max-width: 480px;
  border: 4px solid #C2C4E9;
  border-radius: 20px;
}

.p_plan_item_title {
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  text-align: center;
  padding-block: 40px;
  line-height: 1.5;
  background-color: #C2C4E9;
  font-size: clamp(1.75rem, 1.573943662rem + 0.7511737089vw, 2.25rem);
}

.p_service_item_content {
  padding: 40px;
}

.p_plan_item_text {
  font-size: clamp(1rem, 0.911971831rem + 0.3755868545vw, 1.25rem);
  font-family: "Zen Maru Gothic", serif;
  color: #2F2324;
  line-height: 1.5;
  font-weight: 400;
}

.p_plan_item_price {
  padding-top: 32px;
  font-size: clamp(1.5rem, 1.1478873239rem + 1.5023474178vw, 2.5rem);
  font-weight: 400;
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  line-height: 1.5;
  text-align: center;
}
.p_plan_item_price span {
  font-size: clamp(2rem, 1.6478873239rem + 1.5023474178vw, 3rem);
  font-weight: 500;
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  line-height: 1.5;
  padding-inline: 8px;
}

.p_plan_item_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 255px;
  margin: 32px auto 0;
}
.p_plan_item_list li {
  font-family: jp;
  color: #2F2324;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
  padding-left: 24px;
  position: relative;
}
.p_plan_item_list li::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #C2C4E9;
  border-radius: 50%;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p_plan_btn {
  margin-top: 96px;
  text-align: center;
}

.p_news {
  padding-block: 100px;
  background-color: #FAFAFA;
}

.p_news_content {
  max-width: 1000px;
  margin: 80px auto 0;
}

.p_news_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  padding: 34px 32px;
  background-color: #fff;
}
.p_news_item:nth-of-type(2n) {
  background: rgba(194, 196, 233, 0.4);
}
.p_news_item:first-of-type {
  border-radius: 20px 20px 0 0;
}
.p_news_item:last-of-type {
  border-radius: 0px 0px 20px 20px;
}

.p_news_item_date {
  font-size: clamp(1rem, 0.9725274725rem + 0.5860805861vw, 1.5rem);
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  line-height: 1.5;
  font-weight: 400;
}

.p_news_item_title {
  font-size: clamp(1rem, 0.9725274725rem + 0.5860805861vw, 1.5rem);
  color: #2F2324;
  font-family: "Zen Maru Gothic", serif;
  line-height: 1.5;
  font-weight: 400;
}

.p_news_btn {
  margin-top: 96px;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
  .l_cta {
    padding-bottom: 80px;
    background: url(../../assets/img/CTA_sp.webp);
    background-size: cover;
  }
  .p_cta_btn {
    margin-top: 76px;
  }
  .l_footer {
    padding-block: 50px 16px;
  }
  .footer_nav_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l_footer_copy {
    padding-top: 50px;
  }
  .c_btn a::after {
    right: 32px;
  }
  .c_btn a {
    padding: 15px 66px 15px 32px;
  }
  .c_inner {
    max-width: 335px;
  }
  .p_fv {
    padding: 20px 18px 50px 20px;
    background: url(../../assets/img/fv_sp.webp);
    background-size: cover;
  }
  .p_fv_text_wrap {
    margin-top: 60px;
    padding: 0;
  }
  .blur-background {
    background: none;
  }
  .p_fv_text {
    padding-top: 20px;
  }
  .p_fv_btn {
    background-color: #E41B5C;
    -webkit-box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
            box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 40px;
    padding: 16px 66px 16px 32px;
    text-align: left;
    position: relative;
    margin-top: 228px;
  }
  .p_fv_btn::after {
    content: "";
    position: absolute;
    background: url(../../assets/img/btn_arrow.webp);
    width: 32px;
    height: 15px;
    background-size: cover;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 32px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .p_product {
    padding-block: 50px;
  }
  .p_service {
    padding-block: 50px;
  }
  .p_service_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    width: 90%;
    padding: 16px;
  }
  .p_service_item:nth-of-type(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    width: 90%;
  }
  .p_service_item_heading {
    text-align: center;
  }
  .p_service_bottom_text {
    text-align: left;
  }
  .p_plan {
    padding-block: 50px;
  }
  .p_plan_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin-top: 40px;
  }
  .p_plan_item {
    width: 96%;
    margin: auto;
  }
  .p_plan_item_title {
    padding-block: 20px;
  }
  .p_service_item_content {
    padding: 20px;
  }
  .p_plan_item_price {
    padding-top: 16px;
  }
  .p_plan_item_list {
    margin: 16px 0 0 0;
  }
  .p_plan_btn {
    margin-top: 56px;
  }
  .p_news {
    padding-block: 50px;
  }
  .p_news_content {
    margin: 40px auto 0;
    width: 90%;
  }
  .p_news_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    padding: 8px 16px;
  }
  .p_news_btn {
    margin-top: 56px;
  }
}

@media screen and (max-width: 480px) and (max-width: 480px) {
  .p_fv_btn a {
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 0;
    line-height: 1.5;
  }
  .p_fv_btn a::after {
    display: none;
  }
}
/*# sourceMappingURL=style.css.map */