@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

span, picture {
  display: inline-block;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

/*----------------------------------
  レイアウト（単位不要）
----------------------------------*/
/*----------------------------------
  color（Figma命名に準拠）
----------------------------------*/
/*----------------------------------
  font-family
----------------------------------*/
/*----------------------------------
  z-index
----------------------------------*/
html {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4545454545vw;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 16px;
  }
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #5E594E;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
/*----------------------------------
  c-button（ピル型ボタン共通）
  修飾子:
    --outline : 白背景・icon-line枠・緑文字（「詳しく見る」等）
    --primary : 緑背景・gold-soft枠・白文字（体験してみる 等）
    --line    : icon-line背景・LINE用（ヘッダー・レンタル購入相談）
    --gold    : ベージュ背景・gold枠（購入について詳しくみる）
    --sm      : 高さを詰めたサイズ
----------------------------------*/
.c-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 3rem;
  padding-inline: 1.5rem;
  border-radius: 999px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .c-button {
    gap: 1rem;
    height: 3rem;
    padding-inline: 1.875rem;
    font-size: 1rem;
  }
}

.c-button__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-button__icon {
    width: 1.5rem;
  }
}

.c-button__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-button__arrow {
    width: 0.875rem;
  }
}

.c-button--outline {
  background-color: #FFF;
  border: 1px solid #5E6A4A;
  color: #5D6B46;
  padding-inline: 3.75rem 3.25rem;
}
@media screen and (min-width: 768px) {
  .c-button--outline {
    background-color: transparent;
  }
}

.c-button--primary {
  background-color: #5D6B46;
  border: 1px solid #DCCBAC;
  color: #FFF;
}
.c-button--primary .c-button__label {
  text-decoration: underline;
}

.c-button--white {
  height: 3.375rem;
  background-color: #FFF;
  border: 1px solid #5E6A4A;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .c-button--white {
    height: 4.125rem;
  }
}
.c-button--white .c-button__label {
  text-decoration: underline;
}

.c-button--line {
  background-color: #5E6A4A;
  border: 1px solid #eda948;
  color: #FFF;
}
.c-button--line .c-button__label {
  text-decoration: underline;
}

.c-button--gold {
  background-color: #eee0c6;
  border: 1px solid #B08E5C;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-button--gold {
    font-size: 0.875rem;
  }
}

.c-button__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.6;
}

.c-button__caption {
  display: block;
  font-size: 0.65625rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .c-button__caption {
    font-size: 0.71875rem;
  }
}

/*----------------------------------
  c-heading（セクション見出し共通）
  例:
  <div class="c-heading">
    <p class="c-heading__label">（ About ）</p>
    <h2 class="c-heading__title">
      <span class="c-heading__line">あなたにあった方法で、</span>
      <span class="c-heading__line c-heading__line--mark">セラゼムを暮らしの中へ。</span>
    </h2>
  </div>
----------------------------------*/
.c-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-heading {
    gap: 1rem;
  }
}

.c-heading__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .c-heading__label {
    font-size: 0.875rem;
  }
}

.c-heading__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .c-heading__title {
    font-size: 2.375rem;
  }
}

.c-heading__line {
  display: inline-block;
}

.c-heading__line--mark {
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.c-heading--on-dark .c-heading__label {
  color: #E3E7D8;
}

/*----------------------------------
  c-page-header（下層ページ共通の見出し帯）
  例:
  <div class="c-page-header">
    <div class="l-inner c-page-header__inner">
      <h1 class="c-page-header__title">About CERAGEM MasterV4</h1>
      <p class="c-page-header__sub">セラゼムマスターV4とは</p>
    </div>
  </div>
----------------------------------*/
.c-page-header {
  position: relative;
  background-color: #FBF6EE;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 1.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-page-header {
    height: 21.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: 1.875rem;
  }
}

.c-page-header__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-page-header__inner {
    gap: 0.625rem;
  }
}

.c-page-header__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-page-header__title {
    font-size: 2.375rem;
  }
}

.c-page-header__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-page-header__sub {
    font-size: 1.125rem;
  }
}

.c-page-header__deco {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-page-header__deco {
    display: block;
    position: absolute;
    bottom: 0.6875rem;
    right: 1.0625rem;
    width: 13.5625rem;
    -webkit-filter: blur(2px);
            filter: blur(2px);
    pointer-events: none;
  }
}

/*----------------------------------
  c-contact（全ページ共通の問い合わせブロック）
----------------------------------*/
.c-contact {
  position: relative;
  background-color: #FBF6EE;
  padding-block: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-contact {
    padding-block: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-contact::before {
    content: "";
    position: absolute;
    bottom: 3.4375rem;
    right: 3.875rem;
    width: 11.3125rem;
    aspect-ratio: 181/153;
    background: url(../img/common/flower-decoration.webp) center/contain no-repeat;
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}

.c-contact__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.75rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-contact__inner {
    gap: 2.5rem;
  }
}

.c-contact__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-contact__lead {
    gap: 0.9375rem;
  }
}

.c-contact__title {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .c-contact__title {
    font-size: 2.375rem;
  }
}

.c-contact__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-contact__text {
    font-size: 1.125rem;
  }
}

.c-contact__banner-wrap {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-contact__banner {
    max-width: 52.375rem;
  }
}

.c-contact__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .c-contact__buttons {
    gap: 3.125rem;
  }
}

.c-contact__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.25rem;
}

.c-contact__tel-number {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-contact__tel-number {
    gap: 0.625rem;
    font-size: 1.75rem;
  }
}
.c-contact__tel-number img {
  width: 1.25rem;
  height: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-contact__tel-number img {
    width: 1.5625rem;
    height: 1.5625rem;
  }
}

.c-contact__tel-note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.71875rem;
  letter-spacing: 0.02em;
  color: #5E594E;
  text-align: center;
}

/*----------------------------------
  c-size（サイズ表セクション・rental/purchase/v4 共通・Figma Frame 221）
  例:
  <div id="size" class="c-size">
    <div class="l-inner">
      <div class="c-heading"> ... </div>
      <div class="c-size__grid"> ... </div>
      <a class="c-button c-button--outline"> ... </a>
    </div>
  </div>
----------------------------------*/
.c-size {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .c-size {
    padding-block: 5rem;
  }
}

.c-size__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-size__heading {
    margin-bottom: 1.875rem;
  }
}

.c-size__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
@media screen and (min-width: 768px) {
  .c-size__grid {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 1.25rem;
    margin-bottom: 3.125rem;
  }
}

.c-size__card {
  background-color: #FFF;
  border-radius: 1rem;
  padding: 1.25rem 1rem;
}
@media screen and (min-width: 768px) {
  .c-size__card {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 1.5625rem 0.9375rem 1.5625rem 1.5625rem;
  }
}

.c-size__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-size__card-title {
    font-size: 1.125rem;
  }
}

.c-size__card-desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  color: #655e58;
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .c-size__card-desc {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.c-size__card-image {
  position: relative;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-size__card-image {
    width: 21.3125rem;
    margin: 1.25rem auto 0;
  }
}

.c-size__specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-size__specs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 10.625rem;
    gap: 0.9375rem;
  }
}

.c-size__spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #FFF;
  border-radius: 0.625rem;
  padding: 0.625rem 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-size__spec {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.625rem 1.25rem;
  }
}

.c-size__spec-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.6875rem;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .c-size__spec-label {
    font-size: 0.875rem;
  }
}

.c-size__spec-value {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  white-space: nowrap;
  font-weight: 900;
  font-size: 1.125rem;
  color: #5E594E;
  margin-top: 0.25rem;
}
.c-size__spec-value small {
  font-size: 0.6em;
  margin-left: 0.15em;
}
@media screen and (min-width: 768px) {
  .c-size__spec-value {
    font-size: 1.5rem;
    margin-top: 0.375rem;
  }
}

.c-size__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l-inner {
  width: 100%;
  max-width: 34.75rem;
  padding-inline: 1.125rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 81.5rem;
    padding-inline: 2rem;
  }
}

/*----------------------------------
  l-header
----------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #DCCBAC;
}

.l-main {
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-main {
    padding-top: 76px;
  }
}
@media screen and (min-width: 1200px) {
  .l-main {
    padding-top: 90px;
  }
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 60px;
  padding-inline: 1.125rem;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    height: 76px;
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__inner {
    height: 90px;
    padding-block: 10px;
    padding-inline: 45px 10px;
  }
}

.l-header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 46px;
}
.l-header__logo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 56px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__logo {
    width: 65px;
  }
}

.l-header__nav {
  display: none;
}
@media screen and (min-width: 1200px) {
  .l-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: clamp(16px, 2.08vw, 30px);
  }
}

.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(16px, 2.08vw, 30px);
}

.l-header__nav-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(15px, 1.25vw, 18px);
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #5E594E;
  white-space: nowrap;
}
.l-header__nav-link:hover {
  opacity: 0.7;
}
.l-header__nav-link.is-current {
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
}

/*----------------------------------
  l-drawer-button（SP用ハンバーガー）
----------------------------------*/
.l-drawer-button {
  position: relative;
  z-index: 102;
  width: 30px;
  height: 22px;
}
@media screen and (min-width: 1200px) {
  .l-drawer-button {
    display: none;
  }
}

.l-drawer-button__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #5E594E;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
}
.l-drawer-button__bar:nth-child(1) {
  top: 0;
}
.l-drawer-button__bar:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-drawer-button__bar:nth-child(3) {
  bottom: 0;
}

.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(1) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(2) {
  opacity: 0;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-child(3) {
  bottom: 50%;
  -webkit-transform: translateY(50%) rotate(-45deg);
          transform: translateY(50%) rotate(-45deg);
}

/*----------------------------------
  l-drawer-menu（SP用ドロワー）
----------------------------------*/
.l-drawer-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
  width: 80%;
  max-width: 340px;
  height: 100vh;
  overflow-y: auto;
  background-color: #FBF6EE;
  padding: 90px 1.125rem 40px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media screen and (min-width: 768px) {
  .l-drawer-menu {
    max-width: 400px;
    padding: 110px 2rem 40px;
  }
}
@media screen and (min-width: 1200px) {
  .l-drawer-menu {
    display: none;
  }
}

.l-drawer-menu.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.l-drawer-menu__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: 20px;
}

.l-drawer-menu__link {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #5E594E;
  border-bottom: 1px solid #DCCBAC;
  padding-bottom: 12px;
}
.l-drawer-menu__link.is-current {
  opacity: 0.6;
}

.l-drawer-menu__button {
  margin: 28px auto 0;
}

body.is-fixed {
  overflow: hidden;
}

/*----------------------------------
  l-footer
----------------------------------*/
.l-footer {
  background-color: #FBF6EE;
  border-top: 1px solid #DCCBAC;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-block: 5rem;
  }
}

