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

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:root {
  --liquid-size-sp: clamp(0.75rem, 5.333vw - 0.25rem, 1rem);
  --liquid-size-pc: clamp(0.6875rem, 1.506vw - 0.035rem, 1rem);
  --contents--sp: min(100%, 23.4375rem);
  --contents--pc: min(100%, 68.75rem);
  --header-height: calc(var(--liquid-size) * 6.25);
  --liquid-size: var(--liquid-size-pc);
  --contents: var(--contents--pc);
  --side-pad: 0;
}
@media (width < 768px) {
  :root {
    --liquid-size: var(--liquid-size-sp);
    --contents: var(--contents--sp);
    --side-pad: 0;
    --header-height: calc(var(--liquid-size) * 3.375);
  }
}

body {
  background: #fff;
  font-size: 1rem !important;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #4c4c4c;
  line-height: 1.5;
  letter-spacing: 0;
  background: #fff;
}
body.is-fixed {
  overflow: hidden;
  padding-right: var(--width, 0);
}
body.is-fixed .l-header {
  padding-right: var(--width, 0);
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

:where(svg[role=img]) {
  width: 100%;
  height: 100%;
}

:where(a) {
  text-decoration: none;
}

:where(button) {
  box-sizing: border-box;
}

summary {
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

:where(img),
:where(svg[role=img]) {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  text-decoration: none;
}

button {
  box-sizing: border-box;
}

:where(details) {
  list-style: none;
}
:where(details)::-webkit-details-marker {
  display: none;
}

:where(svg[role=img]) {
  width: 100%;
  height: 100%;
}

.grecaptcha-badge {
  visibility: hidden;
}

.l-body-wrapper {
  display: flex;
  flex-flow: column;
  position: relative;
  z-index: 0;
  min-height: 100vh;
  overflow: clip;
}
.l-body-wrapper .l-mainContent {
  align-self: center;
}

.l-header {
  position: fixed !important;
  top: 0;
  width: 100%;
  z-index: 25;
}

.l-modals {
  position: fixed;
  top: 0;
  z-index: -100;
  visibility: hidden;
}

.l-background {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -10;
}

.l-fixed-button {
  display: none;
  position: fixed;
  z-index: -100;
  bottom: 0;
}

.l-svg-mask {
  position: fixed;
  top: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  z-index: -100;
}

@media (width < 768px) {
  .l-fixed-button {
    display: initial;
    z-index: 23;
  }
}
.c-header {
  display: flex;
  justify-content: center;
  background: #feedfa;
  box-shadow: none !important;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
}

.c-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--liquid-size) * 7);
  position: relative;
  z-index: 0;
  width: calc(var(--liquid-size) * 68.75);
  min-height: var(--header-height);
  padding-inline: calc(var(--liquid-size) * 6.25) calc(var(--liquid-size) * 1.125);
}

.c-header__title {
  flex-shrink: 0;
  position: relative;
  z-index: 0;
  width: calc(var(--liquid-size) * 5.8125);
  height: calc(var(--liquid-size) * 5.25);
}

.c-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  width: calc(var(--liquid-size) * 5.8125);
  aspect-ratio: 93/84;
  transition: all 0.3s ease-out;
}
.c-header__logo img {
  z-index: 0;
}
.c-header__logo::after {
  content: "";
  position: absolute;
  z-index: -10;
  width: calc(var(--liquid-size) * 85);
  aspect-ratio: 1284/769;
  opacity: 0;
  pointer-events: none;
  background: url(../images/effect_shine.webp) center/cover no-repeat;
  transform: rotate(-12deg);
  transition: opacity 0.3s ease-in-out;
}
.c-header.is-on-mv .c-header__logo {
  width: calc(var(--liquid-size) * 11.75);
  top: calc(var(--liquid-size) * 0.5);
  right: calc(var(--liquid-size) * -1.25);
}
.c-header.is-on-mv .c-header__logo::after {
  opacity: 1;
}

.c-header__nav {
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.c-header__nav-title {
  display: none;
}

.c-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(var(--liquid-size) * 1.875);
}

.c-header__nav-link {
  display: flex;
  flex-flow: column;
  align-items: center;
  position: relative;
  gap: calc(var(--liquid-size) * 0.375);
  color: #a84360;
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 700;
  line-height: 1.875;
  transition: color 0.3s ease-in-out;
}
.c-header__nav-link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: calc(var(--liquid-size) * 0.0625);
  background: transparent;
  transition: background 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .c-header__nav-link:hover::after {
    background: #a84360;
  }
}

.c-header__hamburger {
  display: none;
}

.c-header__nav-cta {
  position: relative;
  width: calc(var(--liquid-size) * 10.9375);
  aspect-ratio: 175/43;
}

.c-header__cta-button {
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--liquid-size) * 10.9375);
  aspect-ratio: 175/43;
  border-radius: calc(var(--liquid-size) * 0.3125);
  background: #a84360;
  border: 1px solid #a84360;
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  transition: all 0.3s ease-in-out;
}
.c-header__cta-button br {
  display: none;
}
.c-header__cta-button .m-text {
  font-size: calc(var(--liquid-size) * 1);
  text-shadow: calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .c-header__cta-button:hover {
    background: #fff;
    color: #a84360;
  }
}