.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
  }
}

.l-footer__about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .l-footer__about {
    gap: 1.5625rem;
    width: 22.6875rem;
  }
}

.l-footer__logo {
  width: 5.625rem;
}
.l-footer__logo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    width: 9.375rem;
  }
}

.l-footer__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #34312A;
}

.l-footer__address {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #34312A;
}
.l-footer__address p + p {
  margin-top: 0;
}

.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    gap: 4.375rem;
  }
}

.l-footer__nav-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  color: #B08E5C;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-title {
    font-size: 1.75rem;
    margin-bottom: 0.75rem;
  }
}

.l-footer__nav-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: 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-list {
    gap: 0.625rem;
  }
}

.l-footer__nav-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.03em;
  color: #5E594E;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-link {
    font-size: 1.125rem;
  }
}
.l-footer__nav-link:hover {
  opacity: 0.7;
}

/*----------------------------------
  l-footer-bar（Shared/FooterBar）
----------------------------------*/
.l-footer-bar {
  background-color: #DCCBAC;
  padding-block: 0.875rem;
}
@media screen and (min-width: 768px) {
  .l-footer-bar {
    padding-block: 1rem;
  }
}

.l-footer-bar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer-bar__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: left;
  }
}

.l-footer-bar__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .l-footer-bar__links {
    gap: 1.125rem;
    font-size: 0.71875rem;
  }
}
.l-footer-bar__links span {
  opacity: 0.5;
}
.l-footer-bar__links a {
  white-space: nowrap;
}

.l-footer-bar__copyright {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.65625rem;
  letter-spacing: 0.02em;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .l-footer-bar__copyright {
    font-size: 0.71875rem;
  }
}

.l-banner__link.is-disabled {
  pointer-events: none;
}
.l-banner__link img {
  border-radius: 0.375rem;
}

.l-banner__pagination {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .l-banner__pagination {
    margin-top: 1.5rem;
    gap: 0.75rem;
  }
  .l-banner__pagination .swiper-pagination-bullet {
    width: 0.4375rem;
    height: 0.4375rem;
  }
}
.l-banner__pagination .swiper-pagination-bullet {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background-color: #DCCBAC;
  opacity: 1;
  cursor: pointer;
  margin: 0 !important;
}
.l-banner__pagination .swiper-pagination-bullet-active {
  background-color: #B08E5C;
}

/*----------------------------------
  p-top-hero（02_Hero / MV）
----------------------------------*/
.p-top-hero {
  position: relative;
  height: 170.5128205128vw;
  padding-top: 7.6923076923vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-hero {
    height: 49.8611111111vw;
    padding-top: 8.3333333333vw;
  }
}

.p-top-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-top-hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom right;
     object-position: bottom right;
  opacity: 0.9;
}

.p-top-hero__inner {
  position: relative;
  z-index: 1;
  max-width: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 69.7435897436vw;
  padding-inline: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__inner {
    max-width: 86.1111111111vw;
    gap: 3.5416666667vw;
    padding-inline: 0;
  }
}

.p-top-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__copy {
    gap: 2.0833333333vw;
    max-width: 43.0555555556vw;
  }
}

.p-top-hero__title {
  translate: 0 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 7.6923076923vw;
  line-height: 1.6;
  letter-spacing: 0.03em;
  opacity: 0;
  -webkit-animation: fade-in ease-out 0.8s forwards;
          animation: fade-in ease-out 0.8s forwards;
}
@media screen and (min-width: 768px) {
  .p-top-hero__title {
    font-size: 3.6111111111vw;
  }
}

.p-top-hero__title-line {
  display: block;
  color: #B08E5C;
}

.p-top-hero__title-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-top-hero__catch {
  translate: 0 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 4.358974359vw;
  letter-spacing: 0.05em;
  color: #B08E5C;
  opacity: 0;
  -webkit-animation: fade-in ease-out 0.8s 0.3s forwards;
          animation: fade-in ease-out 0.8s 0.3s forwards;
}
@media screen and (min-width: 768px) {
  .p-top-hero__catch {
    font-size: 1.5277777778vw;
  }
}

.p-top-hero__lead {
  translate: 0 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 3.5897435897vw;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #5E594E;
  opacity: 0;
  -webkit-animation: fade-in ease-out 0.8s 0.6s forwards;
          animation: fade-in ease-out 0.8s 0.6s forwards;
}
@media screen and (min-width: 768px) {
  .p-top-hero__lead {
    font-size: 1.25vw;
    line-height: 1.7;
  }
}

.p-top-hero__buttons {
  translate: 0 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.0512820513vw 1.0256410256vw;
  opacity: 0;
  -webkit-animation: fade-in ease-out 0.8s 1.2s forwards;
          animation: fade-in ease-out 0.8s 1.2s forwards;
}
@media screen and (min-width: 768px) {
  .p-top-hero__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.8333333333vw;
  }
}

.p-top-hero__button {
  width: 100%;
  gap: 2.0512820513vw;
  height: 12.3076923077vw;
  padding-inline: 3.5897435897vw;
  font-size: 2.8205128205vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 1.1111111111vw;
    height: 4.5833333333vw;
    padding-inline: 1.6666666667vw;
    font-size: 1.1111111111vw;
  }
}
.p-top-hero__button:first-child {
  grid-column: 1/3;
  font-size: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button:first-child {
    font-size: 1.1111111111vw;
  }
}
.p-top-hero__button:first-child .c-button__icon {
  width: 4.1025641026vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button:first-child .c-button__icon {
    width: 1.6666666667vw;
  }
}
.p-top-hero__button:first-child .c-button__arrow {
  width: 4.358974359vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button:first-child .c-button__arrow {
    width: 0.9722222222vw;
  }
}
.p-top-hero__button .c-button__caption {
  font-size: 2.8205128205vw;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button .c-button__caption {
    font-size: 0.7986111111vw;
  }
}
.p-top-hero__button .c-button__icon {
  width: 3.5897435897vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button .c-button__icon {
    width: 1.6666666667vw;
  }
}
.p-top-hero__button .c-button__text {
  translate: 0 -2px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.p-top-hero__button .c-button__arrow {
  width: 3.0769230769vw;
}
@media screen and (min-width: 768px) {
  .p-top-hero__button .c-button__arrow {
    width: 0.9722222222vw;
  }
}

.p-top-hero__badges {
  position: absolute;
  bottom: 36.6666666667vw;
  right: 13.8461538462vw;
  translate: 0 2.5rem;
  width: 71.7948717949vw;
  opacity: 0;
  -webkit-animation: fade-in ease-out 0.8s 0.9s forwards;
          animation: fade-in ease-out 0.8s 0.9s forwards;
}
@media screen and (min-width: 768px) {
  .p-top-hero__badges {
    bottom: 0;
    right: 0;
    width: 30.25rem;
  }
}

@-webkit-keyframes fade-in {
  from {
    translate: 0 2.5rem;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}

@keyframes fade-in {
  from {
    translate: 0 2.5rem;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
/*----------------------------------
  p-top-banner（Beautyworld Japan バナー）
----------------------------------*/
.p-top-banner {
  background-color: #FBF6EE;
  border-bottom: 1px solid #DCCBAC;
  padding: 1.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-banner {
    padding-block: 3.125rem;
  }
}

.p-top-banner__slider {
  max-width: 32.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-banner__slider {
    max-width: 52.375rem;
  }
}

/*----------------------------------
  p-top-product（セラゼムマスターV4 紹介帯）
----------------------------------*/
.p-top-product {
  background-color: #FBF6EE;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-product {
    padding-block: 3.125rem;
  }
}

.p-top-product__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-product__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
  }
}

.p-top-product__card {
  background-color: #FCFAF7;
  border-radius: 1rem;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-product__card {
    gap: 0.75rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (min-width: 1200px) {
  .p-top-product__card {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    max-width: 26.6875rem;
  }
}

.p-top-product__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-top-product__name {
    font-size: 1.5rem;
  }
}

.p-top-product__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.84375rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-top-product__text {
    font-size: 1.125rem;
  }
}

.p-top-product__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0.625rem;
  overflow: hidden;
  width: 14.5625rem;
  height: 11.1875rem;
}
.p-top-product__link img.p-top-product__link-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.3;
}

.p-top-product__link-label {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #34312A;
}
.p-top-product__link-label img {
  width: 0.875rem;
  height: 0.875rem;
}

/*----------------------------------
  p-top-nayami（03_Nayami お悩み）
----------------------------------*/
.p-top-nayami {
  position: relative;
  background-color: #FBF6EE;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-nayami {
    padding-block: 5rem;
  }
}

.p-top-nayami__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.2;
  mix-blend-mode: multiply;
}
.p-top-nayami__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-nayami__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.75rem;
  }
}

.p-top-nayami__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__main {
    gap: 1.9375rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-top-nayami__list {
  background-color: #FCFAF7;
  border-radius: 1rem;
  padding: 1.5rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 3.125rem 8rem;
    gap: 0.75rem;
  }
}

.p-top-nayami__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__item {
    gap: 0.625rem;
    font-size: 1.125rem;
  }
}
.p-top-nayami__item img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__item img {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

.p-top-nayami__message {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #5D6B46;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__message {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 2rem;
  }
}

.p-top-nayami__photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__photos {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 1.25rem;
  }
}

.p-top-nayami__photo {
  scale: -1 1;
  overflow: hidden;
}
.p-top-nayami__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-nayami__photo--01 {
  width: 8.75rem;
  aspect-ratio: 246/273;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__photo--01 {
    width: 15.375rem;
    margin-right: 4.5rem;
  }
}

.p-top-nayami__photo--02 {
  width: 6.875rem;
  aspect-ratio: 175/194;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (min-width: 768px) {
  .p-top-nayami__photo--02 {
    width: 10.9375rem;
  }
}

/*----------------------------------
  p-top-about（04_About セラゼムマスターV4とは）
----------------------------------*/
.p-top-about {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-about {
    padding-block: 5rem;
  }
}

.p-top-about__lead {
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-about__lead {
    margin-top: 1.625rem;
    font-size: 1.125rem;
  }
}

.p-top-about__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-about__figure {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
    margin-top: 3rem;
  }
}

.p-top-about__product {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-about__product {
    max-width: 35.875rem;
  }
}

.p-top-about__diagram {
  position: relative;
  width: 100%;
  max-width: 21.1875rem;
}
@media screen and (min-width: 768px) {
  .p-top-about__diagram {
    max-width: 28.1875rem;
    margin-inline: auto;
  }
}