@media (width >= 768px) {
  .c-header.is-on-mv .c-header__cta-button {
    top: calc(var(--liquid-size) * -0.875);
    right: calc(var(--liquid-size) * 2.5);
    width: calc(var(--liquid-size) * 9.3125);
    aspect-ratio: 1/1;
    border-radius: 50%;
  }
  .c-header.is-on-mv .c-header__cta-button br {
    display: initial;
  }
  .c-header.is-on-mv .c-header__cta-button::after {
    opacity: 1;
  }
  .c-header.is-on-mv .c-header__cta-button .m-text {
    opacity: 1;
    font-size: calc(var(--liquid-size) * 1.5);
  }
}
@media (width < 768px) {
  .c-header__inner {
    padding-inline: calc(var(--liquid-size) * 0.8125) calc(var(--liquid-size) * 1.0625);
  }
  .c-header__inner::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: rgba(168, 67, 96, 0.6);
    z-index: 50;
    transition: all 0.3s ease-in-out;
  }
  .c-header__inner:has(.is-modal-show)::after {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .c-header__title {
    flex-shrink: 0;
    position: relative;
    z-index: 0;
    width: calc(var(--liquid-size) * 2.6875);
    height: calc(var(--liquid-size) * 2.4375);
  }
  .c-header__logo {
    width: calc(var(--liquid-size) * 2.6875);
  }
  .c-header__logo::after {
    content: none;
    display: none;
  }
  .c-header.is-on-mv .c-header__logo {
    width: calc(var(--liquid-size) * 5.8125);
    top: calc(var(--liquid-size) * 0.125);
    right: calc(var(--liquid-size) * -3.625);
  }
  .c-header__nav {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: flex-start;
    gap: calc(var(--liquid-size) * 1.5625);
    position: absolute;
    z-index: 60;
    top: 0;
    right: 0;
    margin-right: calc(var(--width) * -1);
    width: calc(var(--liquid-size) * 15.625 + var(--width));
    height: min(100svh, var(--liquid-size) * 39.8125);
    padding: calc(var(--liquid-size) * 3.125) calc(var(--liquid-size) * 2.375);
    border-radius: 0 0 0 calc(var(--liquid-size) * 1.25);
    border-left: 1px solid #a84360;
    border-bottom: 1px solid #a84360;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
  }
  .c-header__nav.is-modal-show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
  .c-header__nav-title {
    display: block;
    width: calc(var(--liquid-size) * 5.8125);
    aspect-ratio: 93/84;
  }
  .c-header__nav-list {
    flex-flow: column;
    align-items: center;
    width: min(100%, var(--liquid-size) * 10);
    gap: calc(var(--liquid-size) * 1.25);
    margin-top: calc(var(--liquid-size) * 1.5625);
  }
  .c-header__nav-item {
    position: relative;
  }
  .c-header__nav-link {
    display: block;
    position: relative;
    padding-block: calc(var(--liquid-size) * 0.3125);
    transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
  }
  .c-header__nav-link::after {
    display: none;
  }
}
@media (width < 768px) and (any-hover: hover) {
  .c-header__nav-link:hover {
    background: #fff;
  }
}
@media (width < 768px) {
  .c-header__nav-contact {
    display: flex;
    flex-flow: column;
    gap: calc(var(--liquid-size) * 1);
    width: min(100%, var(--liquid-size) * 22.5);
    margin-top: calc(var(--liquid-size) * 2.75);
  }
  .c-header__nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--liquid-size) * 0.5);
    width: 100%;
    height: calc(var(--liquid-size) * 3.875);
    border-radius: 100vmax;
    background: #dd5a6f;
    border: 1px solid #dd5a6f;
    color: #fff;
    font-size: calc(var(--liquid-size) * 1);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
  }
  .c-header__nav-button .m-icon {
    flex-shrink: 0;
    width: calc(var(--liquid-size) * 1.75);
    aspect-ratio: 1/1;
    filter: grayscale(100%) brightness(1000);
  }
}
@media (width < 768px) and (any-hover: hover) {
  .c-header__nav-button:hover {
    background: #feedfa;
    color: #dd5a6f;
  }
  .c-header__nav-button:hover .m-icon {
    filter: none;
  }
}
@media (width < 768px) {
  .c-header__hamburger {
    display: initial;
    z-index: 100;
  }
}
.c-footer {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #feedfa 100%);
}

.c-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--liquid-size) * 1.5);
  position: relative;
  width: min(100%, var(--liquid-size) * 56.25);
  padding-block: calc(var(--liquid-size) * 4.375) calc(var(--liquid-size) * 6.25);
}

.c-footer__info {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 3.125);
}

.c-footer__logo {
  width: calc(var(--liquid-size) * 8.125);
  aspect-ratio: 93/84;
}

.c-footer__title {
  margin-left: calc(var(--liquid-size) * -1.4375);
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.5;
}

.c-footer__address {
  display: flex;
  flex-flow: column;
  font-style: normal;
  font-size: calc(var(--liquid-size) * 1);
  line-height: 1.875;
}

.c-footer__nav-list {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1.25);
  margin-top: calc(var(--liquid-size) * 1.875);
}

.c-footer__nav-link {
  position: relative;
  color: #a84360;
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 700;
  line-height: 1.875;
}
.c-footer__nav-link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: calc(var(--liquid-size) * 0.0625);
  background: transparent;
  transition: background 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .c-footer__nav-link:hover::after {
    background: #a84360;
  }
}

.c-footer__copyright {
  align-self: stretch;
  color: #fff;
  background: #a84360;
  font-size: calc(var(--liquid-size) * 0.75);
  line-height: calc(var(--liquid-size) * 1.875);
  text-align: center;
}

@media (width < 768px) {
  .c-footer__inner {
    width: min(100%, var(--liquid-size) * 15);
    padding-block: calc(var(--liquid-size) * 4.375) calc(var(--liquid-size) * 2.5);
  }
  .c-footer__info {
    align-items: center;
    gap: calc(var(--liquid-size) * 1.875);
  }
  .c-footer__title {
    margin-left: 0;
    text-align: center;
    font-size: calc(var(--liquid-size) * 1.25);
  }
  .c-footer__address {
    width: 100%;
    margin-top: calc(var(--liquid-size) * 4.375);
    font-size: calc(var(--liquid-size) * 0.75);
    line-height: calc(var(--liquid-size) * 1.25);
  }
  .c-footer__nav-list {
    display: none;
  }
  .c-footer__copyright {
    font-size: calc(var(--liquid-size) * 0.625);
  }
}
.c-hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0;
  border: none;
  background: none;
  width: calc(var(--liquid-size) * 2.25);
  aspect-ratio: 1/1;
}
.c-hamburger > span {
  display: block;
  position: absolute;
  width: calc(var(--liquid-size) * 1.25);
  height: calc(var(--liquid-size) * 0.1875);
  background: #a84360;
  transition: all 0.3s ease-in-out;
}
.c-hamburger > span:nth-child(1) {
  transform: translateY(calc(var(--liquid-size) * -0.4375));
}
.c-hamburger > span:nth-child(3) {
  transform: translateY(calc(var(--liquid-size) * 0.4375));
}
.c-hamburger.is-modal-show > span:nth-child(1) {
  transform: translateY(0) rotate(30deg);
}
.c-hamburger.is-modal-show > span:nth-child(2) {
  opacity: 0;
}
.c-hamburger.is-modal-show > span:nth-child(3) {
  transform: translateY(0) rotate(-30deg);
}

.c-only__sp {
  display: none;
}

@media (width < 768px) {
  .c-only__pc {
    display: none;
  }
  .c-only__sp {
    display: initial;
  }
}
.c-accordion {
  --duration: 0.3s;
  width: 100%;
  position: relative;
  overflow: clip;
  border-bottom: 1px solid #c3a9a6;
  counter-increment: faq-counter;
}
.c-accordion::before, .c-accordion::after {
  content: "";
  top: calc(var(--liquid-size) * 2.5);
  right: 0;
  position: absolute;
  width: 21px;
  height: 3px;
  border-radius: 100vmax;
  background-color: #e58a7d;
}
.c-accordion::before {
  rotate: 90deg;
  transition: rotate ease-out var(--duration);
}
.c-accordion.is-open::before {
  rotate: 0deg;
}

.c-accordion__summary {
  display: flex;
  align-items: center;
  position: relative;
  gap: calc(var(--liquid-size) * 0.625);
  padding-block: calc(var(--liquid-size) * 1.875);
  padding-right: calc(var(--liquid-size) * 2.5);
  font-size: calc(var(--liquid-size) * 1);
  line-height: 1.45;
  cursor: pointer;
  transition: padding-bottom var(--duration) ease-out;
}
.c-accordion__summary::before {
  flex-shrink: 0;
  content: "Q" counter(faq-counter);
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--liquid-size) * 3.125);
  height: calc(var(--liquid-size) * 1.5625);
  border-radius: calc(var(--liquid-size) * 0.3125);
  background: #c3a9a6;
  color: #fff;
  font-size: calc(var(--liquid-size) * 0.875);
  font-weight: 700;
  line-height: 1;
}
.c-accordion.is-open .c-accordion__summary {
  padding-bottom: calc(var(--liquid-size) * 1.5);
}