.p-top-about__diagram-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 31.7073170732%;
  top: 41.8181818182%;
  width: 37.0288248337%;
  height: 20.4545454545%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #34312A;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-top-about__diagram-center {
    font-size: 1.25rem;
    letter-spacing: 0.01em;
  }
}
.p-top-about__diagram-center::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 13.125rem;
  aspect-ratio: 1/1;
  border-radius: 16.5625rem;
  border: 1px solid #DCCBAC;
  background: radial-gradient(62.17% 62.17% at 50% 50%, #DCCBAC 0%, #FBF6EE 83.17%);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-top-about__diagram-center::before {
    width: 16.5625rem;
  }
}

.p-top-about__diagram-list {
  position: relative;
  aspect-ratio: 451/440;
  z-index: 3;
}

.p-top-about__diagram-item {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 29.0465631929%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #DCCBAC;
  background: radial-gradient(50.2% 50.2% at 49.62% 49.8%, rgba(185, 140, 136, 0.6) 0%, rgba(251, 246, 238, 0.8) 100%);
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 0.75rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #4e3300;
}
@media screen and (min-width: 768px) {
  .p-top-about__diagram-item {
    font-size: 1.0625rem;
  }
}

.p-top-about__diagram-item--01 {
  left: 35.6984478936%;
  top: 0%;
}

.p-top-about__diagram-item--02 {
  left: 6.6518847007%;
  top: 13.6363636364%;
}

.p-top-about__diagram-item--03 {
  left: 64.5232815965%;
  top: 14.5454545455%;
}

.p-top-about__diagram-item--04 {
  left: 70.9534368071%;
  top: 45.6818181818%;
}

.p-top-about__diagram-item--05 {
  left: 0%;
  top: 44.5454545455%;
}

.p-top-about__diagram-item--06 {
  left: 19.733924612%;
  top: 70%;
}

.p-top-about__diagram-item--07 {
  left: 51.8847006652%;
  top: 70.2272727273%;
}

.p-top-about__diagram-note {
  display: none;
}

.p-top-about__steps {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-about__steps {
    margin-top: 3.75rem;
    gap: 2.5rem;
  }
}

.p-top-about__step-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  border-top: 1px solid #DCCBAC;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-about__step-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding-block: 1.25rem;
  }
}

.p-top-about__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.625rem;
  text-align: center;
  padding-inline: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-about__step {
    gap: 1.25rem;
    padding-inline: 0.9375rem;
    border-left: 1px solid #DCCBAC;
  }
  .p-top-about__step:first-child {
    border-left: none;
  }
}

.p-top-about__step-num {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-top-about__step-num {
    font-size: 1.75rem;
  }
}

.p-top-about__step-en {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-top-about__step-en {
    font-size: 2rem;
  }
}

.p-top-about__step-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.78125rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-about__step-text {
    font-size: 0.9375rem;
  }
}

/*----------------------------------
  p-top-why-spine（Frame31 なぜ背骨に着目するの？）
----------------------------------*/
.p-top-why-spine {
  position: relative;
  background-color: #FBF6EE;
  padding-block: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine {
    padding-block: 5.625rem;
  }
}

.p-top-why-spine__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 5rem;
  }
}

.p-top-why-spine__photo {
  width: 100%;
  max-width: 13.75rem;
  margin-inline: auto;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__photo {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    max-width: 23.4375rem;
    margin-left: 5.5rem;
  }
}

.p-top-why-spine__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__copy {
    gap: 1.625rem;
  }
}

.p-top-why-spine__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__title {
    font-size: 1.5rem;
  }
}

.p-top-why-spine__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__text {
    font-size: 1.125rem;
  }
}
.p-top-why-spine__text + .p-top-why-spine__text {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__text + .p-top-why-spine__text {
    margin-top: 0;
  }
}

.p-top-why-spine__deco {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__deco {
    display: block;
    position: absolute;
    left: 3.0625rem;
    bottom: 1.25rem;
    width: 11.3125rem;
    opacity: 0.8;
    -webkit-filter: blur(1px);
            filter: blur(1px);
    pointer-events: none;
  }
}

.p-top-why-spine__button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-top-why-spine__button {
    margin-right: 0;
  }
}

/*----------------------------------
  p-top-before-after（Frame35 体験された方の変化）
----------------------------------*/
.p-top-before-after {
  background-color: #FBF6EE;
  border-block: 1px solid #DCCBAC;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-before-after {
    padding-block: 5rem;
  }
}

.p-top-before-after__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-before-after__inner {
    gap: 3.125rem;
  }
}

.p-top-before-after__list {
  width: 100%;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-before-after__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8125rem;
  }
}
.p-top-before-after__list.is-hidden {
  display: none;
}

.p-top-before-after__item {
  background-color: #FCFAF7;
  padding: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-before-after__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.75rem 0.6875rem;
    gap: 0.1875rem;
  }
}

.p-top-before-after__photo {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.p-top-before-after__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.p-top-before-after__caption {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.03em;
  color: #5E594E;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-before-after__caption {
    font-size: 1.125rem;
  }
}

.p-top-before-after__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.71875rem;
  letter-spacing: 0.02em;
  color: #5E594E;
  text-align: center;
}

.p-top-before-after__caption.is-closed .c-button__arrow {
  rotate: 180deg;
}

/*----------------------------------
  p-top-menu（05_Menu あなたにあった方法で）
----------------------------------*/
.p-top-menu {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-menu {
    padding-block: 5.625rem;
  }
}

.p-top-menu__list {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-menu__list {
    margin-top: 3rem;
  }
}

.p-top-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  border-top: 1px solid #DCCBAC;
  padding-block: 1.5rem;
}
.p-top-menu__item:last-child {
  border-bottom: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-top-menu__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
    padding-block: 2.5rem;
  }
}

.p-top-menu__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-top-menu__body {
    gap: 0.5625rem;
  }
}

.p-top-menu__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-top-menu__title {
    font-size: 1.75rem;
  }
}

.p-top-menu__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.84375rem;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-menu__text {
    font-size: 1.125rem;
  }
}

.p-top-menu__button {
  margin: 0.625rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-top-menu__button {
    margin: 1.875rem 0 0;
  }
}

.p-top-menu__photo {
  width: 100%;
  overflow: hidden;
}
.p-top-menu__photo img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-top-menu__photo {
    width: 22.6875rem;
    height: 12.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p-top-menu__photo img {
    height: 100%;
  }
}

/*----------------------------------
  p-top-voice（お客様の声）
----------------------------------*/
.p-top-voice {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-voice {
    padding-block: 5rem 5.125rem;
  }
}

.p-top-voice__sub {
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.02em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-top-voice__sub {
    margin-top: 1.25rem;
    font-size: 1.5rem;
  }
}

.p-top-voice__slider {
  position: relative;
  margin-top: 1.75rem;
  border-top: 1px solid #DCCBAC;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-voice__slider {
    margin-top: 2.5rem;
    padding: 1.8125rem 3rem;
  }
}

.p-top-voice__slide {
  height: auto;
  padding-inline: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-voice__slide {
    padding-inline: 0.9375rem;
    border-left: 1px solid #DCCBAC;
  }
}

@media screen and (min-width: 768px) {
  .swiper-slide.p-top-voice__slide:first-child {
    border-left: none;
  }
}

.p-top-voice__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-top-voice__card {
    gap: 1.875rem;
  }
}

.p-top-voice__avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-top-voice__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-top-voice__avatar {
    width: 3.5rem;
    height: 3.5rem;
  }
}

.p-top-voice__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-top-voice__title {
    font-size: 1.125rem;
  }
}

.p-top-voice__meta {
  margin-top: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-top-voice__meta {
    margin-top: 0.5rem;
    font-size: 0.875rem;
  }
}

.p-top-voice__text {
  margin-top: 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.75;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-voice__text {
    margin-top: 0.875rem;
    font-size: 0.9375rem;
  }
}

.p-top-voice__note {
  margin-top: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.65625rem;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-top-voice__note {
    margin-top: 1.25rem;
    font-size: 0.6875rem;
  }
}

.p-top-voice__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-voice__nav {
    display: block;
  }
}

.p-top-voice__nav-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 50%;
  background-color: #FCFAF7;
  border: 1px solid #DCCBAC;
  color: #5E6A4A;
}
@media screen and (min-width: 768px) {
  .p-top-voice__nav-btn {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) {
  .p-top-voice__nav-btn.--prev {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-top-voice__nav-btn.--next {
    right: 0;
  }
}

/*----------------------------------
  p-top-faq-banner（Frame41 よくあるご質問 / ICCHIについて）
----------------------------------*/
.p-top-faq-banner {
  background-color: #FBF6EE;
  border-block: 1px solid #DCCBAC;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner {
    padding-block: 5.625rem;
  }
}

.p-top-faq-banner__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: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}
.p-top-faq-banner__list li {
  width: 100%;
  -webkit-transition: scale 0.4s, width 0.4s;
  transition: scale 0.4s, width 0.4s;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__list li {
    width: calc(50% - 0.625rem);
  }
}
@media (any-hover: hover) {
  .p-top-faq-banner__list li:hover {
    scale: 1.05;
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .p-top-faq-banner__list li:hover {
    scale: 1;
    width: 74%;
  }
}

.p-top-faq-banner__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__item {
    height: 18.5rem;
  }
}
.p-top-faq-banner__item img.p-top-faq-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-faq-banner__item.--01::after {
  background-color: rgba(52, 49, 42, 0.55);
}
.p-top-faq-banner__item.--02::after {
  background-color: rgba(91, 69, 37, 0.62);
  mix-blend-mode: multiply;
}
.p-top-faq-banner__item::after {
  content: "";
  position: absolute;
  inset: 0;
}
@media (any-hover: hover) {
  .p-top-faq-banner__item:hover {
    opacity: 1;
  }
}

.p-top-faq-banner__body {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__body {
    gap: 0.5rem;
  }
}

.p-top-faq-banner__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #E3E7D8;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__label {
    font-size: 0.875rem;
  }
}

.p-top-faq-banner__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-top-faq-banner__title {
    font-size: 2.375rem;
  }
}

/*----------------------------------
  p-v4-hero（02_Hero）
----------------------------------*/
.p-v4-hero {
  position: relative;
  background-color: #FBF6EE;
  padding-block: 2.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-v4-hero {
    padding-block: 5rem 3.75rem;
  }
}

.p-v4-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.5rem;
  }
}

.p-v4-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__copy {
    gap: 2rem;
    max-width: 37.5rem;
  }
}

.p-v4-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__title {
    font-size: 3.5rem;
  }
}

.p-v4-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__lead {
    font-size: 1.125rem;
  }
}

.p-v4-hero__photo {
  width: 100%;
  aspect-ratio: 568/380;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__photo {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: clamp(26.875rem, -1.0294117647rem + 40.5882352941vw, 35.5rem);
  }
}
.p-v4-hero__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-v4-hero__badges {
  position: absolute;
  right: 0;
  bottom: -1.25rem;
  width: 13.75rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-v4-hero__badges {
    bottom: -2.25rem;
    width: clamp(23.75rem, 2.7205882353rem + 30.5882352941vw, 30.25rem);
  }
}

/*----------------------------------
  p-v4-why（Frame 31 / なぜ背骨に着目するの？・身体も根から考える）
----------------------------------*/
.p-v4-why {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why {
    padding-block: 5rem;
  }
}

.p-v4-why__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4rem;
  }
}

.p-v4-why__row + .p-v4-why__row {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why__row + .p-v4-why__row {
    margin-top: 5rem;
  }
}

.p-v4-why__photo,
.p-v4-why__image {
  width: 100%;
  border-radius: 0.25rem;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-v4-why__photo,
  .p-v4-why__image {
    width: 32.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .p-v4-why__photo,
  .p-v4-why__image {
    width: 38%;
  }
}
.p-v4-why__photo img,
.p-v4-why__image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-v4-why__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why__copy {
    gap: 1.5rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-v4-why__block + .p-v4-why__block {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why__block + .p-v4-why__block {
    margin-top: 2.5rem;
  }
}

.p-v4-why__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-v4-why__block {
    gap: 1rem;
  }
}

.p-v4-why__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.65;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-why__sub {
    font-size: 1.5rem;
  }
}

.p-v4-why__sub2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-why__sub2 {
    font-size: 2.375rem;
  }
}

.p-v4-why__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-why__text {
    font-size: 1.125rem;
    text-align: justify;
  }
}

/*----------------------------------
  p-v4-steps（03_Steps / セラゼムマスターV4のしくみ）
----------------------------------*/
.p-v4-steps {
  background-color: #5D6B46;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-steps {
    padding-block: 5rem;
  }
}

.p-v4-steps__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.75rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__card {
    gap: 3.125rem;
    border-radius: 1rem;
  }
}

.p-v4-steps__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.65;
  letter-spacing: 0.03em;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__sub {
    font-size: 1.5rem;
  }
}

.p-v4-steps__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background-color: #DCCBAC;
  border: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-v4-steps__item {
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.5rem;
  padding: 1.125rem 0.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__item {
    gap: 0.9375rem;
    padding: 1.125rem 0.3125rem;
  }
}

.p-v4-steps__num {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  color: #E2A03F;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__num {
    font-size: 1.75rem;
  }
}

.p-v4-steps__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__item-title {
    font-size: 1.125rem;
  }
}

.p-v4-steps__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.78125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__text {
    font-size: 1rem;
    max-width: 13.125rem;
    text-align: justify;
  }
}

.p-v4-steps__photo {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-v4-steps__photo {
    max-width: 53.0625rem;
  }
}
.p-v4-steps__photo img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------
  p-v4-features（04_Features / 3つの特徴・独自のローラーシステム）
  背景色は Figma "bg/cream-soft #FBF7F1"（variables未定義のため直接指定）
----------------------------------*/
.p-v4-features {
  background-color: #fbf7f1;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-features {
    padding-block: 5rem;
  }
}

.p-v4-features__lede {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-v4-features__lede {
    gap: 2.375rem;
  }
}

.p-v4-features__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-features__title {
    display: inline-block;
    font-size: 3.5rem;
  }
}

.p-v4-features__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-features__lead {
    font-size: 1.125rem;
  }
}

.p-v4-features__list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-v4-features__list {
    margin-top: 3.125rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .p-v4-features__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-v4-features__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #DCCBAC;
  padding: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-v4-features__item {
    padding: 1.25rem 0.9375rem;
  }
}

.p-v4-features__photo {
  width: 100%;
  aspect-ratio: 368/190;
  overflow: hidden;
}
.p-v4-features__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-v4-features__num {
  margin-top: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-v4-features__num {
    margin-top: 1.25rem;
  }
}

.p-v4-features__item-title {
  margin-top: 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-v4-features__item-title {
    margin-top: 0.75rem;
    font-size: 1.75rem;
  }
}

.p-v4-features__text {
  margin-top: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #8B8477;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-v4-features__text {
    margin-top: 0rem;
    font-size: 1.125rem;
    text-align: justify;
  }
}

/*----------------------------------
  p-v4-video（Frame 90 / 動画を再生する）
  ※ 実際の再生機能は未実装（Figmaはモック表示のみ）
----------------------------------*/
.p-v4-video {
  background-color: #FBF6EE;
  padding-block: 1rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-video {
    padding-block: 2.5rem 5rem;
  }
}

.p-v4-video__caption {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.71875rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-video__caption {
    font-size: 0.78125rem;
  }
}

.p-v4-video__frame {
  position: relative;
  margin-top: 0.625rem;
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-v4-video__frame {
    margin-top: 0.25rem;
    max-width: 48.375rem;
    margin-inline: auto;
  }
}
.p-v4-video__frame video {
  width: 100%;
  height: auto;
}

/*----------------------------------
  p-v4-flower（7つの機能 / セラゼムマスターV4の7つの主要機能）
  PC: Figma座標(1240x826)を%換算した花びら配置図
  SP: Figmaに無いため自作（2カラムのチップリストに変更）
----------------------------------*/
.p-v4-flower {
  background-color: #fbf7f1;
  border-top: 1px solid #DCCBAC;
  padding-block: 3rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-v4-flower {
    padding-block: 5rem 2.5rem;
  }
}

.p-v4-flower__lede {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__lede {
    gap: 1.5rem;
    max-width: 44.625rem;
  }
}

.p-v4-flower__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__title {
    font-size: 3.5rem;
  }
}

.p-v4-flower__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__lead {
    font-size: 1.125rem;
  }
}

.p-v4-flower__diagram {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__diagram {
    display: block;
    position: relative;
    width: 100%;
    max-width: 77.5rem;
    margin-inline: auto;
    margin-top: 2.5rem;
    aspect-ratio: 1240/826;
  }
}

.p-v4-flower__lines {
  position: absolute;
  left: 14.5%;
  top: 9%;
  width: 69.1740322581%;
  margin: auto;
  pointer-events: none;
}

.p-v4-flower__photo {
  position: absolute;
  left: 35.2975806452%;
  top: 29.1501210654%;
  width: 28.75%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}
.p-v4-flower__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-v4-flower__bubble {
  position: absolute;
  width: 14.2137096774%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1.5px solid #DCCBAC;
  background: radial-gradient(circle at center, rgba(185, 140, 136, 0.6) 0%, rgba(218, 193, 187, 0.7) 50%, rgba(251, 246, 238, 0.8) 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  z-index: 2;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 1.125rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #734d05;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__bubble {
    background: radial-gradient(50.2% 50.2% at 49.62% 49.8%, rgba(185, 140, 136, 0.6) 0%, rgba(251, 246, 238, 0.8) 100%);
  }
}

.p-v4-flower__bubble--01 {
  left: 43.0016129032%;
  top: 14.1646489104%;
}

.p-v4-flower__bubble--02 {
  left: 28.7870967742%;
  top: 23.9382566586%;
}

.p-v4-flower__bubble--03 {
  left: 57.1072580645%;
  top: 24.5895883777%;
}

.p-v4-flower__bubble--04 {
  left: 60.2540322581%;
  top: 46.9055690073%;
}

.p-v4-flower__bubble--05 {
  left: 25.5322580645%;
  top: 46.0907990315%;
}

.p-v4-flower__bubble--06 {
  left: 35.189516129%;
  top: 64.3341404358%;
}

.p-v4-flower__bubble--07 {
  left: 50.9225806452%;
  top: 64.4975786925%;
}

.p-v4-flower__label {
  position: absolute;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}

.p-v4-flower__label--01 {
  left: 49.435483871%;
  top: 4.7215496368%;
  width: 28.9516129032%;
}

.p-v4-flower__label--02 {
  left: 68.3870967742%;
  top: 20.9443099274%;
  width: 27.4193548387%;
}

.p-v4-flower__label--03 {
  left: 77.5%;
  top: 49.6368038741%;
  width: 18.2258064516%;
}

.p-v4-flower__label--04 {
  left: 69.1129032258%;
  top: 81.784503632%;
  width: 10.6451612903%;
}

.p-v4-flower__label--05 {
  left: 6.3709677419%;
  top: 81.784503632%;
  width: 27.3387096774%;
}

.p-v4-flower__label--06 {
  left: 4.0322580645%;
  top: 49.6368038741%;
  width: 18.2258064516%;
}

.p-v4-flower__label--07 {
  left: 4.5161290323%;
  top: 20.9443099274%;
  width: 24.3548387097%;
}

.p-v4-flower__sp-list {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-v4-flower__sp-list {
    display: none;
  }
}

.p-v4-flower__sp-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.375rem;
  text-align: center;
  padding: 1rem 0.625rem;
  border-radius: 0.5rem;
  border: 1px solid #DCCBAC;
  background: radial-gradient(circle at center, rgba(185, 140, 136, 0.35) 0%, rgba(218, 193, 187, 0.35) 50%, rgba(251, 246, 238, 0.5) 100%);
}

.p-v4-flower__sp-name {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #734d05;
}

.p-v4-flower__sp-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.71875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #5E594E;
}

/*----------------------------------
  p-v4-foryou（Frame 48 / こんな方におすすめです）
----------------------------------*/
.p-v4-foryou {
  position: relative;
  overflow: hidden;
  border-top: 1px solid #DCCBAC;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou {
    padding-block: 5rem;
  }
}

.p-v4-foryou__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-v4-foryou__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: -36.25rem 0;
     object-position: -36.25rem 0;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__bg img {
    -o-object-position: center;
       object-position: center;
  }
}
.p-v4-foryou__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(251, 246, 238, 0.8)), color-stop(80%, rgba(251, 246, 238, 0)));
  background: linear-gradient(90deg, rgba(251, 246, 238, 0.8) 0%, rgba(251, 246, 238, 0) 80%);
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__bg::after {
    display: none;
  }
}

.p-v4-foryou__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__inner {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 2rem;
  }
}

.p-v4-foryou__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #B08E5C;
  border-left: 1px solid #B08E5C;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__list {
    max-width: 41.125rem;
  }
}

.p-v4-foryou__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  gap: 0.5rem;
  padding: 0.875rem;
  border-right: 1px solid #B08E5C;
  border-bottom: 1px solid #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.25rem;
    padding: 1.375rem 1.5rem;
  }
}

.p-v4-foryou__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.25rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__icon {
    width: 1.5rem;
  }
}

.p-v4-foryou__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0%;
          flex: 1 1 0%;
  min-width: 0;
}