.c-accordion__answer {
  display: grid;
  grid-template-rows: 0fr;
  position: relative;
  opacity: 0;
  transition: grid-template-rows var(--duration) ease-out, padding var(--duration) ease-out, opacity var(--duration) linear;
}
.c-accordion.is-open .c-accordion__answer {
  grid-template-rows: 1fr;
  opacity: 1;
  padding-bottom: calc(var(--liquid-size) * 1.875);
}

.c-accordion__answer-inner {
  display: flex;
  gap: calc(var(--liquid-size) * 0.625);
  position: relative;
  padding-right: calc(var(--liquid-size) * 2.5);
  overflow: hidden;
  line-height: 1.6;
  font-size: calc(var(--liquid-size) * 1);
}
.c-accordion__answer-inner::before {
  flex-shrink: 0;
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--liquid-size) * 3.125);
  height: calc(var(--liquid-size) * 1.5625);
  border-radius: calc(var(--liquid-size) * 0.3125);
  background: #e58a7d;
  color: #fff;
  font-size: calc(var(--liquid-size) * 0.875);
  font-weight: 700;
  line-height: 1;
}

@media (width < 768px) {
  .c-accordion::before, .c-accordion::after {
    width: 18px;
  }
  .c-accordion__summary {
    padding-block: calc(var(--liquid-size) * 1.8125);
    padding-right: calc(var(--liquid-size) * 1.875);
  }
  .c-accordion__answer-inner {
    padding-right: 0;
  }
}
.c-scroll-fade__up {
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.c-scroll-fade__up.is-hidden {
  opacity: 0;
  transform: translateY(5rem);
}

.c-scroll-fade {
  transition: opacity 1s ease-out;
}
.c-scroll-fade.is-hidden {
  opacity: 0;
}

.p-first-view {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 100%;
  height: calc(100svh - var(--header-height));
  min-height: calc(var(--liquid-size) * 40);
  margin-top: var(--header-height);
  padding-inline: calc(var(--liquid-size) * 0.9375);
  overflow: hidden;
  background: linear-gradient(0deg, #fff 0%, #feedfa 100%);
}

.p-first-view__inner {
  display: flex;
  align-items: center;
  position: relative;
  width: min(var(--liquid-size) * 67.5, 100%);
  height: 100%;
  padding-block: calc(var(--liquid-size) * 3.125) calc(var(--liquid-size) * 2);
}

.p-first-view__mv-list {
  --right-position: calc(50vw - 50%);
  position: relative;
  z-index: 0;
  width: calc(100% + var(--right-position));
  height: 100%;
  margin-right: calc(var(--right-position) * -1);
  padding-left: calc(var(--liquid-size) * 5.625);
}
.p-first-view__mv-list::before {
  content: "";
  position: absolute;
  width: calc(var(--liquid-size) * 42.25);
  aspect-ratio: 676/271;
  bottom: calc(var(--liquid-size) * -2);
  left: 0;
  background: linear-gradient(180deg, #feedfa 0%, #fffde6 100%);
  z-index: -10;
}

.p-first-view__mv-item {
  border-radius: calc(var(--liquid-size) * 4.375) 0 0 0;
  height: 100%;
  overflow: hidden;
}
.p-first-view__mv-item img {
  -o-object-position: top center;
     object-position: top center;
}

.p-first-view__contents {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 5.1875);
  position: absolute;
  left: calc(var(--liquid-size) * 1);
  z-index: 0;
  padding-bottom: calc(var(--liquid-size) * 6);
}

.p-first-view__title {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1);
  position: relative;
  z-index: 0;
  color: #4c4c4c;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-shadow: 0 calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) rgba(255, 255, 255, 0.25);
}
.p-first-view__title .m-decorate-circle, .p-first-view__title .m-decorate-underline {
  position: relative;
}
.p-first-view__title .m-decorate-circle::after, .p-first-view__title .m-decorate-underline::after {
  content: "";
  position: absolute;
  z-index: -10;
  background: center/cover no-repeat;
}
.p-first-view__title .m-decorate-circle::after {
  top: calc(var(--liquid-size) * -1.75);
  left: calc(var(--liquid-size) * -0.75);
  width: calc(var(--liquid-size) * 9.625);
  aspect-ratio: 154/107;
  background-image: url(../images/bg_arrangement_circle.webp);
}
.p-first-view__title .m-decorate-underline::after {
  top: calc(100% - var(--liquid-size) * 1.625);
  left: calc(var(--liquid-size) * 4.5);
  width: calc(var(--liquid-size) * 15.125);
  aspect-ratio: 242/49;
  background-image: url(../images/bg_arrangement_underline.webp);
}

.p-first-view__selling-point {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: calc(var(--liquid-size) * 0.625);
  position: relative;
  padding-left: calc(var(--liquid-size) * 2.625);
  overflow: hidden;
}
.p-first-view__selling-point span {
  padding: calc(var(--liquid-size) * 0.1875) calc(var(--liquid-size) * 0.4375);
  background: #fff;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
}

@media (width < 768px) {
  .p-first-view {
    min-height: calc(var(--liquid-size) * 31.25);
  }
  .p-first-view__inner {
    width: min(var(--liquid-size) * 21.5625, 100%);
    padding-block: 0;
  }
  .p-first-view__mv-list {
    padding-left: calc(var(--liquid-size) * 3.75);
  }
  .p-first-view__mv-list::before {
    content: none;
    display: none;
  }
  .p-first-view__mv-item {
    border-radius: calc(var(--liquid-size) * 2.75) 0 0 0;
  }
  .p-first-view__mv-item img {
    -o-object-position: center right;
       object-position: center right;
  }
  .p-first-view__contents {
    gap: calc(var(--liquid-size) * 2.75);
    top: auto;
    bottom: auto;
    left: 0;
    padding-block: calc(var(--liquid-size) * 5) 0;
  }
  .p-first-view__title {
    font-size: calc(var(--liquid-size) * 1);
  }
  .p-first-view__title .m-decorate-circle::after {
    top: calc(var(--liquid-size) * -0.625);
    left: calc(var(--liquid-size) * -0.125);
    width: calc(var(--liquid-size) * 3.875);
  }
  .p-first-view__title .m-decorate-underline::after {
    top: calc(100% - var(--liquid-size) * 0.9375);
    left: calc(var(--liquid-size) * 2.25);
    width: calc(var(--liquid-size) * 7.6875);
  }
  .p-first-view__selling-point {
    gap: calc(var(--liquid-size) * 0.4375);
    padding-left: 0;
  }
  .p-first-view__selling-point span {
    padding: calc(var(--liquid-size) * 0.1875) calc(var(--liquid-size) * 0.3125);
    font-size: calc(var(--liquid-size) * 0.875);
  }
}
.p-top-info {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 0;
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.p-top-info__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 10);
  padding-block: calc(var(--liquid-size) * 9.375) calc(var(--liquid-size) * 10);
}

.p-top-info__title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.5;
}
.p-top-info__title::before {
  content: "";
  position: absolute;
  z-index: -10;
  width: calc(var(--liquid-size) * 26);
  aspect-ratio: 416/151;
  background: url(../images/bg_arrangement_pastel-paints.webp) center/cover no-repeat;
}

.p-top-info__desc {
  display: flex;
  flex-flow: column;
  align-items: center;
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 500;
  line-height: calc(var(--liquid-size) * 3.125);
}
.p-top-info__desc b {
  font-weight: 700;
  font-style: normal;
}

.p-top-info__bg-box {
  position: absolute;
  z-index: -10;
  inset: 0;
}

.p-top-info__bg {
  position: absolute;
  width: calc(var(--liquid-size) * 21.125);
  aspect-ratio: 338/339;
}
.p-top-info__bg.m-image-left {
  left: 0;
  top: calc(var(--liquid-size) * 14.125);
}
.p-top-info__bg.m-image-right {
  right: 0;
  bottom: 0;
}

@media (width < 768px) {
  .p-top-info__inner {
    gap: calc(var(--liquid-size) * 3.125);
    padding-block: calc(var(--liquid-size) * 7.375) calc(var(--liquid-size) * 13.9375);
  }
  .p-top-info__title {
    align-items: flex-end;
    font-size: calc(var(--liquid-size) * 1.75);
  }
  .p-top-info__title::before {
    width: calc(var(--liquid-size) * 18.75);
  }
  .p-top-info__desc {
    font-size: calc(var(--liquid-size) * 0.875);
  }
  .p-top-info__bg {
    position: absolute;
    width: calc(var(--liquid-size) * 10.9375);
  }
  .p-top-info__bg.m-image-left {
    top: auto;
    bottom: calc(var(--liquid-size) * 5);
  }
}
.p-top-service {
  display: flex;
  justify-content: center;
  background: linear-gradient(180deg, #fff 0%, #feedfa 100%);
}

.p-top-service__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 3.75);
  width: min(var(--liquid-size) * 67.5, 100%);
  padding-block: calc(var(--liquid-size) * 6.25);
}

.p-top-service__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}

.p-top-service__en-title {
  color: rgba(241, 107, 101, 0.3);
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-service__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.5;
}

.p-top-service__lead {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 500;
  line-height: calc(var(--liquid-size) * 2.5);
  text-align: center;
}

.p-top-service__list {
  display: flex;
  justify-content: center;
  gap: calc(var(--liquid-size) * 4.375);
}

.p-top-service__card {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.25);
  width: calc(var(--liquid-size) * 15);
}

.p-top-service__card-image {
  min-width: calc(var(--liquid-size) * 10.9375);
  aspect-ratio: 1/1;
}

.p-top-service__card-text {
  color: #dd5a6f;
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media (width < 768px) {
  .p-top-service {
    padding-inline: calc(var(--liquid-size) * 0.9375);
  }
  .p-top-service__inner {
    gap: calc(var(--liquid-size) * 3.75);
    width: min(var(--liquid-size) * 21.5625, 100%);
  }
  .p-top-service__en-title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-service__title {
    font-size: calc(var(--liquid-size) * 2);
  }
  .p-top-service__lead {
    font-size: calc(var(--liquid-size) * 0.875);
    line-height: calc(var(--liquid-size) * 2.5);
  }
  .p-top-service__list {
    flex-flow: column;
  }
}
.p-top-education {
  display: flex;
  justify-content: center;
  background: #fff;
}

.p-top-education__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 7.5);
  padding-block: calc(var(--liquid-size) * 4.125) calc(var(--liquid-size) * 4.75);
  width: min(100%, var(--liquid-size) * 56.25);
}

.p-top-education__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  position: relative;
  z-index: 0;
  width: 100%;
}

.p-top-education__lead {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 0.8125);
  font-size: calc(var(--liquid-size) * 1.5);
  line-height: 1.5;
}
.p-top-education__lead::after {
  content: "";
  display: block;
  width: calc(var(--liquid-size) * 19.4375);
  aspect-ratio: 311/73;
  background: url(../images/bg_arrangement_bubble.webp) no-repeat center/cover;
}

.p-top-education__title-group {
  align-self: flex-end;
  padding-block: calc(var(--liquid-size) * 6.6875) calc(var(--liquid-size) * 9.875);
}

.p-top-education__en-title {
  position: relative;
  left: calc(var(--liquid-size) * -5.6875);
  color: #e58a7d;
  font-size: calc(var(--liquid-size) * 2);
  font-family: "Homemade Apple", cursive, sans-serif;
  line-height: 2.2;
}

.p-top-education__title {
  font-size: calc(var(--liquid-size) * 2);
  font-weight: 700;
  line-height: calc(var(--liquid-size) * 3.125);
}

.p-top-education__image {
  --left-position: calc(50vw - 50%);
  position: absolute;
  left: calc(var(--left-position) * -1);
  bottom: 0;
  z-index: -10;
  width: calc(var(--left-position) + var(--liquid-size) * 29.25);
  height: calc(var(--liquid-size) * 27.375);
  border-radius: 0 calc(var(--liquid-size) * 6.25) 0 0;
  overflow: hidden;
}
.p-top-education__image img {
  -o-object-position: top 10% center;
     object-position: top 10% center;
}

.p-top-education__main {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 3.125);
  width: 100%;
}

.p-top-education__list {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 3.125);
  width: 100%;
}

.p-top-education__item {
  display: flex;
  gap: calc(var(--liquid-size) * 0.9375);
}

.p-top-education__item-number {
  flex-shrink: 0;
  color: #feedfa;
  font-family: "Italiana", serif;
  font-size: calc(var(--liquid-size) * 8);
  font-weight: 400;
  line-height: 1;
}

.p-top-education__item-inner {
  display: flex;
  gap: calc(var(--liquid-size) * 1.875);
  align-items: center;
  min-height: calc(var(--liquid-size) * 18.75);
  padding: calc(var(--liquid-size) * 1.875) calc(var(--liquid-size) * 1.25);
  border-radius: calc(var(--liquid-size) * 1.25);
  border: solid 1px #d694c7;
}

.p-top-education__item-header {
  flex-shrink: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  width: calc(var(--liquid-size) * 16.375);
}

.p-top-education__item-title {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.p-top-education__item-image {
  width: calc(var(--liquid-size) * 12.5);
  aspect-ratio: 100/87;
}

.p-top-education__item-desc {
  font-size: calc(var(--liquid-size) * 0.875);
  line-height: calc(var(--liquid-size) * 1.875);
  letter-spacing: 0.1em;
}

.p-top-education__link-area {
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  min-width: calc(var(--liquid-size) * 18.75);
  min-height: calc(var(--liquid-size) * 3.75);
}
.p-top-education__link-area::after {
  content: "";
  position: absolute;
  z-index: -10;
  bottom: calc(var(--liquid-size) * -3.125);
  width: calc(var(--liquid-size) * 18.125);
  aspect-ratio: 290/99;
  background: url(../images/bg_arrangement_shadow.webp) no-repeat center/cover;
}

.p-top-education__link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: calc(var(--liquid-size) * 0.5);
  color: #fff;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
  letter-spacing: 0.1em;
  background: linear-gradient(90deg, #d44e62 0%, #6e2933 100%);
  transition: color 0.3s ease-in-out;
}
.p-top-education__link::after {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  border-radius: inherit;
  border: 1px solid #a84360;
  background: #fff;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .p-top-education__link:hover {
    color: #a84360;
  }
  .p-top-education__link:hover::after {
    opacity: 1;
  }
}