.p-v4-foryou__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__item-title {
    font-size: 1.125rem;
  }
}

.p-v4-foryou__text {
  margin-top: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.71875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__text {
    margin-top: 0.375rem;
    font-size: 0.9375rem;
  }
}

.p-v4-foryou__message {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  width: 10rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #DCCBAC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #FFF;
  margin: 0 0 -6.25rem auto;
}
@media screen and (min-width: 768px) {
  .p-v4-foryou__message {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    position: absolute;
    left: 5.5625rem;
    bottom: -0.625rem;
    width: 16.125rem;
    font-size: 1.125rem;
    margin: 0;
  }
}

/*----------------------------------
  p-v4-faq（よくあるご質問）
  アコーディオンは details + summary（js-details / js-summary / js-content）
  transitionの秒数は js/script.js の setTimeout(400ms) と合わせる
----------------------------------*/
.p-v4-faq {
  background-color: #FBF6EE;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-v4-faq {
    padding-block: 5rem;
  }
}

.p-v4-faq__list {
  margin-top: 1.75rem;
  border-top: 1px solid #cfc7bd;
}
@media screen and (min-width: 768px) {
  .p-v4-faq__list {
    margin-top: 3.75rem;
    max-width: 72rem;
    margin-inline: auto;
  }
}

.p-v4-faq__details {
  border-bottom: 1px solid #cfc7bd;
}
.p-v4-faq__details summary::-webkit-details-marker {
  display: none;
}

.p-v4-faq__summary {
  list-style: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding-block: 1.125rem;
  padding-right: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-v4-faq__summary {
    gap: 1.25rem;
    padding-block: 1.75rem;
    padding-right: 3.75rem;
  }
}

.p-v4-faq__question {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-faq__question {
    font-size: 1.125rem;
  }
}

.p-v4-faq__icon {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-v4-faq__icon {
    width: 1rem;
    height: 1rem;
  }
}
.p-v4-faq__icon::before, .p-v4-faq__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #b89a68;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
}
.p-v4-faq__icon::before {
  width: 100%;
  height: 2px;
}
.p-v4-faq__icon::after {
  width: 2px;
  height: 100%;
}

.p-v4-faq__details.is-opened .p-v4-faq__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.p-v4-faq__content {
  overflow: hidden;
  height: 0;
  -webkit-transition: height 0.4s ease, opacity 0.4s ease;
  transition: height 0.4s ease, opacity 0.4s ease;
}

.p-v4-faq__answer {
  padding-bottom: 1.125rem;
  padding-right: 1.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-v4-faq__answer {
    padding-bottom: 1.75rem;
    padding-right: 4.375rem;
    font-size: 1rem;
  }
}

/*----------------------------------
  p-trial-hero（02_Hero まずは、体験してみてください。）
----------------------------------*/
.p-trial-hero {
  background-color: #FBF6EE;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-trial-hero {
    padding-block: 5rem;
  }
}

.p-trial-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.p-trial-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__copy {
    gap: 1.875rem;
  }
}
.p-trial-hero__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__label {
    font-size: 0.875rem;
  }
}

.p-trial-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__title {
    font-size: 3.5rem;
    margin-top: 0.625rem;
  }
}

.p-trial-hero__title-line {
  display: block;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__title-line {
    white-space: nowrap;
  }
}

.p-trial-hero__title-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-trial-hero__catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  line-height: 1.65;
  letter-spacing: 0.04em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__catch {
    font-size: 1.5rem;
  }
}

.p-trial-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__lead {
    font-size: 1.125rem;
    line-height: 1.7;
  }
}

.p-trial-hero__photo {
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-trial-hero__photo img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__photo {
    width: 36.25rem;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    min-width: 0;
  }
}

.p-trial-hero__button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-trial-hero__button {
    margin-inline: 0;
  }
}

/*----------------------------------
  p-trial-price（03_Price ご利用料金・緑背景）
----------------------------------*/
.p-trial-price {
  background-color: #5D6B46;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-trial-price {
    padding-block: 5rem;
  }
}

.p-trial-price__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-trial-price__heading {
    margin-bottom: 3.125rem;
  }
}

.p-trial-price__panel {
  background-color: #FCFAF7;
  border-radius: 1.25rem;
  padding: 1.75rem 1.25rem;
  max-width: 49.375rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-trial-price__panel {
    padding: 3.125rem 2.5rem;
  }
}

.p-trial-price__list {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-trial-price__list {
    font-size: 1.125rem;
  }
}

.p-trial-price__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.75rem 0.5rem;
  border-top: 1px solid #DCCBAC;
  color: #34312A;
}
.p-trial-price__row:last-child {
  border-bottom: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-trial-price__row {
    padding: 0.9375rem 0.625rem;
  }
}

.p-trial-price__row--highlight {
  background-color: #DCCBAC;
  color: #34312A;
}

.p-trial-price__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  color: #5E594E;
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-trial-price__note {
    font-size: 1rem;
    margin-top: 1.875rem;
  }
}

/*----------------------------------
  p-service-flow（ご利用の流れ・ステップ円＋接続線）
  体験(4step)・レンタル/購入(6step)で共通化。
  デフォルト = レンタル/購入用（6step・円128px）
  --compact = 体験用（4step・円102px）
  例:
  <div id="flow" class="p-service-flow">
    <div class="l-inner">
      <div class="c-heading p-service-flow__heading"> ... </div>
      <ol class="p-service-flow__list">
        <li class="p-service-flow__item">
          <div class="p-service-flow__circle">
            <p class="p-service-flow__num">01</p>
            <p class="p-service-flow__step">ご予約</p>
          </div>
          <p class="p-service-flow__text">お電話・LINE・WEBから<br>ご希望の日時をご予約ください。</p>
        </li>
        ...
      </ol>
    </div>
  </div>
----------------------------------*/
.p-service-flow {
  background-color: #fbf7f1;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow {
    padding-block: 5rem;
  }
}

.p-service-flow__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  margin-bottom: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__heading {
    margin-bottom: 3rem;
  }
}

.p-service-flow__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0rem 0.25rem;
  }
}

.p-service-flow__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item {
    width: 12.6875rem;
    gap: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-service-flow__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 4rem;
    left: calc(50% + 4rem);
    width: calc(100% - 8rem);
    height: 1px;
    background-color: #DCCBAC;
  }
}

.p-service-flow__circle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  background-color: #FBF6EE;
  border: 1.255px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-service-flow__circle {
    width: 8rem;
    height: 8rem;
    gap: 0.1875rem;
  }
}

.p-service-flow__num {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: #5D6B46;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-service-flow__num {
    font-size: 0.9375rem;
  }
}

.p-service-flow__step {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.78125rem;
  letter-spacing: 0.05em;
  color: #5E594E;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service-flow__step {
    font-size: 1.125rem;
  }
}

.p-service-flow__step--sm {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow__step--sm {
    font-size: 0.875rem;
    letter-spacing: -0.02em;
  }
}

.p-service-flow__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.78125rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-service-flow__text {
    font-size: 1rem;
  }
}

/* --compact: 体験ページ用（4step・円ひとまわり小さめ） */
.p-service-flow--compact {
  background-color: #FBF6EE;
}
.p-service-flow--compact .p-service-flow__circle {
  width: 4.75rem;
  height: 4.75rem;
}
@media screen and (min-width: 768px) {
  .p-service-flow--compact .p-service-flow__circle {
    width: 6.375rem;
    height: 6.375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-service-flow--compact .p-service-flow__item {
    width: 17.125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-service-flow--compact .p-service-flow__item:not(:last-child)::after {
    top: 3.1875rem;
    left: calc(50% + 3.1875rem);
    width: calc(100% - 6.375rem);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .p-service-flow__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 0.25rem;
  }
  .p-service-flow__item {
    width: auto;
  }
  .p-service-flow__item:nth-child(3n)::after {
    content: none;
  }
  .p-service-flow--compact .p-service-flow__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-service-flow--compact .p-service-flow__item {
    width: auto;
  }
  .p-service-flow--compact .p-service-flow__item:nth-child(3n)::after {
    content: "";
  }
  .p-service-flow--compact .p-service-flow__item:nth-child(2n)::after {
    content: none;
  }
  .p-service-flow--compact .p-service-flow__item:last-child::after {
    content: none;
  }
}
/*----------------------------------
  p-rental-hero（02_Hero 自宅で、じっくり試してから、安心して選びたい方へ。）
----------------------------------*/
.p-rental-hero {
  background-color: #FBF6EE;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-rental-hero {
    padding-block: 5rem;
  }
}

.p-rental-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.p-rental-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__copy {
    gap: 1.875rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-rental-hero__copy {
    max-width: 42.75rem;
  }
}

.p-rental-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__title {
    font-size: 3.5rem;
  }
}

.p-rental-hero__title-line {
  display: block;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__title-line {
    white-space: nowrap;
  }
}

.p-rental-hero__title-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-rental-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__lead {
    font-size: 1.125rem;
    line-height: 1.7;
  }
}

.p-rental-hero__photo {
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-rental-hero__photo img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__photo {
    width: 34.375rem;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    min-width: 0;
  }
}

.p-rental-hero__button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-rental-hero__button {
    margin-inline: 0;
  }
}

/*----------------------------------
  p-rental-price（03_Price ご利用料金・緑背景・2カード）
----------------------------------*/
.p-rental-price {
  background-color: #5D6B46;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-rental-price {
    padding-block: 5rem;
  }
}

.p-rental-price__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-rental-price__heading {
    margin-bottom: 3.125rem;
  }
}

.p-rental-price__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  max-width: 77.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-rental-price__grid {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
}

.p-rental-price__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #FCFAF7;
  border: 1px solid #DCCBAC;
  border-radius: 1.125rem;
  padding: 1.5rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-rental-price__card {
    padding: 2rem 2.25rem 1.875rem;
    gap: 1.125rem;
  }
}

.p-rental-price__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-rental-price__head {
    gap: 1.25rem;
  }
}

.p-rental-price__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #B08E5C;
}
.p-rental-price__icon img {
  width: 1.625rem;
  height: 1.625rem;
}
@media screen and (min-width: 768px) {
  .p-rental-price__icon {
    width: 4rem;
    height: 4rem;
  }
  .p-rental-price__icon img {
    width: 2.125rem;
    height: 2.125rem;
  }
}

.p-rental-price__text {
  text-align: left;
}

.p-rental-price__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-rental-price__label {
    font-size: 1rem;
  }
}

.p-rental-price__amount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.15em 0.2em;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-rental-price__amount {
    margin-top: 0.375rem;
  }
}

.p-rental-price__amount-pre {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-rental-price__amount-pre {
    font-size: 0.9375rem;
  }
}