@media (width < 768px) {
  .p-top-education__inner {
    gap: calc(var(--liquid-size) * 3.125);
    width: min(100%, var(--liquid-size) * 21.5625);
  }
  .p-top-education__header {
    gap: calc(var(--liquid-size) * 2.25);
  }
  .p-top-education__title-group {
    padding-block: 0;
  }
  .p-top-education__en-title {
    left: 0;
    font-size: calc(var(--liquid-size) * 1.25);
  }
  .p-top-education__title {
    margin-top: calc(var(--liquid-size) * 0.8125);
    font-size: calc(var(--liquid-size) * 1.5);
    line-height: calc(var(--liquid-size) * 1.875);
    text-align: center;
  }
  .p-top-education__image {
    position: relative;
    width: calc(var(--liquid-size) * 22.5 + var(--left-position));
    left: 0;
    margin-left: calc(var(--left-position) * -1);
    margin-right: calc(var(--liquid-size) * -0.9375);
    height: calc(var(--liquid-size) * 15.625);
  }
  .p-top-education__list {
    gap: calc(var(--liquid-size) * 1.875);
  }
  .p-top-education__item {
    flex-flow: column;
    align-items: center;
    gap: 0;
  }
  .p-top-education__item-number {
    margin-block: calc(var(--liquid-size) * -1.875) calc(var(--liquid-size) * -1.25);
  }
  .p-top-education__item-inner {
    flex-flow: column;
    align-items: center;
    border: none;
    padding-block: 0 calc(var(--liquid-size) * 2.5);
    padding-inline: 0;
  }
}
.p-top-strong-point {
  display: flex;
  justify-content: center;
  background: #fff;
  width: 100%;
  padding-block: calc(var(--liquid-size) * 2.8125) calc(var(--liquid-size) * 3.75);
  padding-inline: calc(var(--liquid-size) * 1.875);
}

.p-top-strong-point__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 3.375);
  width: min(100%, var(--liquid-size) * 68.75);
  padding-block: calc(var(--liquid-size) * 6.25) calc(var(--liquid-size) * 5.375);
  background: url(../images/bg_strong-point.webp) no-repeat center/cover;
}

.p-top-strong-point__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 3);
}

.p-top-strong-point__en-title {
  color: #dd5a6f;
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-strong-point__title {
  font-size: calc(var(--liquid-size) * 2);
  font-weight: 700;
  line-height: calc(var(--liquid-size) * 3.125);
  text-align: center;
}
.p-top-strong-point__title .m-emphasis-dot {
  position: relative;
}
.p-top-strong-point__title .m-emphasis-dot::after {
  content: "";
  position: absolute;
  top: -0.1em;
  left: 0;
  width: 100%;
  height: calc(var(--liquid-size) * 0.75);
  background: radial-gradient(circle, #dd5a6f 0.125em, transparent 0.125em) repeat-x top left/1em 0.25em;
}

.p-top-strong-point__lead {
  font-size: calc(var(--liquid-size) * 0.875);
  line-height: 1.4;
}

.p-top-strong-point__list {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1.875);
  width: min(100%, var(--liquid-size) * 39.375);
}

.p-top-strong-point__item {
  display: flex;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.875);
}

.p-top-strong-point__item-image {
  flex-shrink: 0;
  width: calc(var(--liquid-size) * 12.1875);
  aspect-ratio: 3/2;
  border-radius: calc(var(--liquid-size) * 0.625);
  overflow: hidden;
  box-shadow: calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) rgba(0, 0, 0, 0.25);
}

.p-top-strong-point__item-contents {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: calc(var(--liquid-size) * 1.25);
}

.p-top-strong-point__item-title {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.p-top-strong-point__item-desc {
  width: min(100%, var(--liquid-size) * 26.25);
  font-size: calc(var(--liquid-size) * 0.875);
  line-height: calc(var(--liquid-size) * 1.25);
  letter-spacing: 0.1em;
}

.p-top-strong-point__link-area {
  position: relative;
  z-index: 0;
  width: calc(var(--liquid-size) * 47.8125);
  height: calc(var(--liquid-size) * 8.75);
  margin-top: calc(var(--liquid-size) * 5.625);
}
.p-top-strong-point__link-area::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 0.0625rem);
  right: calc(var(--liquid-size) * 5.625);
  z-index: -10;
  width: calc(var(--liquid-size) * 9.375);
  aspect-ratio: 150/151;
  background: url(../images/image_woman_04.webp) no-repeat center/cover;
}

.p-top-strong-point__link {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: calc(var(--liquid-size) * 0.5);
  color: #fff;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
  line-height: calc(var(--liquid-size) * 3.125);
  background: linear-gradient(90deg, #d44e62 0%, #6e2933 100%);
  transition: color 0.3s ease-in-out;
}
.p-top-strong-point__link .m-main {
  font-size: calc(var(--liquid-size) * 2.25);
  letter-spacing: 0.1em;
}
.p-top-strong-point__link .m-sub {
  letter-spacing: 0.1em;
}
.p-top-strong-point__link::after {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  border-radius: inherit;
  border: 1px solid #a84360;
  background: #fff;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .p-top-strong-point__link:hover {
    color: #a84360;
  }
  .p-top-strong-point__link:hover::after {
    opacity: 1;
  }
}

@media (width < 768px) {
  .p-top-strong-point {
    padding: 0;
  }
  .p-top-strong-point__inner {
    width: 100%;
    padding-block: calc(var(--liquid-size) * 3.125) calc(var(--liquid-size) * 4.6875);
  }
  .p-top-strong-point__header {
    gap: calc(var(--liquid-size) * 3.125);
  }
  .p-top-strong-point__en-title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-strong-point__title {
    font-size: calc(var(--liquid-size) * 1.25);
    line-height: 1.5;
  }
  .p-top-strong-point__lead {
    text-align: center;
  }
  .p-top-strong-point__list {
    gap: calc(var(--liquid-size) * 3.125);
    width: min(100%, var(--liquid-size) * 22.5);
  }
  .p-top-strong-point__item {
    align-items: flex-start;
    gap: calc(var(--liquid-size) * 0.625);
  }
  .p-top-strong-point__item-image {
    width: calc(var(--liquid-size) * 6.25);
  }
  .p-top-strong-point__item-contents {
    gap: calc(var(--liquid-size) * 0.625);
  }
  .p-top-strong-point__item-title {
    font-size: calc(var(--liquid-size) * 0.875);
    white-space: normal;
  }
  .p-top-strong-point__item-desc {
    font-size: calc(var(--liquid-size) * 0.75);
  }
  .p-top-strong-point__link-area {
    display: flex;
    justify-content: center;
    width: calc(var(--liquid-size) * 22.5);
    height: calc(var(--liquid-size) * 6.25);
    margin-top: calc(var(--liquid-size) * 3.75);
  }
  .p-top-strong-point__link-area::before {
    content: "";
    right: calc(var(--liquid-size) * 2);
    width: calc(var(--liquid-size) * 5.4375);
  }
  .p-top-strong-point__link-area::after {
    content: "";
    position: absolute;
    z-index: -10;
    bottom: calc(var(--liquid-size) * -3.125);
    width: calc(var(--liquid-size) * 18.125);
    aspect-ratio: 290/99;
    background: url(../images/bg_arrangement_shadow.webp) no-repeat center/cover;
  }
  .p-top-strong-point__link {
    font-size: calc(var(--liquid-size) * 1);
    line-height: calc(var(--liquid-size) * 1.875);
  }
  .p-top-strong-point__link .m-main {
    font-size: calc(var(--liquid-size) * 1);
  }
}
.p-top-case {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 6.25);
  padding-block: calc(var(--liquid-size) * 6.25);
  background: #fbebe9;
}

.p-top-case__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 3.125);
  width: min(var(--liquid-size) * 62.5, 100%);
}
.p-top-case__inner.m-narrow-gap {
  gap: calc(var(--liquid-size) * 1.875);
}

.p-top-case__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.875);
}

.p-top-case__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.p-top-case__lead {
  font-size: calc(var(--liquid-size) * 1.25);
  line-height: 1.45;
  text-align: center;
}

.p-top-case__contents {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1);
}

.p-top-case__case-list {
  display: flex;
  justify-content: center;
  gap: calc(var(--liquid-size) * 1.375);
  padding-block: calc(var(--liquid-size) * 1.375);
}

.p-top-case__case-item {
  flex-shrink: 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.875);
  width: calc(var(--liquid-size) * 19);
  aspect-ratio: 1/1;
  border-radius: 50%;
  outline: 1px solid #e58a7d;
  outline-offset: calc(var(--liquid-size) * 1.375);
}

.p-top-case__case-title {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.p-top-case__case-desc {
  display: flex;
  flex-flow: column;
  width: calc(var(--liquid-size) * 14.5);
  font-size: calc(var(--liquid-size) * 0.875);
  line-height: 1.45;
  letter-spacing: 0.1em;
}

.p-top-case__condition-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(var(--liquid-size) * 1.1875) calc(var(--liquid-size) * 1.6875);
}

.p-top-case__condition-item {
  display: flex;
  align-items: center;
  gap: calc(var(--liquid-size) * 0.75);
  font-size: calc(var(--liquid-size) * 1);
}
.p-top-case__condition-item::before {
  content: "";
  display: block;
  width: calc(var(--liquid-size) * 2.25);
  aspect-ratio: 1/1;
  border: 1px solid #e58a7d;
}

.p-top-case__condition-more {
  align-self: flex-end;
  font-size: calc(var(--liquid-size) * 1);
  padding-right: calc(var(--liquid-size) * 0.75);
  line-height: 1.45;
}

.p-top-case__clinic-list {
  display: flex;
  gap: calc(var(--liquid-size) * 2.75);
}

.p-top-case__clinic-item {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.875);
  width: calc(var(--liquid-size) * 16.875);
}

.p-top-case__clinic-title {
  padding: calc(var(--liquid-size) * 0.625);
  border-radius: calc(var(--liquid-size) * 0.3125);
  border: 1px solid #dd5a6f;
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 700;
  line-height: 1.45;
}

.p-top-case__clinic-image {
  width: 100%;
  aspect-ratio: 3/2;
}

.p-top-case__clinic-treatment {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 0.375);
}
.p-top-case__clinic-treatment .m-wrapper {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--liquid-size) * 0.375);
}
.p-top-case__clinic-treatment dt {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--liquid-size) * 3.5625);
  height: calc(var(--liquid-size) * 1.3125);
  border-radius: calc(var(--liquid-size) * 0.3125);
  background: #e58a7d;
  color: #fff;
  font-size: calc(var(--liquid-size) * 0.625);
}
.p-top-case__clinic-treatment dd {
  font-size: calc(var(--liquid-size) * 0.75);
  line-height: 1.45;
}

@media (width < 768px) {
  .p-top-case {
    padding-block: calc(var(--liquid-size) * 3.5625);
  }
  .p-top-case__title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-case__lead {
    font-size: calc(var(--liquid-size) * 0.9375);
  }
  .p-top-case__case-list {
    flex-flow: column;
  }
  .p-top-case__condition-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--liquid-size) * 1.375) calc(var(--liquid-size) * 1.6875);
  }
  .p-top-case__condition-more {
    padding-right: 0;
  }
  .p-top-case__clinic-list {
    flex-flow: column;
    gap: calc(var(--liquid-size) * 3.125);
  }
  .p-top-case__clinic-item {
    gap: calc(var(--liquid-size) * 1.25);
  }
}
.p-top-flow {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  background: #e58a7d;
}

.p-top-flow__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: min(100%, var(--liquid-size) * 56.25);
  padding-block: calc(var(--liquid-size) * 6.25);
}

.p-top-flow__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}

.p-top-flow__en-title {
  color: #fff;
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-flow__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.45;
}

.p-top-flow__contents {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 3);
  margin-top: calc(var(--liquid-size) * 8.75);
  width: 100%;
}

.p-top-flow__list-wrapper {
  --right-position: calc(50vw - calc(var(--liquid-size) * 28.125));
  margin-right: calc(var(--right-position) * -1);
  width: calc(100% + var(--right-position));
  padding-bottom: calc(var(--liquid-size) * 0.9375);
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.75) transparent;
}

.p-top-flow__list {
  display: flex;
  gap: calc(var(--liquid-size) * 3.375);
  align-items: center;
}
.p-top-flow__list::after {
  flex-shrink: 0;
  align-self: stretch;
  content: "";
  display: block;
  width: max((var(--right-position)), var(--liquid-size) * 0.0625);
  margin-left: calc(var(--liquid-size) * -3.375);
}

.p-top-flow__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  position: relative;
}
.p-top-flow__item:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  right: calc(var(--liquid-size) * -2.5);
  width: calc(var(--liquid-size) * 1.5);
  height: calc(var(--liquid-size) * 2.25);
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-top-flow__item-card {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: calc(var(--liquid-size) * 13.75);
  height: calc(var(--liquid-size) * 18.75);
  padding-block: calc(var(--liquid-size) * 1.25);
  border-radius: calc(var(--liquid-size) * 0.625);
  border: 1px solid #fff;
}

.p-top-flow__item-step {
  display: flex;
  flex-flow: column;
  align-items: center;
  font-family: "Italiana", serif;
}
.p-top-flow__item-step .m-step {
  font-size: calc(var(--liquid-size) * 2.5);
  line-height: calc(var(--liquid-size) * 2.9375);
}
.p-top-flow__item-step .m-number {
  margin-top: calc(var(--liquid-size) * -2.9375);
  font-size: calc(var(--liquid-size) * 6);
  line-height: 1.2;
}

.p-top-flow__item-icon {
  display: inline-block;
  width: calc(var(--liquid-size) * 5.375);
  aspect-ratio: 86/90;
}
.p-top-flow__item-icon.m-circle {
  margin-block: calc(var(--liquid-size) * -0.125) calc(var(--liquid-size) * -0.375);
}