.p-rental-price__amount-num {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-rental-price__amount-num {
    font-size: 2.375rem;
  }
}

.p-rental-price__amount-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-rental-price__amount-unit {
    font-size: 1.0625rem;
  }
}

.p-rental-price__amount-tax {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.5625rem;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-rental-price__amount-tax {
    font-size: 0.75rem;
  }
}

.p-rental-price__rule {
  width: 100%;
  height: 1px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #DCCBAC), color-stop(0%, transparent));
  background-image: linear-gradient(to right, #DCCBAC 50%, transparent 0%);
  background-size: 8px 1px;
  background-repeat: repeat-x;
}

.p-rental-price__body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-rental-price__body {
    font-size: 1.125rem;
  }
}

.p-rental-price__annotation {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.625rem;
  line-height: 1.8;
  color: #5E594E;
  margin-top: -1rem;
}
@media screen and (min-width: 768px) {
  .p-rental-price__annotation {
    font-size: 0.875rem;
  }
}

/*----------------------------------
  p-rental-recommend（Frame48 こんな方におすすめです）
----------------------------------*/
.p-rental-recommend {
  position: relative;
  background-color: #FBF6EE;
  border-block: 1px solid #DCCBAC;
  padding-block: 6.25rem 2.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend {
    padding-block: 5rem 9.5rem;
  }
}

.p-rental-recommend__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 2rem;
  }
}

.p-rental-recommend__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-rental-recommend__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-rental-recommend__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(251, 246, 238, 0.8)), color-stop(80%, rgba(251, 246, 238, 0)));
  background: linear-gradient(90deg, rgba(251, 246, 238, 0.8) 0%, rgba(251, 246, 238, 0) 80%);
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__photo::after {
    display: none;
  }
}

.p-rental-recommend__lede {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__lede {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 15.8125rem;
  }
}

.p-rental-recommend__lede-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__lede-label {
    font-size: 0.875rem;
  }
}

.p-rental-recommend__lede-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.55;
  letter-spacing: 0.03em;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__lede-title {
    font-size: 2.375rem;
    margin-top: 1.875rem;
  }
}

.p-rental-recommend__lede-line {
  display: inline-block;
  color: #B08E5C;
}

.p-rental-recommend__lede-line--mark {
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-rental-recommend__list {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__list {
    width: 22.3125rem;
  }
}

.p-rental-recommend__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  border-top: 1px solid #B08E5C;
  padding-block: 1.125rem;
}
.p-rental-recommend__item:last-child {
  border-bottom: 1px solid #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__item {
    gap: 1.5rem;
    padding-block: 1.375rem;
  }
}

.p-rental-recommend__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__icon {
    width: 1.5rem;
  }
}

.p-rental-recommend__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__item-title {
    font-size: 1.125rem;
  }
}

.p-rental-recommend__item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.78125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #5E594E;
  margin-top: 0.375rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__item-text {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}

.p-rental-recommend__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 1.125rem;
  top: -4.5rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background-color: #DCCBAC;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__badge {
    left: 1.3125rem;
    right: unset;
    bottom: -7rem;
    top: unset;
    width: 16.125rem;
    height: 16.125rem;
  }
}

.p-rental-recommend__badge-text {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-rental-recommend__badge-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  p-purchase-hero（02_Hero これからの毎日を、ご自宅で心地よく。）
  バッジ（国際特許PCT取得・正規品保証）は写真に焼き込み済みの画像を使用。
----------------------------------*/
.p-purchase-hero {
  position: relative;
  background-color: #FBF6EE;
  padding-block: 2.5rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero {
    padding-block: 3.75rem 5rem;
  }
}

.p-purchase-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.p-purchase-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__copy {
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-purchase-hero__copy {
    max-width: 36.5rem;
  }
}

.p-purchase-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__title {
    font-size: 3.5rem;
  }
}

.p-purchase-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.84375rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__lead {
    font-size: 1.125rem;
    line-height: 1.7;
  }
}

.p-purchase-hero__product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__product {
    gap: 0.375rem;
  }
}

.p-purchase-hero__product-catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__product-catch {
    font-size: 1.5rem;
  }
}

.p-purchase-hero__product-name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: 0.03em;
  padding: 0.25em 0.3em;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__product-name {
    font-size: 2.375rem;
  }
}

.p-purchase-hero__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem 0.625rem;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__price {
    gap: 0.875rem;
    margin-top: 0.375rem;
  }
}

.p-purchase-hero__price-tag {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #DCCBAC;
  color: #34312A;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.65625rem;
  letter-spacing: 0.02em;
  border-radius: 0.8125rem;
  padding: 0.3em 0.7em;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__price-tag {
    font-size: 0.71875rem;
  }
}

.p-purchase-hero__price-amount {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__price-amount {
    font-size: 2.5rem;
  }
}

.p-purchase-hero__price-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__price-unit {
    font-size: 1.125rem;
  }
}

.p-purchase-hero__price-tax {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.5625rem;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__price-tax {
    font-size: 0.75rem;
  }
}

.p-purchase-hero__photo {
  width: 100%;
  max-width: 34.75rem;
  padding-inline: 1.125rem;
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__photo {
    position: absolute;
    top: 0;
    right: 0;
    width: 63.875rem;
    max-width: unset;
    margin: 0;
    z-index: -1;
  }
}

.p-purchase-hero__button {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-purchase-hero__button {
    margin-inline: 0;
  }
}

/*----------------------------------
  p-purchase-merit（03_Merit 購入する4つのメリット）
----------------------------------*/
.p-purchase-merit {
  background-color: #FBF6EE;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit {
    padding-block: 5rem;
  }
}

.p-purchase-merit__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 auto 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__heading {
    margin-bottom: 3rem;
  }
}

.p-purchase-merit__heading-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__heading-label {
    font-size: 0.875rem;
  }
}

.p-purchase-merit__heading-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__heading-title {
    font-size: 3.5rem;
    margin-top: 1.25rem;
  }
}

.p-purchase-merit__heading-line {
  color: #B08E5C;
}

.p-purchase-merit__heading-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-purchase-merit__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  border-top: 1px solid #DCCBAC;
  border-bottom: 1px solid #DCCBAC;
  padding-block: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    padding-block: 1.875rem;
  }
}

.p-purchase-merit__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.875rem;
  text-align: center;
  border-right: 1px solid #DCCBAC;
  padding-inline: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item {
    gap: 1.875rem;
    padding-inline: 0.9375rem;
  }
}
.p-purchase-merit__item:nth-child(1), .p-purchase-merit__item:nth-child(3) {
  border-left: 1px solid #DCCBAC;
  border-right: unset;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item:nth-child(1), .p-purchase-merit__item:nth-child(3) {
    border-left: unset;
    border-right: 1px solid #DCCBAC;
  }
}
.p-purchase-merit__item:nth-child(1)::after, .p-purchase-merit__item:nth-child(3)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.5rem;
  translate: 0 -50%;
  height: 100%;
  border-right: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item:nth-child(1)::after, .p-purchase-merit__item:nth-child(3)::after {
    display: none;
  }
}
.p-purchase-merit__item:nth-child(1)::before, .p-purchase-merit__item:nth-child(2)::before {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  translate: -50% 0;
  width: 90%;
  border-bottom: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item:nth-child(1)::before, .p-purchase-merit__item:nth-child(2)::before {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item:nth-child(1), .p-purchase-merit__item:nth-child(2) {
    border-bottom: unset;
  }
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item:last-child {
    border-right: unset;
  }
}

.p-purchase-merit__icon {
  width: 1.25rem;
  height: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-purchase-merit__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.03em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item-title {
    font-size: 1.5rem;
  }
}

.p-purchase-merit__item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.6875rem;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5E594E;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-purchase-merit__item-text {
    font-size: 1rem;
    line-height: 1.9;
  }
}

/*----------------------------------
  p-purchase-price（03_Price 販売価格・緑背景・中央1カード）
----------------------------------*/
.p-purchase-price {
  background-color: #5D6B46;
  padding-block: 3rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price {
    padding-block: 5rem;
  }
}

.p-purchase-price__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__heading {
    margin-bottom: 3.125rem;
  }
}

.p-purchase-price__panel {
  background-color: #FCFAF7;
  border-radius: 1.25rem;
  padding: 1.75rem 1.25rem;
  max-width: 41.5rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__panel {
    padding: 3.125rem 2.5rem;
    gap: 3.125rem;
  }
}

.p-purchase-price__product {
  text-align: center;
}

.p-purchase-price__product-catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__product-catch {
    font-size: 1.125rem;
  }
}

.p-purchase-price__product-name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  color: #34312A;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__product-name {
    font-size: 1.75rem;
    margin-top: 0.375rem;
  }
}

.p-purchase-price__amount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__amount {
    gap: 0.875rem;
  }
}

.p-purchase-price__amount-tag {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #DCCBAC;
  color: #34312A;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  border-radius: 0.8125rem;
  padding: 0.3em 0.7em;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__amount-tag {
    font-size: 1.03125rem;
  }
}

.p-purchase-price__amount-num {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__amount-num {
    font-size: 4rem;
  }
}

.p-purchase-price__amount-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__amount-unit {
    font-size: 1.5rem;
  }
}

.p-purchase-price__amount-tax {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__amount-tax {
    font-size: 1rem;
  }
}

.p-purchase-price__notes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__notes {
    gap: 0.625rem;
  }
}

.p-purchase-price__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #34312A;
}
.p-purchase-price__note img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .p-purchase-price__note img {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}
@media screen and (min-width: 768px) {
  .p-purchase-price__note {
    font-size: 1rem;
  }
}

/*----------------------------------
  p-purchase-support（ご購入後のサポート・05_Flow内の補足ボックス）
----------------------------------*/
.p-purchase-support {
  background-color: #f4ebe0;
  border: 1px solid #B08E5C;
  border-radius: 1.125rem;
  padding: 1.5rem 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support {
    padding: 2.5rem 3.125rem;
    margin-top: 3.125rem;
  }
}

.p-purchase-support__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__heading {
    margin-bottom: 1.875rem;
  }
}

.p-purchase-support__heading-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__heading-label {
    font-size: 0.875rem;
  }
}

.p-purchase-support__heading-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: 0.03em;
  color: #B08E5C;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__heading-title {
    font-size: 2.375rem;
    margin-top: 1.25rem;
  }
}

.p-purchase-support__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: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.125rem;
  }
}

.p-purchase-support__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__item {
    width: 28.75rem;
  }
}

.p-purchase-support__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background-color: #FFF;
}
.p-purchase-support__icon img {
  width: 0.9375rem;
  height: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__icon {
    width: 2.25rem;
    height: 2.25rem;
  }
  .p-purchase-support__icon img {
    width: 1.1666875rem;
    height: 1.1666875rem;
  }
}

.p-purchase-support__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__item-title {
    font-size: 1.125rem;
    gap: 0.5rem;
  }
}

.p-purchase-support__rule {
  width: 100%;
  height: 1px;
  background-color: #DCCBAC;
  margin-block: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__rule {
    margin-block: 0.875rem;
  }
}

.p-purchase-support__item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5E594E;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-purchase-support__item-text {
    font-size: 1rem;
  }
}

/*----------------------------------
  p-salon-hero（02_Hero）
----------------------------------*/
.p-salon-hero {
  position: relative;
  background-color: #FBF6EE;
  overflow: hidden;
  padding-block: 2rem;
}
@media screen and (min-width: 768px) {
  .p-salon-hero {
    height: 40rem;
    padding-top: 7.0625rem;
  }
}

.p-salon-hero__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.p-salon-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__copy {
    gap: 1.875rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-salon-hero__copy {
    max-width: 36.25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-salon-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__title {
    font-size: 3rem;
  }
}

.p-salon-hero__title-line {
  display: block;
  color: #B08E5C;
}

.p-salon-hero__title-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-salon-hero__catch {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__catch {
    font-size: 1.375rem;
  }
}

.p-salon-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__lead {
    font-size: 1.125rem;
  }
}

.p-salon-hero__photo {
  width: 100%;
  max-width: 34.75rem;
  padding-inline: 1.125rem;
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-salon-hero__photo {
    position: absolute;
    top: 0;
    right: 0;
    width: 60.6875rem;
    max-width: unset;
    margin: 0;
  }
}

/*----------------------------------
  p-salon-subsidy（補助金バナー帯）
----------------------------------*/
.p-salon-subsidy {
  background-color: #FBF6EE;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .p-salon-subsidy {
    padding: 0.625rem 0;
  }
}

.p-salon-subsidy__banner {
  width: 100%;
}

/*----------------------------------
  p-salon-merit-slider（03_Merit スライドギャラリー）
----------------------------------*/
.p-salon-merit-slider {
  background-color: #FBF6EE;
  padding-block: 2rem;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-slider {
    padding-block: 3.75rem;
  }
}

.p-salon-merit-slider__note {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #8B8477;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-slider__note {
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
  }
}

.p-salon-merit-slider__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-slider__body {
    gap: 1rem;
  }
}

.p-salon-merit-slider__swiper {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 0;
  overflow: hidden;
}

.p-salon-merit-slider__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-salon-merit-slider__slide img {
  width: 100%;
  max-width: 21.25rem;
  height: auto;
  border-radius: 0.375rem;
  -webkit-box-shadow: 0 0.25rem 1.25rem rgba(59, 37, 24, 0.08);
          box-shadow: 0 0.25rem 1.25rem rgba(59, 37, 24, 0.08);
}

.p-salon-merit-slider__nav-btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 50%;
  background-color: #FCFAF7;
  border: 1px solid #DCCBAC;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.p-salon-merit-slider__nav-btn img {
  width: 0.5rem;
  height: 0.625rem;
}
.p-salon-merit-slider__nav-btn:hover {
  opacity: 0.7;
}
.p-salon-merit-slider__nav-btn.--prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .p-salon-merit-slider__nav-btn {
    width: 2.625rem;
    height: 2.625rem;
  }
  .p-salon-merit-slider__nav-btn img {
    width: 0.625rem;
    height: 0.75rem;
  }
}

.p-salon-merit-slider__pagination {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  margin-top: 1rem;
}
.p-salon-merit-slider__pagination .swiper-pagination-bullet {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background-color: #DCCBAC;
  opacity: 1;
  cursor: pointer;
  margin: 0 !important;
}
.p-salon-merit-slider__pagination .swiper-pagination-bullet-active {
  background-color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-slider__pagination {
    margin-top: 1.5rem;
    gap: 0.75rem;
  }
  .p-salon-merit-slider__pagination .swiper-pagination-bullet {
    width: 0.4375rem;
    height: 0.4375rem;
  }
}

/* 💡 dialogタグ自体の基本設定（デフォルトの枠線などを消す） */
.p-modal {
  border: none;
  padding: 0;
  background: transparent;
  max-width: 90vw;
  max-height: 90vh;
  overflow: unset;
}

/* 💡 dialogの背景（暗いオーバーレイ）を ::backdrop で設定 */
.p-modal::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
.p-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}

/* 💡 モーダルが開いたとき（[open]属性が付与されたとき）のアニメーション */
.p-modal[open] {
  -webkit-animation: fadeIn 0.4s ease forwards;
          animation: fadeIn 0.4s ease forwards;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* 画像とボタンを囲むコンテンツ領域 */
.p-modal__content {
  position: relative;
}

/* 大画面化する画像 */
.p-modal__image {
  max-height: 85vh;
}

/* 閉じるボタン（右上のバツ印） */
.p-modal__close-btn {
  position: absolute;
  top: -1rem;
  right: -1rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #FFF;
  cursor: pointer;
  z-index: 10;
}

.p-modal__close-btn::before,
.p-modal__close-btn::after {
  content: "";
  position: absolute;
  top: 1.1875rem;
  left: 0.3125rem;
  width: 1.875rem;
  height: 2px;
  background-color: #5E594E;
}

.p-modal__close-btn::before {
  rotate: 45deg;
}

.p-modal__close-btn::after {
  rotate: -45deg;
}

.p-modal__close-btn:hover {
  opacity: 0.7;
}

/* モーダル表示時に背後のWebページをスクロールさせないための制御用 */
body.is-modal-open {
  overflow: hidden;
}

/*----------------------------------
  p-salon-merit-benefits（導入する4つのメリット）
----------------------------------*/
.p-salon-merit-benefits {
  position: relative;
  background-color: #FBF6EE;
  background-image: url("../img/common/texture-paper.webp");
  background-size: cover;
  background-position: center;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits {
    padding-block: 5rem 13.75rem;
  }
}

.p-salon-merit-benefits__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-salon-merit-benefits__list {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem 1rem;
  padding-block: 1.5rem;
  border-block: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__list {
    margin-top: 2.5rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding-block: 1.8125rem;
  }
}

.p-salon-merit-benefits__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.75rem;
  border-right: 1px solid #DCCBAC;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item {
    gap: 1.25rem;
    padding-inline: 0.9375rem;
  }
}
.p-salon-merit-benefits__item:nth-child(1), .p-salon-merit-benefits__item:nth-child(3) {
  border-left: 1px solid #DCCBAC;
  border-right: unset;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item:nth-child(1), .p-salon-merit-benefits__item:nth-child(3) {
    border-left: unset;
    border-right: 1px solid #DCCBAC;
  }
}
.p-salon-merit-benefits__item:nth-child(1)::after, .p-salon-merit-benefits__item:nth-child(3)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.5rem;
  translate: 0 -50%;
  height: 100%;
  border-right: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item:nth-child(1)::after, .p-salon-merit-benefits__item:nth-child(3)::after {
    display: none;
  }
}
.p-salon-merit-benefits__item:nth-child(1)::before, .p-salon-merit-benefits__item:nth-child(2)::before {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  translate: -50% 0;
  width: 90%;
  border-bottom: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item:nth-child(1)::before, .p-salon-merit-benefits__item:nth-child(2)::before {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item:nth-child(1), .p-salon-merit-benefits__item:nth-child(2) {
    border-bottom: unset;
  }
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__item:last-child {
    border-right: unset;
  }
}

.p-salon-merit-benefits__icon {
  width: 1.375rem;
  height: 1.375rem;
}
.p-salon-merit-benefits__icon img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-salon-merit-benefits__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.03em;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__title {
    font-size: 1.125rem;
  }
}

.p-salon-merit-benefits__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-salon-merit-benefits__text {
    font-size: 0.9375rem;
  }
}

/*----------------------------------
  p-salon-business（売上アップにつながるご提案）
----------------------------------*/
.p-salon-business {
  background-color: #5D6B46;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-business {
    padding-block: 5rem;
  }
}

.p-salon-business__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-salon-business__card {
  margin-top: 1.5rem;
  background-color: #f5f7f0;
  border-radius: 1.0625rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-salon-business__card {
    margin-top: 3.125rem;
  }
}

.p-salon-business__row {
  padding: 1.25rem 1.375rem;
  background-color: #FCFAF7;
}
.p-salon-business__row + .p-salon-business__row {
  border-top: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-salon-business__row {
    padding: 2rem 2.4375rem;
  }
}

.p-salon-business__row-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  color: #5D6B46;
  margin-bottom: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-salon-business__row-title {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
}

.p-salon-business__row-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-salon-business__row-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  p-salon-flow（サロン導入までの流れ + サポート）
----------------------------------*/
.p-salon-flow {
  background-color: #fbf7f1;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-flow {
    padding-block: 5rem;
  }
}

.p-salon-flow__heading {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.p-salon-flow__steps {
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__steps {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.875rem;
    position: relative;
    margin-top: 3.125rem;
  }
  .p-salon-flow__steps::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 4.75rem;
    translate: -50% 0;
    width: 37.5rem;
    height: 1px;
    background-color: #DCCBAC;
    z-index: 0;
  }
}

.p-salon-flow__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.75rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__step {
    width: 14.375rem;
    gap: 1.125rem;
  }
}

.p-salon-flow__step-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.125rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background-color: #FBF6EE;
  border: 1px solid #DCCBAC;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #5D6B46;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__step-circle {
    width: 9.5rem;
    height: 9.5rem;
  }
}

.p-salon-flow__step-num {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__step-num {
    font-size: 1rem;
  }
}

.p-salon-flow__step-title {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__step-title {
    font-size: 1rem;
  }
}

.p-salon-flow__step-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.7;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__step-text {
    font-size: 1rem;
  }
}

.p-salon-flow__support {
  margin-top: 2rem;
  background-color: #f4ebe0;
  border: 1px solid #B08E5C;
  border-radius: 1.125rem;
  padding: 1.75rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__support {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 3.125rem auto 0;
    padding: 3.125rem 5rem;
    gap: 2.25rem;
  }
}

.p-salon-flow__support-heading {
  text-align: center;
}
.p-salon-flow__support-heading .c-heading__title {
  color: #B08E5C;
}

.p-salon-flow__support-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__support-items {
    gap: 1.1875rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-salon-flow__support-items {
    width: 28rem;
  }
}

.p-salon-flow__support-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}
.p-salon-flow__support-item img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.9375rem;
  height: 0.9375rem;
  margin-top: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__support-item img {
    width: 1.0625rem;
    height: 1.0625rem;
    margin-top: 0.25em;
  }
}