.p-top-flow__item-desc {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 500;
  text-align: center;
}

.p-top-flow__item-circle {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: calc(var(--liquid-size) * 10.0625);
  aspect-ratio: 1/1;
  border-radius: 50%;
  outline: 1px solid #fff;
}

.p-top-flow__desc {
  color: #fff;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
  line-height: calc(var(--liquid-size) * 2.5);
  text-align: center;
}

.p-top-flow__link-area {
  margin-top: calc(var(--liquid-size) * 6.25);
  width: min(100%, var(--liquid-size) * 37.5);
  aspect-ratio: 60/15;
}

.p-top-flow__link {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 0.9375);
  width: 100%;
  height: 100%;
  padding-block: calc(var(--liquid-size) * 0.625);
  border-radius: 100vmax;
  background: #fff;
  border: 1px solid #a84360;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}
.p-top-flow__link * {
  transition: inherit;
}
.p-top-flow__link .m-sub {
  color: #e58a7d;
  font-family: "Hina Mincho", serif;
  font-size: calc(var(--liquid-size) * 1.5);
}
.p-top-flow__link .m-sub b {
  padding-left: calc(var(--liquid-size) * 0.625);
  font-size: calc(var(--liquid-size) * 2.5);
  font-weight: initial;
}
.p-top-flow__link .m-main {
  color: #4c4c4c;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (any-hover: hover) {
  .p-top-flow__link:hover {
    background: #a84360;
  }
  .p-top-flow__link:hover .m-sub {
    color: #fff;
  }
  .p-top-flow__link:hover .m-main {
    color: #fff;
  }
}

@media (width < 768px) {
  .p-top-flow__en-title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-flow__title {
    font-size: calc(var(--liquid-size) * 1.25);
  }
  .p-top-flow__contents {
    gap: calc(var(--liquid-size) * 3.75);
    margin-top: calc(var(--liquid-size) * 3.125);
    width: min(100%, var(--liquid-size) * 19.75);
  }
  .p-top-flow__list-wrapper {
    --right-position: calc(50vw - calc(var(--liquid-size) * 9.875));
  }
  .p-top-flow__desc {
    font-size: calc(var(--liquid-size) * 1.1875);
    margin-inline: calc(var(--liquid-size) * -1.5625);
    letter-spacing: 0.01em;
  }
  .p-top-flow__link-area {
    margin-top: calc(var(--liquid-size) * 3.125);
    width: min(100%, var(--liquid-size) * 22.5);
    aspect-ratio: 360/107;
  }
  .p-top-flow__link {
    gap: 0;
    padding-block: calc(var(--liquid-size) * 0.375);
  }
  .p-top-flow__link .m-sub {
    font-size: calc(var(--liquid-size) * 1.25);
  }
  .p-top-flow__link .m-sub b {
    padding-left: calc(var(--liquid-size) * 0.625);
    font-size: calc(var(--liquid-size) * 2.25);
  }
}
.p-top-about {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.p-top-about__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 6.25);
  width: min(100%, var(--liquid-size) * 56.25);
  padding-block: calc(var(--liquid-size) * 6.25);
}

.p-top-about__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}

.p-top-about__en-title {
  color: #e58a7d;
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-about__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.45;
}

.p-top-about__catch-phrase {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 0;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  text-align: center;
}
.p-top-about__catch-phrase::before {
  content: "";
  position: absolute;
  top: calc(var(--liquid-size) * -6.1875);
  z-index: -10;
  width: calc(var(--liquid-size) * 26);
  aspect-ratio: 416/151;
  background: url(../images/bg_arrangement_pastel-paints.webp) center/cover no-repeat;
}

.p-top-about__contents {
  --right-position: calc(50vw - calc(var(--liquid-size) * 28.125));
  display: grid;
  grid-template-columns: calc(var(--liquid-size) * 31.25) minmax(0, 1fr);
  align-items: center;
  gap: calc(var(--liquid-size) * 3.125);
  width: calc(100% + var(--right-position));
  height: calc(var(--liquid-size) * 26.25);
  margin-right: calc(var(--right-position) * -1);
}

.p-top-about__desc {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1.875);
  width: 100%;
  font-size: calc(var(--liquid-size) * 1);
  line-height: calc(var(--liquid-size) * 1.875);
}

.p-top-about__image {
  width: 100%;
  height: 100%;
  border-radius: calc(var(--liquid-size) * 6.25) 0 0 calc(var(--liquid-size) * 6.25);
  overflow: hidden;
}

@media (width < 768px) {
  .p-top-about__inner {
    width: min(100%, var(--liquid-size) * 23.4375);
    padding-bottom: 0;
  }
  .p-top-about__catch-phrase {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-about__catch-phrase::before {
    top: calc(var(--liquid-size) * -5.875);
    width: calc(var(--liquid-size) * 21);
  }
  .p-top-about__contents {
    --right-position: calc(50vw - calc(var(--liquid-size) * 11.125));
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: calc(var(--liquid-size) * 3.125);
    width: 100%;
    height: auto;
    margin-right: 0;
  }
  .p-top-about__desc {
    width: min(100%, var(--liquid-size) * 21.875);
  }
  .p-top-about__image {
    width: calc(100% + var(--right-position));
    height: calc(var(--liquid-size) * 18.25);
    margin-right: calc(var(--right-position) * -1);
  }
}
.p-top-cta {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: calc(var(--liquid-size) * 6.625);
  overflow: hidden;
  background: linear-gradient(180deg, #fff 0%, #feedfa 100%);
}

.p-top-cta__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 5.625);
  width: min(100%, var(--liquid-size) * 50);
  padding-block: calc(var(--liquid-size) * 5) calc(var(--liquid-size) * 6.25);
}

.p-top-cta__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.875);
}

.p-top-cta__icon {
  width: calc(var(--liquid-size) * 8.1875);
  aspect-ratio: 1/1;
}

.p-top-cta__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.p-top-cta__desc {
  font-size: calc(var(--liquid-size) * 1.25);
  font-weight: 500;
  line-height: 1.45;
}

.p-top-cta__contents {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 1.375);
  width: 100%;
}

.p-top-cta__guidance {
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 700;
  line-height: 1.45;
}
.p-top-cta__guidance b {
  font-size: 1.5em;
  font-weight: inherit;
  line-height: 1.45;
}
.p-top-cta__guidance::before {
  content: "\\";
  display: inline-block;
  margin-right: calc(var(--liquid-size) * 0.875);
  font-size: 1.5em;
}
.p-top-cta__guidance::after {
  content: "/";
  display: inline-block;
  margin-left: calc(var(--liquid-size) * 0.875);
  font-size: 1.5em;
}

.p-top-cta__link {
  display: flex;
  flex-flow: column;
  align-items: center;
  position: relative;
  z-index: 0;
  gap: calc(var(--liquid-size) * 0.9375);
  padding-block: calc(var(--liquid-size) * 1.25);
  width: calc(var(--liquid-size) * 47.8125);
  border-radius: calc(var(--liquid-size) * 0.5);
  background: linear-gradient(90deg, #d44e62 0%, #6e2933 100%);
}
.p-top-cta__link .m-main {
  color: #fff;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: calc(var(--liquid-size) * 3.125);
  letter-spacing: 0.1em;
  transition: color 0.3s ease-in-out;
}
.p-top-cta__link .m-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--liquid-size) * 23.125);
  height: calc(var(--liquid-size) * 3.75);
  border-radius: 100vmax;
  background: #fff;
  color: #a84360;
  font-size: calc(var(--liquid-size) * 1.5);
  font-weight: 500;
  letter-spacing: 0.1em;
  transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
}
.p-top-cta__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -10;
  border-radius: calc(var(--liquid-size) * 0.5);
  background: #fff;
  border: 1px solid #a84360;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .p-top-cta__link:hover .m-main {
    color: #a84360;
  }
  .p-top-cta__link:hover .m-sub {
    background: #a84360;
    color: #fff;
  }
  .p-top-cta__link:hover::before {
    opacity: 1;
  }
}

@media (width < 768px) {
  .p-top-cta {
    margin-top: 0;
  }
  .p-top-cta__inner {
    gap: calc(var(--liquid-size) * 3.125);
    padding-block: calc(var(--liquid-size) * 6.25);
    width: min(100%, var(--liquid-size) * 22.5);
  }
  .p-top-cta__title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-cta__desc {
    font-size: calc(var(--liquid-size) * 0.875);
  }
  .p-top-cta__guidance {
    font-size: calc(var(--liquid-size) * 1.25);
  }
  .p-top-cta__guidance b {
    font-size: 1.6em;
  }
  .p-top-cta__link {
    width: 100%;
  }
  .p-top-cta__link .m-main {
    font-size: calc(var(--liquid-size) * 2);
    line-height: calc(var(--liquid-size) * 3.125);
  }
  .p-top-cta__link .m-sub {
    width: calc(var(--liquid-size) * 21.25);
    font-size: calc(var(--liquid-size) * 1.25);
  }
}
.p-top-faq {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 100%;
  background: linear-gradient(0deg, #fff 0%, #feedfa 100%);
}

.p-top-faq__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 6.25);
  padding-block: calc(var(--liquid-size) * 5.3125) calc(var(--liquid-size) * 10.25);
  width: min(100%, var(--liquid-size) * 43.75);
}

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

.p-top-faq__en-title {
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-faq__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.45;
}

.p-top-faq__items {
  display: flex;
  flex-flow: column;
  width: 100%;
  counter-reset: faq-counter;
}

@media (width < 768px) {
  .p-top-faq__inner {
    width: min(100%, var(--liquid-size) * 22.5);
    padding-bottom: calc(var(--liquid-size) * 6.375);
  }
  .p-top-faq__header {
    gap: calc(var(--liquid-size) * 0.75);
  }
}
.p-top-company {
  display: flex;
  justify-content: center;
  background: #fff;
  width: 100%;
}

.p-top-company__inner {
  display: flex;
  flex-flow: column;
  align-items: center;
  gap: calc(var(--liquid-size) * 2.875);
  width: min(100%, var(--liquid-size) * 43.75);
  padding-block: calc(var(--liquid-size) * 6.25);
}

.p-top-company__header {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}

.p-top-company__en-title {
  color: #f16b65;
  font-family: "League Spartan", sans-serif;
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.37em;
}

.p-top-company__title {
  font-size: calc(var(--liquid-size) * 2.25);
  font-weight: 500;
  line-height: 1.5;
}

.p-top-company__info {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1.875);
}

.p-top-company__info-item {
  display: flex;
  gap: calc(var(--liquid-size) * 2.25);
}

.p-top-company__info-term {
  flex-shrink: 0;
  width: calc(var(--liquid-size) * 4);
  color: #f16b65;
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 700;
  line-height: 1.45;
}

.p-top-company__info-desc {
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 400;
  line-height: 1.45;
}

.p-top-company__contents {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: calc(var(--liquid-size) * 0.9375);
  padding-left: calc(var(--liquid-size) * 6.25);
  width: 100%;
}

.p-top-company__sub-title {
  padding-inline: calc(var(--liquid-size) * 0.625);
  border-bottom: 1px solid #f16b65;
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 700;
  line-height: 1.45;
}

.p-top-company__features {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 1.875);
}
.p-top-company__features .p-top-company__features-item {
  display: flex;
  flex-flow: column;
  gap: calc(var(--liquid-size) * 0.3125);
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 400;
  line-height: 1.45;
}
.p-top-company__features .p-top-company__features-item dt {
  font-weight: 700;
}

.p-top-company__mission-text {
  font-size: calc(var(--liquid-size) * 1);
  font-weight: 400;
  line-height: 1.45;
}

@media (width < 768px) {
  .p-top-company__inner {
    width: min(100%, var(--liquid-size) * 21.875);
  }
  .p-top-company__en-title {
    font-size: calc(var(--liquid-size) * 2);
  }
  .p-top-company__title {
    font-size: calc(var(--liquid-size) * 1.5);
  }
  .p-top-company__info-item {
    gap: 0;
  }
  .p-top-company__info-term {
    font-size: calc(var(--liquid-size) * 0.75);
  }
  .p-top-company__info-desc {
    font-size: calc(var(--liquid-size) * 0.75);
  }
  .p-top-company__contents {
    padding-left: 0;
  }
  .p-top-company__features .p-top-company__features-item {
    font-size: calc(var(--liquid-size) * 0.75);
  }
  .p-top-company__mission-text {
    font-size: calc(var(--liquid-size) * 0.75);
  }
}
.p-loading-screen {
  display: flex;
  align-items: center;
  position: fixed;
  left: 0;
  right: 0;
  height: 100dvh;
  z-index: 100;
  background: #fff;
}
.p-loading-screen.is-loaded {
  animation: loaded 1.4s ease-out forwards;
}

.p-loading-screen__icon {
  margin-left: calc(50vw - var(--liquid-size) * 4.0625);
  width: calc(var(--liquid-size) * 8.1875);
  aspect-ratio: 1/1;
}

@keyframes loaded {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
    visibility: visible;
    z-index: 100;
  }
  100% {
    opacity: 0;
    z-index: -100;
    visibility: hidden;
    pointer-events: none;
  }
}
.p-top-fixed-button {
  display: flex;
  left: 0;
  right: max(var(--liquid-size) * 3.375, 14.4vw);
  justify-content: center;
}

.p-top-fixed-button__link {
  --bottom-pad: env(safe-area-inset-bottom);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(var(--liquid-size) * 2.6875 + var(--bottom-pad));
  overflow: hidden;
  border-radius: 0 calc(var(--liquid-size) * 1.875) 0 0;
  background: #a84360;
  border: 1px solid #a84360;
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1.45;
  transition: all 0.3s ease-in-out;
}
.p-top-fixed-button__link .m-text {
  font-size: calc(var(--liquid-size) * 1);
  text-shadow: calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) calc(var(--liquid-size) * 0.25) rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease-in-out;
}
@media (any-hover: hover) {
  .p-top-fixed-button__link:hover {
    background: #fff;
    color: #a84360;
  }
}