.p-salon-flow__support-item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-salon-flow__support-item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  p-about-hero（02_Hero）
----------------------------------*/
.p-about-hero {
  background-color: #FBF6EE;
  padding-block: 2rem;
}
@media screen and (min-width: 768px) {
  .p-about-hero {
    padding-block: 4.375rem;
  }
}

.p-about-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-hero__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.p-about-hero__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-hero__copy {
    gap: 1.875rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-hero__copy {
    max-width: 33rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-about-hero__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p-about-hero__title {
    font-size: 2.75rem;
  }
}

.p-about-hero__title-line {
  display: inline-block;
  color: #B08E5C;
}

.p-about-hero__title-line--mark {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  padding-inline: 0.15em;
}

.p-about-hero__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #5E594E;
}
.p-about-hero__lead p + p {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .p-about-hero__lead {
    font-size: 1.125rem;
  }
}

.p-about-hero__signature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-about-hero__signature {
    gap: 1rem;
  }
}

.p-about-hero__signature-role {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-about-hero__signature-role {
    font-size: 0.8125rem;
  }
}

.p-about-hero__signature-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.5rem;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .p-about-hero__signature-row {
    gap: 0.75rem;
  }
}

.p-about-hero__signature-name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-about-hero__signature-name {
    font-size: 1.375rem;
  }
}

.p-about-hero__signature-en {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  letter-spacing: 0.02em;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-about-hero__signature-en {
    font-size: 0.75rem;
  }
}

.p-about-hero__photo {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-about-hero__photo {
    width: 26.25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

/*----------------------------------
  p-about-story（セラゼムとの出会い・ティーザー）
----------------------------------*/
.p-about-story {
  background-color: #FBF6EE;
  border-block: 1px solid #DCCBAC;
  padding-block: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-about-story {
    padding-block: 7.5rem;
    gap: 3.125rem;
  }
}

.p-about-story__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-about-story__inner {
    gap: 1.875rem;
  }
}

.p-about-story__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: 0.03em;
  padding: 0.1em 0.3em;
}
@media screen and (min-width: 768px) {
  .p-about-story__title {
    font-size: 2.375rem;
  }
}

.p-about-story__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #5E594E;
}
.p-about-story__text p + p {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .p-about-story__text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  p-about-support（03_Support / ICCHIはセラゼムを中心に…）
  about.html / about-detail.html 共通
----------------------------------*/
.p-about-support {
  position: relative;
  background-color: #FBF6EE;
  background-image: url("../img/common/texture-paper.webp");
  background-size: cover;
  background-position: center;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-support {
    padding-block: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-about-support--compact {
    padding-block: 5rem;
  }
}

.p-about-support__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-support__inner {
    gap: 2.75rem;
  }
}

.p-about-support__lead {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
  text-align: center;
}
.p-about-support__lead p + p {
  margin-top: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-about-support__lead {
    font-size: 2rem;
  }
}

.p-about-support__lead-accent {
  color: #5D6B46;
}

.p-about-support__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-about-support__cards {
    gap: 1.25rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-support__cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.75rem;
  }
}

.p-about-support__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.875rem;
  background-color: #FBF6EE;
  border: 1px solid #efe9df;
  border-radius: 1rem;
  padding: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-about-support__card {
    gap: 1.25rem;
    padding: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-support__card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5rem;
    padding: 1.625rem 1.75rem 1.625rem 1.625rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-about-support__card-photo {
  width: 100%;
  aspect-ratio: 200/158;
  border-radius: 0.625rem;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-about-support__card-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1200px) {
  .p-about-support__card-photo {
    width: 12.5rem;
  }
}

.p-about-support__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.03em;
  color: #B08E5C;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-support__card-title {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
  }
}

.p-about-support__card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-about-support__card-text {
    font-size: 1rem;
  }
}

/*----------------------------------
  p-about-menu（自宅サロンICCHIでできること）
----------------------------------*/
.p-about-menu {
  background-color: #FBF6EE;
  padding-block: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu {
    padding-block: 7.5rem 5rem;
    gap: 5rem;
  }
}

.p-about-menu__heading {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  padding: 0.15em 0.4em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-menu__heading {
    font-size: 2.5rem;
  }
}

.p-about-menu__list {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu__list {
    margin-top: 3.125rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-menu__list {
    grid-template-columns: repeat(6, 1fr);
    gap: 0 0.75rem;
  }
}

.p-about-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.375rem;
}

.p-about-menu__item-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 180/134;
  border-radius: 0.25rem;
  overflow: hidden;
}
.p-about-menu__item-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-about-menu__item-badge {
  position: absolute;
  left: 50%;
  bottom: 0.375rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
  background-color: rgba(255, 255, 255, 0.85);
  border: 1px solid #5E6A4A;
  border-radius: 0.9375rem;
  padding: 0.2em 0.6em;
  font-size: 0.5625rem;
  color: #5E594E;
  white-space: nowrap;
}
.p-about-menu__item-badge a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-about-menu__item-badge {
    font-size: 0.6875rem;
  }
}

.p-about-menu__item-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.6875rem;
  letter-spacing: 0.01em;
  color: #5E594E;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-menu__item-label {
    font-size: 1rem;
  }
}

.p-about-menu__quote {
  font-family: "Noto Serif JP", serif;
  font-style: italic;
  font-weight: 900;
  font-size: 1.0625rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #B08E5C;
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu__quote {
    font-size: 2rem;
    margin-top: 5rem;
  }
}

.p-about-menu__quote-accent {
  color: #5D6B46;
}

.p-about-menu__cta-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #5E594E;
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu__cta-lead {
    font-size: 1.125rem;
    margin-top: 5rem;
  }
}

.p-about-menu__cta-list {
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu__cta-list {
    margin-top: 3.125rem;
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-menu__cta-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.125rem;
  }
}

.p-about-menu__cta-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0.875rem;
  background-color: #FFF;
  border-radius: 1rem;
  padding: 1rem 0.625rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-menu__cta-card {
    gap: 1.25rem;
    padding: 1.375rem 0.875rem;
    max-width: 18.75rem;
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-menu__cta-card {
    width: 18.75rem;
  }
}

.p-about-menu__cta-card-title {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #B08E5C;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  padding: 0.5em 0;
}
@media screen and (min-width: 768px) {
  .p-about-menu__cta-card-title {
    font-size: 1.125rem;
  }
}

.p-about-menu__cta-card-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 250/129;
  overflow: hidden;
  border-radius: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-about-menu__cta-card-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-about-menu__cta-card-watermark {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 60%;
  height: 60%;
  opacity: 0.5;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
}

.p-about-menu__cta-card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: #5E594E;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-menu__cta-card-text {
    font-size: 0.875rem;
  }
}

/*----------------------------------
  p-about-feature（ICCHIの3つの特徴）
----------------------------------*/
.p-about-feature {
  background-color: #FBF6EE;
  padding-block: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-about-feature {
    padding-block: 5rem;
    gap: 3.125rem;
  }
}

.p-about-feature__heading {
  display: inline-block;
  background-color: #B08E5C;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  padding: 0.15em 0.4em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-feature__heading {
    font-size: 2.5rem;
  }
}

.p-about-feature__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-feature__list {
    margin-top: 3.125rem;
  }
}

.p-about-feature__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding-block: 1.5rem;
  border-top: 1px solid #DCCBAC;
}
.p-about-feature__item:last-child {
  border-bottom: 1px solid #DCCBAC;
}
@media screen and (min-width: 768px) {
  .p-about-feature__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.5rem;
    padding-block: 2.5rem;
  }
}

.p-about-feature__item-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  background-color: #5D6B46;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.02em;
  padding: 0.3em 0.5em;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-about-feature__item-title {
    font-size: 1.75rem;
    margin-bottom: 1.875rem;
  }
}

.p-about-feature__item-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #5E594E;
}
.p-about-feature__item-list-item img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.9375rem;
  height: 0.9375rem;
  margin-top: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-about-feature__item-list-item {
    font-size: 1rem;
  }
  .p-about-feature__item-list-item img {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

.p-about-feature__item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #5E594E;
}
@media screen and (min-width: 768px) {
  .p-about-feature__item-text {
    font-size: 1rem;
  }
}

.p-about-feature__item-photo {
  width: 100%;
  aspect-ratio: 363/200;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-about-feature__item-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-about-feature__item-photo {
    width: 22.6875rem;
  }
}

/*----------------------------------
  p-about-detail-profile（代表プロフィール本文）
----------------------------------*/
.p-about-detail-profile {
  position: relative;
  background-color: #FBF6EE;
  padding-block: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile {
    padding-block: 5rem;
    gap: 2.1875rem;
  }
}

.p-about-detail-profile__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.5625rem;
  }
}

.p-about-detail-profile__photo {
  width: 100%;
  max-width: 17.5rem;
  margin-inline: auto;
  aspect-ratio: 354/472;
  overflow: hidden;
  border-radius: 0.25rem;
}
.p-about-detail-profile__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__photo {
    width: 22.125rem;
    max-width: none;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.p-about-detail-profile__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__content {
    gap: 1.875rem;
  }
}

.p-about-detail-profile__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3em;
}

.p-about-detail-profile__name-role {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  color: #B08E5C;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__name-role {
    font-size: 0.8125rem;
  }
}

.p-about-detail-profile__name-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__name-row {
    gap: 0.75rem;
  }
}

.p-about-detail-profile__name-jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  color: #34312A;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__name-jp {
    font-size: 1.375rem;
  }
}

.p-about-detail-profile__name-en {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.625rem;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__name-en {
    font-size: 0.75rem;
  }
}

.p-about-detail-profile__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__block {
    gap: 1.5rem;
  }
}

.p-about-detail-profile__block-title {
  color: #B08E5C;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__block-title {
    font-size: 2.375rem;
  }
}

.p-about-detail-profile__block-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #5E594E;
}
.p-about-detail-profile__block-text p + p {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__block-text {
    font-size: 1.125rem;
    line-height: 1.7;
  }
}

.p-about-detail-profile__block-text--indent p {
  padding-left: 1em;
  color: #5D6B46;
}

.p-about-detail-profile__note {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.6;
  color: #8B8477;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__note {
    font-size: 0.9375rem;
  }
}

.p-about-detail-profile__watermark {
  position: absolute;
  left: -1.25rem;
  bottom: 0;
  width: 8.75rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__watermark {
    width: 26.1875rem;
    bottom: 5rem;
    left: 0;
  }
}

.p-about-detail-profile__back {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-detail-profile__back {
    margin-top: 0.9375rem;
  }
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

.u-br-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-br-pc {
    display: inline;
  }
}

@media screen and (min-width: 768px) {
  .u-br-sp {
    display: none;
  }
}

@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}/*# sourceMappingURL=style.css.map */