@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
nav,
ul,
ol,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  clear: both;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  display: inline-block;
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

span {
  display: inline-block;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  /* 1 */
  font-size: inherit;
  font-family: monospace, monospace;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  vertical-align: middle;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  color: inherit;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

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

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

/* 初期設定 */
button {
  background: none;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  overflow: unset;
  border: unset;
  background-color: unset;
  color: unset;
}

body:has(dialog[open]) {
  overflow: hidden;
}

/*=================================================
色
==================================================*/
/*=================================================
フォント
==================================================*/
/*=================================================
レイアウト
==================================================*/
/*=================================================
vwの幅指定
==================================================*/
/*=================================================
ブレークポイント（PCファースト＝素の状態はワイドPC、max-widthで下へ上書き）
==================================================*/
/*=================================================
重なり順の定義
==================================================*/
/*=================================================
フォント情報の一括入力
==================================================*/
/*=================================================
fontサイズ
==================================================*/
/*=================================================
vw
==================================================*/
/* メディアクエリ―
----------------------------------------------------*/
html {
  overflow-x: clip;
  scroll-behavior: smooth;
}
@media screen and (max-width: 1023px) {
  html {
    font-size: calc(16 / 1040 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: min(4.2667vw, 25.5px);
  }
}

body {
  padding-top: 80px;
  overflow-x: clip;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
}
@media screen and (max-width: 1023px) {
  body {
    padding-top: 60px;
  }
}

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

a,
span {
  display: inline-block;
}

.l-inner {
  width: min(1040px, 100%);
  margin-inline: auto;
  padding-inline: 20px;
}

.l-section {
  padding-block: 9.375rem 12.5rem;
}
@media screen and (max-width: 1023px) {
  .l-section {
    padding-block: 4.375rem 8.125rem;
  }
}

.p-footer .l-section {
  padding-block-end: 9.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer .l-section {
    padding-block-end: 6.25rem;
  }
}

.p-top-parking .l-section {
  padding-block-end: 10.9375rem;
}

.p-instructor-story .l-section {
  padding-block-end: 9.1875rem;
}
@media screen and (max-width: 599px) {
  .p-instructor-story .l-section {
    padding-block-end: 4.1875rem;
  }
}

.p-change-story .l-section {
  padding-block-end: 10.625rem;
}
@media screen and (max-width: 599px) {
  .p-change-story .l-section {
    padding-block-end: 6.25rem;
  }
}

.p-change-first .l-section {
  padding-block-start: 6rem;
}
@media screen and (max-width: 599px) {
  .p-change-first .l-section {
    padding-block-end: 7.375rem;
  }
}

.p-menu-payment .l-section {
  padding-block-end: 12.125rem;
}
@media screen and (max-width: 767px) {
  .p-menu-payment .l-section {
    padding-block-end: 8.125rem;
  }
}

.p-menu-cost .l-section {
  padding-block-start: 2.125rem;
}

/*=================================================
セクション共通見出し（英語スクリプト＋下線＋日本語サブ）
全ページ最頻出。英字と日本語サブは +c-title() の引数で差し替え。
==================================================*/
.c-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-title {
    gap: 0.625rem;
  }
}

.c-title__en {
  color: #ff5003;
  font-weight: 400;
  font-size: 3.25rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1023px) {
  .c-title__en {
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-weight: 400;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.c-title__line {
  width: 6.25rem;
  height: 2px;
  background: #ffe875;
}

.c-title__sub {
  color: #724404;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .c-title__sub {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) {
  .c-title__sub {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.c-morelink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 2.5rem;
  padding-block: 0.625rem;
  gap: 0.625rem;
  border-radius: 50px;
  background: #fef0de;
  box-shadow: 4px 4px 5px rgba(114, 68, 4, 0.5);
  transition: background-color 0.3s ease, background 0.3s ease;
}

.c-morelink:hover {
  background: #ff5003;
}

.c-morelink:hover .c-morelink__text {
  color: #fef0de;
}

.c-morelink:hover .c-morelink__icon {
  background-color: #fef0de;
}

.c-morelink__text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  transition: color 0.3s ease;
}

.c-morelink__text--orange {
  color: #ff5003;
}

.c-morelink__text--brown {
  color: #724404;
}

.c-morelink__text--white {
  color: #fff;
}

.c-morelink__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #ff5003;
  mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  rotate: 90deg;
}

.c-morelink__icon--white {
  background-color: #fff;
}

.c-morelink__icon {
  transition: background-color 0.3s ease;
}

.c-morelink--fill {
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
}

.c-morelink--fill:hover {
  background: #fff;
}

.c-morelink--fill:hover .c-morelink__text {
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.c-morelink--fill:hover .c-morelink__icon {
  background-color: #ff8147;
}

.c-morelink--teal {
  background: #a3cfd4;
  box-shadow: 4px 4px 5px rgba(4, 98, 114, 0.5);
}

.c-morelink--teal:hover {
  background: #fff;
}

.c-morelink--teal:hover .c-morelink__text {
  color: #a3cfd4;
}

.c-morelink--teal:hover .c-morelink__icon {
  background-color: #a3cfd4;
}

/*=================================================
円形の体験予約CTAボタン（全ページ共通）
見た目だけを持つ。配置（absolute等）は各ページのクラスで行う。
FVを過ぎたら is-floating（JS付与）で画面右下に固定される。
==================================================*/
.c-cta-circle {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 9.625rem;
  border-radius: 50%;
  background-color: #a3cfd4;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, filter 0.3s ease;
}
.c-cta-circle:hover, .c-cta-circle:focus-visible {
  background-color: #fff;
}
.c-cta-circle:hover::before, .c-cta-circle:focus-visible::before {
  border-color: #a3cfd4;
}
.c-cta-circle:hover .c-cta-circle__text, .c-cta-circle:focus-visible .c-cta-circle__text {
  color: #a3cfd4;
}
.c-cta-circle:hover .c-cta-circle__icon, .c-cta-circle:focus-visible .c-cta-circle__icon {
  background-color: #a3cfd4;
}
.c-cta-circle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
@media screen and (max-width: 1279px) {
  .c-cta-circle {
    width: min(12.03125vw, 9.625rem);
  }
}
@media screen and (max-width: 767px) {
  .c-cta-circle {
    width: 5.25rem;
  }
}

.c-cta-circle.is-floating {
  z-index: 30;
  position: fixed;
  top: auto;
  right: 1.5rem;
  bottom: 1.5rem;
  left: auto;
  animation: cta-circle-in 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-cta-circle.is-floating {
    right: 1rem;
    bottom: 1rem;
  }
}

@keyframes cta-circle-in {
  from {
    translate: 0 1rem;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
.c-cta-circle::before {
  position: absolute;
  inset: 4%;
  border: 1px solid #fff;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  transition: border-color 0.3s ease;
}

.c-cta-circle__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block-start: 0.5625rem;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-cta-circle__body {
    gap: 0.375rem;
  }
}
@media screen and (max-width: 599px) {
  .c-cta-circle__body {
    gap: 0.25rem;
  }
}

.c-cta-circle__text {
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1279px) {
  .c-cta-circle__text {
    font-size: min(1.40625vw, 1.125rem);
  }
}
@media screen and (max-width: 767px) {
  .c-cta-circle__text {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 599px) {
  .c-cta-circle__text {
    margin-block-start: 0.5rem;
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

.c-cta-circle__icon {
  aspect-ratio: 1/1;
  width: 1.875rem;
  background-color: #fff;
  mask: url("../img/icon-tap.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-tap.svg") no-repeat center/contain;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 1279px) {
  .c-cta-circle__icon {
    width: min(2.34375vw, 1.875rem);
  }
}
@media screen and (max-width: 767px) {
  .c-cta-circle__icon {
    width: 1.25rem;
  }
}

/*=================================================
ヘッダー
==================================================*/
.p-header {
  z-index: 20;
  position: fixed;
  width: 100%;
  height: 80px;
  inset: 0 0 auto;
  background: #fff9f1;
}
@media screen and (max-width: 1023px) {
  .p-header {
    height: 60px;
  }
}

.p-header__inner {
  display: flex;
  z-index: 2;
  position: relative;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding-inline: 60px;
}
.p-header__inner::after {
  z-index: 3;
  position: absolute;
  inset: 0;
  box-shadow: 0 4px 4px rgba(149, 62, 0, 0.2);
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 1279px) {
  .p-header__inner {
    padding-inline: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-header__inner {
    padding-inline: 1.25rem;
  }
}

/* ロゴ
----------------------------------------------------*/
.p-header__logo {
  display: block;
  flex-shrink: 0;
  height: 100%;
  transition: opacity 0.3s ease;
}
.p-header__logo:hover {
  opacity: 0.7;
}
.p-header__logo img {
  display: block;
  width: auto;
  height: 100%;
}

html:has(body.is-drawer-open) {
  overflow: hidden;
}

body.is-drawer-open {
  overflow: hidden;
}

/* ナビ＋予約ボタン（PC:横並び / SP:ドロアー）
----------------------------------------------------*/
.p-header__drawer {
  display: flex;
  align-items: center;
  gap: 3.125vw;
}
@media screen and (max-width: 1023px) {
  .p-header__drawer {
    z-index: 1;
    position: fixed;
    flex-direction: column;
    justify-content: flex-start;
    inset: 60px 0 0;
    padding: 32px 24px 48px;
    overflow-y: auto;
    gap: 0;
    transform: translateX(100%);
    background: linear-gradient(101.36deg, #fef0de 40.87%, #fde3c4 100%);
    transition: transform 0.4s ease;
  }
  .p-header__drawer.is-open {
    transform: translateX(0);
  }
}

.p-header__nav {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-header__nav {
    padding-inline: 1.25rem;
  }
}

/* グローバルナビ */
.p-header__menu {
  display: flex;
  align-items: center;
  gap: 2.34375vw;
}
@media screen and (max-width: 1023px) {
  .p-header__menu {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
  }
}

.p-header__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-header__link {
    flex-direction: row;
    align-items: baseline;
    padding-block: 0.75rem;
    gap: 0.75rem;
  }
}

.p-header__link {
  transition: opacity 0.3s ease;
}

.p-header__link:hover .p-header__link-en {
  color: #ffbb9d;
}

.p-header__link:hover .p-header__link-ja {
  color: #ad9989;
}

.p-header__link-en {
  color: #ff8147;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.5;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-header__link-en {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__link-en {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

.p-header__link-ja {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-header__link-ja {
    font-weight: 400;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__link-ja {
    font-weight: 400;
    font-size: 0.625rem;
    line-height: 1;
  }
}

/* 体験予約ボタン */
.p-header__reserve {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
}
.p-header__reserve:focus-visible {
  outline: 2px solid #ff8147;
  outline-offset: 4px;
}
.p-header__reserve {
  padding: 10px 15px;
  gap: 2px;
  border-radius: 10px;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
}
@media screen and (max-width: 1023px) {
  .p-header__reserve {
    align-self: center;
    margin-block-start: 2.5rem;
    padding: 0.625rem 1.5rem;
    gap: 0.875rem;
  }
}

.p-header__reserve-icon {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: #fff;
  mask: url("../img/icon-sun.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-sun.svg") no-repeat center/contain;
  transition: background-color 0.3s ease;
}

.p-header__reserve-text {
  color: #fff;
  font-weight: 500;
  font-size: 0.85rem;
  line-height: 1.9;
  letter-spacing: 0.1em;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  white-space: nowrap;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.p-header__reserve {
  transition: background-color 0.3s ease;
}

.p-header__reserve:hover {
  background: #fff;
}

.p-header__reserve:hover .p-header__reserve-icon {
  background-color: #ff8147;
}

.p-header__reserve:hover .p-header__reserve-text {
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

/* SNS（SPドロアーのみ） */
.p-header__sns a {
  transition: opacity 0.3s ease;
}
.p-header__sns a:hover {
  opacity: 0.7;
}

.p-header__sns {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-header__sns {
    display: flex;
    justify-content: center;
    margin-top: 32px;
    gap: 24px;
  }
}
.p-header__sns img {
  width: 36px;
  height: 36px;
}

/* ハンバーガー（SPのみ。開くとXに変化）
----------------------------------------------------*/
.p-header__toggle {
  display: none;
}
.p-header__toggle:focus-visible {
  outline: 2px solid #ff8147;
  outline-offset: 4px;
}
@media screen and (max-width: 1023px) {
  .p-header__toggle {
    display: block;
    z-index: 2;
    position: relative;
    width: 28px;
    height: 20px;
    background: transparent;
    cursor: pointer;
  }
}

.p-header__toggle-bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: #ff8147;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.p-header__toggle-bar:nth-child(1) {
  top: 0;
}
.p-header__toggle-bar:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.p-header__toggle-bar:nth-child(3) {
  bottom: 0;
}
.p-header__toggle.is-open .p-header__toggle-bar:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.p-header__toggle.is-open .p-header__toggle-bar:nth-child(2) {
  opacity: 0;
}
.p-header__toggle.is-open .p-header__toggle-bar:nth-child(3) {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) rotate(-45deg);
}

/* ドロアー展開中の背面スクロール固定 */
.is-drawer-open {
  overflow: hidden;
}

@media screen and (max-width: 1023px) {
  .p-header__item .p-header__link {
    border-bottom: 1px solid #a3cfd4;
  }
  .p-header__item:first-child .p-header__link {
    padding-block-start: 0;
  }
  .p-header__item:last-child .p-header__link {
    padding-block-end: 0;
    border: none;
  }
}

/*==================================================================
▼ p-top-fv
==================================================================*/
.p-top-fv {
  position: relative;
  width: 100%;
  height: min(67.1875vw, 860px);
  padding-block-end: min(2.5vw, 32px);
  overflow: hidden;
  background: linear-gradient(119deg, #fff 1%, #fde0d2 18%);
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-top-fv {
    height: min(160.2666666667vw, 960px);
    padding-block-end: 0;
  }
}
.p-top-fv::after {
  z-index: -1;
  position: absolute;
  right: 0;
  bottom: -1.5625rem;
  left: 0;
  width: 100%;
  height: min(40vw, 349px);
  background: url("../img/fv_wave.svg") no-repeat center bottom/100% 100%;
  content: "";
}
@media screen and (min-width: 1024px) {
  .p-top-fv::after {
    width: 101%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv::after {
    z-index: -2;
    bottom: 0;
    height: min(95.4666666667vw, 572px);
    background-image: url("../img/fv-wave--sp.svg");
  }
}

.p-top-fv__photo {
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.p-top-fv__photo img {
  position: absolute;
  top: -11.015625vw;
  left: 0;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-top-fv__photo {
    z-index: -2;
  }
  .p-top-fv__photo img {
    top: 0;
    left: -18.13%;
    aspect-ratio: 489/325;
    width: 130.4%;
    height: auto;
  }
}

.p-top-fv__photo-bg {
  opacity: 0.55;
}

.p-top-fv__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1280px;
  height: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-fv__inner {
    padding-inline: 1.25rem;
  }
}

.p-top-fv__location {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: 0.8125rem;
  margin-block-start: 1.25rem;
  padding: 0.625rem 1.25rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.8);
  color: #ff5003;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-fv__location {
    width: 100%;
    margin-inline-start: 0;
    margin-block-start: 1.1875rem;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.5384615385;
    text-align: center;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__location {
    padding: 0.625rem 1.1875rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-fv__catch {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-inline-start: 8.9375rem;
  margin-block-start: min(20.15625vw, 258px);
}
.p-top-fv__catch::before {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: -9.25rem;
  aspect-ratio: 79/88;
  width: 100%;
  max-width: 430px;
  transform: translateY(-50%);
  background: url("../img/fv-05.webp") no-repeat center center/cover;
  content: "";
}
@media screen and (max-width: 1279px) {
  .p-top-fv__catch {
    align-items: flex-start;
    margin-block-start: 7.5rem;
  }
  .p-top-fv__catch::before {
    top: 50%;
    left: -3.25rem;
    max-width: 11.25rem;
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__catch {
    align-items: flex-start;
    margin-inline-start: min(14.1333333333vw, 5.3125rem);
    margin-block-start: min(46.1333333333vw, 17.25rem);
  }
  .p-top-fv__catch::before {
    top: -2.5rem;
    left: -4.5625rem;
    max-width: 8.25rem;
    transform: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .p-top-fv__catch::before {
    left: -18.1333333333vw;
  }
}

.p-top-fv__catch-row {
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  color: #6b5f55;
  font-family: "Zen Maru Gothic", sans-serif;
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 0 2px #fff, -2px 0 2px #fff, 0 2px 2px #fff, 0 -2px 2px #fff;
}

.p-top-fv__catch-row--1 {
  font-weight: 500;
  font-size: 2.8125rem;
  line-height: 1.2;
}
.p-top-fv__catch-row--1 .p-top-fv__catch-accent {
  color: #ff5003;
  font-size: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__catch-row--1 {
    font-weight: 500;
    font-size: 1.75rem;
    line-height: 1.2142857143;
  }
  .p-top-fv__catch-row--1 .p-top-fv__catch-accent {
    font-size: 2.3125rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__catch-row--1 {
    font-weight: 400;
    font-size: 1.5625rem;
    line-height: 1.2;
  }
  .p-top-fv__catch-row--1 .p-top-fv__catch-accent {
    font-size: 2.0625rem;
  }
}

.p-top-fv__catch-row--2 {
  margin-block-start: -0.1875rem;
  font-weight: 500;
  font-size: 3.125rem;
  line-height: 1.2;
}
.p-top-fv__catch-row--2 .p-top-fv__catch-accent {
  color: #ff5003;
  font-size: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__catch-row--2 {
    margin-block-start: 0;
    font-weight: 500;
    font-size: 1.9375rem;
    line-height: 1.1935483871;
  }
  .p-top-fv__catch-row--2 .p-top-fv__catch-accent {
    font-size: 2.6875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__catch-row--2 {
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.2;
  }
  .p-top-fv__catch-row--2 .p-top-fv__catch-accent {
    font-size: 2.375rem;
  }
}

.p-top-fv__summary-wrapper {
  display: flex;
  flex-direction: column;
  margin-inline-start: 8.1875rem;
  margin-inline-end: 1.75rem;
  margin-block-start: auto;
  gap: 2.75rem;
}
@media screen and (max-width: 1279px) {
  .p-top-fv__summary-wrapper {
    align-items: center;
    margin-inline-start: 2.5rem;
    margin-block-start: auto;
    padding-inline: 1.25rem;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-fv__summary-wrapper {
    margin-inline: 0;
    padding-inline: 0;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__summary-wrapper {
    margin-block-start: 2.5rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__summary-wrapper {
    margin-inline: 0;
    margin-block-start: 2.5rem;
    padding-inline: 0;
    gap: 1.25rem;
  }
}

.p-top-fv__trust {
  display: flex;
  gap: 1.1875rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__trust {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__trust {
    flex-wrap: wrap;
    justify-content: center;
    width: calc(100% + 0.5rem);
    max-width: none;
    margin-inline: -0.25rem;
    gap: 0.375rem 0.5rem;
  }
}

.p-top-fv__trust-item {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.9375rem;
  gap: 0.625rem;
  border-radius: 50px;
  background: #fef8f5;
  box-shadow: 2px 4px 10px 0 rgba(0, 0, 0, 0.25);
  color: #724404;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.481875;
  letter-spacing: 0.062375em;
}
@media screen and (max-width: 1279px) {
  .p-top-fv__trust-item {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__trust-item {
    padding: 0.5rem 0.875rem;
    gap: 0.25rem;
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}

.p-top-fv__trust-icon {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-top-fv__trust-icon {
    width: 0.75rem;
  }
}

.p-top-fv__trust-icon--beginner {
  background-image: url("../img/icon-beginner.svg");
}

.p-top-fv__trust-icon--baby {
  background-image: url("../img/icon-baby.svg");
}

.p-top-fv__trust-icon--bottle {
  background-image: url("../img/icon-bottle-baby.svg");
}

.p-top-fv__trust-icon--night {
  background-image: url("../img/icon-weather-night.svg");
}

.p-top-fv__trust-icon--years {
  background-image: url("../img/icon-weather.svg");
}

@media screen and (max-width: 1023px) {
  .p-top-fv__trust-text {
    font-size: 12px;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__trust-text {
    font-size: 0.625rem;
  }
}

.p-top-fv__lead-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  gap: 0rem;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: -0.0045em;
}
@media screen and (max-width: 1279px) {
  .p-top-fv__lead-wrap {
    padding-inline: 2.5rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__lead-wrap {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__lead-wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 0.3125rem;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    text-align: left;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-fv__lead-wrap {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-fv__lead-wrap {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-fv__lead-wrap {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}

.p-top-fv__lead {
  margin-inline-start: 0.5625rem;
  margin-block-start: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-top-fv__lead {
    margin-block-start: 0;
  }
}

/* 円形CTA（見た目は共通コンポーネント .c-cta-circle。ここは配置のみ）
----------------------------------------------------*/
.p-top-fv__cta {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-top-fv__cta {
    align-self: flex-end;
  }
}

/*==================================================================
▼ p-top-problem
==================================================================*/
/* 悩みカードのグリッド（PC＝3列×2段）
----------------------------------------------------*/
.p-top-problem__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-block-start: 3.75rem;
  gap: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-problem__list {
    grid-template-columns: 1fr;
    margin-block-start: 2.5rem;
    gap: 1.25rem;
  }
}

/* 悩みカード（1枚）
----------------------------------------------------*/
.p-top-problem__item {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  padding-inline: 1.25rem;
  padding-block: 2.5rem;
  gap: 1.25rem;
  border-radius: 50px 0 50px 0;
  background: #fff;
  box-shadow: 4px 4px 4px 0 rgba(58, 50, 44, 0.2);
}
@media screen and (max-width: 767px) {
  .p-top-problem__item {
    flex-direction: row;
    justify-content: center;
    padding-block: 1.25rem;
    gap: 0.5rem;
  }
}

.p-top-problem__num {
  position: absolute;
  top: 0;
  left: 0.90625rem;
  transform: translateX(-50%);
  color: #a3cfd4;
  font-weight: 400;
  font-size: 2.625rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  white-space: nowrap;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-top-problem__num {
    left: 0;
    transform: none;
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-problem__illust {
  aspect-ratio: 1/1;
  width: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-top-problem__illust {
    flex-shrink: 0;
    width: 6.25rem;
  }
}

.p-top-problem__picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-top-problem__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-top-problem__text {
  color: #724404;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-problem__text {
    width: 8.125rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-problem__br--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-problem__br--sp {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .p-top-problem__br--pc {
    display: none;
  }
}

/* 締めコピー
----------------------------------------------------*/
.p-top-problem__closing {
  margin-block-start: 3.125rem;
  color: #ff8147;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-problem__closing {
    margin-block-start: 3.125rem;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 599px) {
  .p-top-problem__closing {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

/*==================================================================
▼ p-top-concept
==================================================================*/
.p-top-concept .c-title__en {
  color: #fff9f1;
}

.p-top-concept .c-title__sub {
  color: #fef0de;
}

.p-top-concept__lead {
  display: flex;
  flex-direction: column;
  margin-block-start: 2.5rem;
  gap: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-concept__lead {
    gap: 1.125rem;
    text-align: left;
  }
}

.p-top-concept__lead-text {
  color: #fef0de;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-concept__lead-text {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 599px) {
  .p-top-concept__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.1083333333em;
  }
}

.p-top-concept__lead-br {
  display: inline;
}

.p-top-concept__promise-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-block-start: 3.9375rem;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-concept__promise-list {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .p-top-concept__promise-list {
    margin-block-start: 2.1875rem;
  }
}

.p-top-concept__promise-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 324/265;
  gap: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(116deg, rgba(254, 240, 222, 0.6) 41%, rgba(253, 227, 196, 0.6) 100%);
}
@media screen and (max-width: 767px) {
  .p-top-concept__promise-item {
    aspect-ratio: 335/200;
    width: 100%;
    max-width: 20.9375rem;
  }
}

.p-top-concept__promise-label {
  display: flex;
  align-items: center;
  margin-block-start: -2rem;
  gap: 0.75rem;
  color: #ff5003;
  font-family: "Oooh Baby", cursive;
}
@media screen and (max-width: 599px) {
  .p-top-concept__promise-label {
    margin-block-start: 0.3125rem;
  }
}

.p-top-concept__promise-en {
  font-weight: 400;
  font-size: 1.625rem;
  line-height: 1.3076923077;
}
@media screen and (max-width: 599px) {
  .p-top-concept__promise-en {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.3;
  }
}

.p-top-concept__promise-num {
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 599px) {
  .p-top-concept__promise-num {
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1;
  }
}

.p-top-concept__promise-line {
  width: 4.75rem;
  height: 1px;
  background: #fef0de;
}

.p-top-concept__promise-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.p-top-concept__promise-title {
  color: #724404;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-top-concept__promise-title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-top-concept__promise-desc {
  color: #996317;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-concept__promise-desc {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

/*==================================================================
▼ p-top-reason
==================================================================*/
.p-top-reason {
  margin-block-start: -0.125rem;
}

.p-top-reason__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-reason__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-top-reason__lead {
    margin-block-start: 0.8125rem;
  }
}

.p-top-reason__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__lead-text {
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 599px) {
  .p-top-reason__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-reason__lead-br {
  display: inline;
}

.p-top-reason__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.5rem;
  gap: 1.5rem;
}
@media screen and (max-width: 599px) {
  .p-top-reason__list {
    margin-block-start: 2.5rem;
    gap: 2.375rem;
  }
}

.p-top-reason__item {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}

.p-top-reason__item:nth-child(even) {
  flex-direction: row-reverse;
}

.p-top-reason__picture {
  display: block;
  flex-shrink: 0;
  width: 55%;
}
@media screen and (max-width: 767px) {
  .p-top-reason__picture {
    width: 100%;
  }
}

.p-top-reason__img {
  width: 100%;
  height: auto;
}

.p-top-reason__body {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-top-reason__body {
    width: 100%;
  }
}

.p-top-reason__num {
  position: relative;
  color: #fff;
  font-weight: 400;
  font-size: 4.375rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__num {
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-reason__num::before {
  z-index: -1;
  position: absolute;
  top: -0.71875rem;
  left: 0;
  width: 6.75rem;
  height: 5.1875rem;
  background: url("../img/deco-blob-num.svg") no-repeat center/contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-top-reason__num::before {
    top: -0.6875rem;
    width: 3.875rem;
    height: 2.9375rem;
  }
}

.p-top-reason__text {
  display: flex;
  flex-direction: column;
  gap: 0.8125rem;
}

.p-top-reason__title {
  color: #ff8147;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
  }
}

.p-top-reason__desc {
  display: flex;
  flex-direction: column;
}

.p-top-reason__desc-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__desc-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 767px) {
  .p-top-reason__desc-br {
    display: none;
  }
}

/*==================================================================
▼ p-top-instructor
==================================================================*/
.p-top-instructor .c-title__en {
  color: #fff9f1;
}

.p-top-instructor .c-title__sub {
  color: #fef0de;
}

.p-top-instructor__body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 6.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__body {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 3.75rem;
  }
}

.p-top-instructor__photo {
  position: relative;
  flex-shrink: 0;
  aspect-ratio: 400/572;
  width: 25rem;
  overflow: hidden;
  border-radius: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__photo {
    width: 100%;
    max-width: 20.9375rem;
  }
}

.p-top-instructor__photo::after {
  position: absolute;
  inset: 1rem;
  border: 2px solid #fff9f1;
  border-radius: 12.5rem;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__photo::after {
    inset: 1.0625rem 0.75rem;
  }
}

.p-top-instructor__picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-top-instructor__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-instructor__content {
  display: flex;
  flex-direction: column;
  width: 31.0625rem;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__content {
    width: 100%;
  }
}

.p-top-instructor__intro {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-top-instructor__head {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-top-instructor__name {
  color: #fff9f1;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__name {
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-instructor__point-title {
  color: #fff9f1;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__point-title {
    font-weight: 400;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-instructor__line {
  width: 100%;
  height: 1px;
  background: #fef0de;
}

.p-top-instructor__text {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-top-instructor__lead {
  color: #fef0de;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__lead {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-top-instructor__story {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__story {
    gap: 1.125rem;
  }
}

.p-top-instructor__story-text {
  color: #fef0de;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__story-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-instructor__point {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-top-instructor__point-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.p-top-instructor__point-item {
  display: flex;
  align-items: center;
  gap: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__point-item {
    gap: 0.375rem;
  }
}

.p-top-instructor__point-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: url("../img/icon-sun-light.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__point-icon {
    width: 1rem;
    height: 1rem;
  }
}

.p-top-instructor__point-text {
  color: #fef0de;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__point-text {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-top-instructor__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-instructor__more {
    margin-block-start: 2.5rem;
  }
}

/*==================================================================
▼ p-top-change
==================================================================*/
@media screen and (max-width: 599px) {
  .p-top-change {
    margin-block-start: -0.5rem;
  }
}

.p-top-change__lead {
  margin-block-start: 3.5625rem;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .p-top-change__lead {
    margin-block-start: 0.75rem;
    text-align: left;
  }
}

.p-top-change__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-change__lead-text {
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 599px) {
  .p-top-change__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-change__panel {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  padding-inline: 3.625rem;
  padding-block: 3.75rem;
  gap: 1.875rem;
  border-radius: 6.25rem 0;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-top-change__panel {
    padding-inline: 1.25rem;
    padding-block: 3.125rem;
    gap: 3.75rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-change__panel {
    margin-block-start: 2.5rem;
    padding-block: 3.125rem;
    gap: 2.9375rem;
    border-radius: 3.125rem 0;
  }
}

.p-top-change__item {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-change__item {
    flex-direction: column;
    align-items: center;
    gap: 2.125rem;
  }
}

.p-top-change__figure {
  flex-shrink: 0;
  aspect-ratio: 401/304;
  width: 25.0625rem;
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-change__figure {
    width: 100%;
    max-width: 25.0625rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-change__figure {
    border-radius: 1.25rem;
  }
}

.p-top-change__picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-top-change__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-change__body {
  display: flex;
  flex-direction: column;
  width: 27.6875rem;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-change__body {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .p-top-change__body {
    gap: 0.75rem;
  }
}

.p-top-change__tags {
  display: flex;
  gap: 1rem;
}

.p-top-change__tag {
  padding-inline: 0.75rem;
  padding-block: 0.625rem;
  border-radius: 0.625rem;
  background: #a3cfd4;
  color: #fff9f1;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
}
@media screen and (max-width: 767px) {
  .p-top-change__tag {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
  }
}

.p-top-change__detail {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 599px) {
  .p-top-change__detail {
    gap: 0.25rem;
  }
}

.p-top-change__title {
  color: #ff8147;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-change__title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-top-change__line {
  width: 100%;
  height: 0;
  border-block-start: 1px dashed #a3cfd4;
}

.p-top-change__badge {
  align-self: flex-start;
  padding-inline: 1.875rem;
  padding-block: 0.3125rem;
  border-radius: 1.875rem;
  background: #fef0de;
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
}
@media screen and (max-width: 599px) {
  .p-top-change__badge {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
  }
}

.p-top-change__desc {
  display: flex;
  flex-direction: column;
}

.p-top-change__desc-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-change__desc-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-change__em {
  display: inline;
  color: #ff8147;
}

.p-top-change__br--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-change__br--sp {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .p-top-change__br--pc {
    display: none;
  }
}

.p-top-change__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}

/*==================================================================
▼ p-top-menu
==================================================================*/
.p-top-menu .c-title__en {
  color: #fff9f1;
}

.p-top-menu .c-title__sub {
  color: #fff9f1;
}

.p-top-menu__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-menu__lead {
    margin-block-start: 0.75rem;
  }
}
@media screen and (max-width: 599px) {
  .p-top-menu__lead {
    text-align: left;
  }
}

.p-top-menu__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-menu__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-menu__list {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__list {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 2.5rem;
  }
}

.p-top-menu__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 28.125rem;
  padding-block-end: 2.5rem;
  overflow: hidden;
  gap: 2.125rem;
  border: 2px solid #fff9f1;
  border-radius: 14.375rem 14.375rem 0 0;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-top-menu__item {
    width: 100%;
    max-width: 20.9375rem;
  }
}

.p-top-menu__figure {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-menu__figure {
    aspect-ratio: 335/317;
    overflow: hidden;
  }
}

.p-top-menu__picture {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-menu__picture {
    height: 100%;
  }
}

.p-top-menu__img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-top-menu__img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-top-menu__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 22rem;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__body {
    width: 100%;
  }
}

.p-top-menu__head {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  width: 16.875rem;
  gap: 0.375rem;
}

.p-top-menu__label {
  position: absolute;
  top: -1.6875rem;
  left: 12.4375rem;
  rotate: 7.55deg;
  color: #a3cfd4;
  font-weight: 400;
  font-size: 1.875rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-menu__label {
    left: 10.9375rem;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
  }
}

.p-top-menu__title {
  color: #724404;
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-menu__title {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-menu__subtitle {
  color: #ff8147;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-menu__subtitle {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-menu__points {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__points {
    width: auto;
    padding-inline: 1.25rem;
    gap: 0.25rem;
  }
}

.p-top-menu__point {
  display: flex;
  align-items: center;
  gap: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__point {
    gap: 0.375rem;
  }
}

.p-top-menu__point-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: url("../img/icon-sun-orange.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-menu__point-icon {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.p-top-menu__point-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-menu__point-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
}

.p-top-menu__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}

/*==================================================================
▼ p-top-foryou
==================================================================*/
.p-top-foryou {
  margin-block-start: -0.1875rem;
}

.p-top-foryou__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__lead {
    margin-block-start: 0.75rem;
    text-align: left;
  }
}

.p-top-foryou__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 767px) {
  .p-top-foryou__lead-br {
    display: none;
  }
}

.p-top-foryou__table {
  width: min(62.5rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.3125rem;
  border-collapse: collapse;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__table {
    width: calc(100% + 1rem);
    margin-inline: -0.5rem;
    margin-block-start: 2.5rem;
  }
}

.p-top-foryou__head {
  height: 3.75rem;
  padding-block: 0.8125rem;
  border-bottom: 1px solid #e3b29b;
  background: rgba(244, 160, 122, 0.3);
  color: #6b5f55;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__head {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}

.p-top-foryou__head--hare {
  background: #ff8147;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__head--hare {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}

.p-top-foryou__label {
  height: 5.625rem;
  padding-block: 1rem 1.0625rem;
  border-bottom: 1px solid #e3b29b;
  background: #fff9f1;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__label {
    height: 4.5625rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0;
  }
}

.p-top-foryou__cell {
  height: 5.625rem;
  padding-block: 1rem 1.0625rem;
  border-bottom: 1px solid #e3b29b;
  background: #fff9f1;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__cell {
    height: 4.5625rem;
  }
}

.p-top-foryou__cell--hare {
  border: 1px solid #ff8147;
  background: #fdf1ea;
}

.p-top-foryou__value {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  text-align: center;
  white-space: nowrap;
}

.p-top-foryou__mark {
  color: #f4a07a;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.2;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__mark {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-top-foryou__mark--hare {
  color: #ff5003;
}

.p-top-foryou__price {
  color: #724404;
  font-family: "Kiwi Maru", serif;
}

.p-top-foryou__price-num {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.2;
  letter-spacing: 0.0888888889em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__price-num {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.1333333333em;
  }
}

.p-top-foryou__price-unit {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.1142857143em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__price-unit {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 0.16em;
  }
}

.p-top-foryou__price-note {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__price-note {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 0;
  }
}

.p-top-foryou__note {
  color: #724404;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__note {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.2;
    letter-spacing: 0;
  }
}

.p-top-foryou__br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__br {
    display: inline;
  }
}

.p-top-foryou__closing {
  margin-block-start: 2.5rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
  text-shadow: 0 0 5px #fff;
}
@media screen and (max-width: 767px) {
  .p-top-foryou__closing {
    margin-block-start: 3.125rem;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-top-foryou__closing-em {
  color: #ff5003;
}

@media screen and (max-width: 374px) {
  .p-top-foryou__label,
  .p-top-foryou__value {
    white-space: normal;
  }
}
/*==================================================================
▼ p-top-faq
==================================================================*/
.p-top-faq {
  margin-block-start: -0.75rem;
}

.p-top-faq__list {
  display: flex;
  flex-direction: column;
  width: min(62.5rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.75rem;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-faq__list {
    margin-block-start: 2.5rem;
  }
}

.p-top-faq__item {
  overflow: hidden;
  border-radius: 3.125rem 0;
  box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-top-faq__item {
    border-radius: 1.875rem 0;
  }
}

.p-top-faq__question {
  display: flex;
  align-items: center;
  padding-inline: 1.25rem;
  padding-block: 0.625rem;
  gap: 1.25rem;
  background: #f4a07a;
  list-style: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-top-faq__question {
    padding-inline: 0.375rem;
    gap: 0.625rem;
  }
}

.p-top-faq__question::-webkit-details-marker {
  display: none;
}

.p-top-faq__q-badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: #fff9f1;
  color: #ff8147;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-faq__q-badge {
    width: 1.875rem;
    height: 1.875rem;
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-faq__q-text {
  flex: 1;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-faq__q-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-top-faq__toggle {
  flex-shrink: 0;
  width: 3.375rem;
  height: 3.375rem;
  rotate: 180deg;
  background: url("../img/icon-accordion.svg") no-repeat center/contain;
  transition: rotate 0.3s;
}
@media screen and (max-width: 767px) {
  .p-top-faq__toggle {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-top-faq__item.is-open .p-top-faq__toggle {
  rotate: 0deg;
}

.p-top-faq__answer-wrap {
  overflow: hidden;
}

.p-top-faq__answer {
  display: flex;
  align-items: flex-start;
  padding-inline: 1.125rem;
  padding-block: 0.9375rem 0.625rem;
  gap: 1.25rem;
  border: 2px solid #f4a07a;
  border-radius: 0 0 3.125rem 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-top-faq__answer {
    padding-inline: 0.375rem;
    gap: 0.25rem;
    border-radius: 0 0 1.875rem 0;
  }
}

.p-top-faq__a-badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: #a3cfd4;
  color: #fff9f1;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-faq__a-badge {
    width: 1.875rem;
    height: 1.875rem;
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-top-faq__a-body {
  flex: 1;
}

.p-top-faq__a-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-faq__a-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-top-faq__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-faq__more {
    margin-block-start: 2.5rem;
  }
}

/*==================================================================
▼ p-top-parking
==================================================================*/
.p-top-parking .c-title__en {
  color: #fff9f1;
}

.p-top-parking .c-title__sub {
  color: #fef0de;
}

.p-top-parking__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-parking__lead {
    margin-block-start: 0.75rem;
    text-align: left;
  }
}

.p-top-parking__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-parking__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-parking__panel {
  display: flex;
  align-items: center;
  width: min(62.5rem, 100%);
  height: 25rem;
  margin-inline: auto;
  margin-block-start: 3.75rem;
  padding-inline-end: 3rem;
  overflow: hidden;
  gap: 3.125rem;
  border-radius: 6.25rem 0;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-top-parking__panel {
    flex-direction: column;
    align-items: center;
    height: auto;
    margin-block-start: 2.5rem;
    padding-inline-end: 0;
    padding-block-end: 1.875rem;
    gap: 1.25rem;
  }
}

.p-top-parking__map {
  position: relative;
  flex-shrink: 0;
  width: 26.25rem;
  height: calc(100% - 3rem);
  margin-inline-start: 1.5rem;
  margin-block: 1.5rem;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-top-parking__map {
    width: calc(100% - 3rem);
    height: 14.1875rem;
    margin-inline: 1.5rem;
    margin-block: 1.5rem 0;
  }
}

.p-top-parking__map-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-top-parking__map-link {
  display: flex;
  position: absolute;
  top: 8px;
  left: 8px;
  align-items: center;
  justify-content: center;
  min-width: 152px;
  min-height: 40px;
  padding: 8px 12px;
  gap: 8px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  color: #1a73e8;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
}
.p-top-parking__map-link:hover {
  text-decoration: underline;
}

.p-top-parking__map-link-icon {
  width: 14px;
  height: 14px;
  background-color: currentColor;
  mask: url("../img/icon-external.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-external.svg") no-repeat center/contain;
}

.p-top-parking__info {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.4375rem;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-parking__info {
    align-items: center;
    margin-block-start: 0;
  }
}

.p-top-parking__data {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-top-parking__data-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-parking__data-item {
    gap: 0.375rem;
  }
}

.p-top-parking__data-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-parking__data-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.p-top-parking__data-icon--pin {
  background: url("../img/icon-map-pin.svg") no-repeat center/contain;
}

.p-top-parking__data-icon--car {
  background: url("../img/icon-car.svg") no-repeat center/contain;
}

.p-top-parking__data-text {
  color: #996317;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-parking__data-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-parking__divider {
  display: block;
  width: min(30rem, 100%);
  border-top: 1px dashed #a3cfd4;
}
@media screen and (max-width: 767px) {
  .p-top-parking__divider {
    width: 18.4375rem;
  }
}

.p-top-parking__notes {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-top-parking__note {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-parking__note {
    gap: 0.375rem;
  }
}

.p-top-parking__note-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background: url("../img/icon-star.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-parking__note-icon {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.p-top-parking__note-text {
  color: #996317;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-parking__note-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-top-parking__note-br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-parking__note-br {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .p-top-reason__item,
  .p-top-reason__item:nth-child(even) {
    flex-direction: column;
    gap: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-foryou__joint {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-top-parking__data-sub {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.036em;
  }
}

/*=================================================
セクションの上wave＋背景色（色替え版を使い回す）
--------------------------------------------------
・wave素材は「塗り＝下側／カーブ＝上側」の1280×50。
・上wave：セクション上端の“外側（上）”に置き、前セクションへせり上がる。
・色替えは背景色（$bg-*）と wave画像 の2つを差し替えるだけ。
==================================================*/
.p-section-pastel {
  position: relative;
  background: linear-gradient(101.36deg, #fef0de 40.87%, #fde3c4 100%);
  isolation: isolate;
}
.p-section-pastel::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-pastel.webp") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-section-pastel::before {
    aspect-ratio: 375/30;
  }
}
.p-section-pastel::after {
  z-index: 1;
  position: absolute;
  top: -8.5rem;
  left: 0;
  aspect-ratio: 249/305;
  width: 100%;
  max-width: 249px;
  background: url("../img/deco-blob-orange-pale.svg") no-repeat center center/contain;
  content: "";
}
@media screen and (max-width: 1279px) {
  .p-section-pastel::after {
    top: -5.3125rem;
    max-width: 156px;
  }
}
@media screen and (max-width: 767px) {
  .p-section-pastel::after {
    top: -3.8125rem;
    aspect-ratio: 66/143;
    max-width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}

.p-section-pastel--no-blob::after {
  content: none;
}

.p-section-pastel--narrow-blob::after {
  top: -5.25rem;
  aspect-ratio: 143/305;
  max-width: 143px;
  background-image: url("../img/deco-blob-orange-pale--narrow.svg");
}
@media screen and (max-width: 1279px) {
  .p-section-pastel--narrow-blob::after {
    top: -3.3125rem;
    max-width: 89px;
  }
}
@media screen and (max-width: 767px) {
  .p-section-pastel--narrow-blob::after {
    top: -3.8125rem;
    aspect-ratio: 66/143;
    max-width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}

.p-section-pastel--low-blob::after {
  top: -5rem;
  left: -6.3125rem;
}
@media screen and (max-width: 1279px) {
  .p-section-pastel--low-blob::after {
    top: -3.125rem;
    left: -3.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-section-pastel--low-blob::after {
    top: -1.25rem;
    left: 0;
  }
}
@media screen and (max-width: 599px) {
  .p-section-pastel--low-blob::after {
    top: -3.875rem;
  }
}

.p-section-blob-tr {
  z-index: 1;
  position: absolute;
  top: -11.25rem;
  right: -6.125rem;
  aspect-ratio: 320/357;
  width: min(25vw, 320px);
  background: url("../img/deco-blob-orange-right.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-section-blob-tr {
    top: -4.6875rem;
    right: -1.25rem;
    width: 8rem;
  }
}

.p-section-pastel--yellow::after {
  top: -10.0625rem;
  left: -5.9375rem;
  aspect-ratio: 32/35;
  max-width: 320px;
  rotate: 105deg;
  background-image: url("../img/deco-blob-yellow-large.svg");
}
@media screen and (max-width: 1279px) {
  .p-section-pastel--yellow::after {
    max-width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .p-section-pastel--yellow::after {
    top: -4.5625rem;
    left: -6rem;
    max-width: 9.375rem;
  }
}

.p-section-pastel__blob-teal {
  z-index: -1;
  position: absolute;
  bottom: 22.65625vw;
  left: 3.59375vw;
  aspect-ratio: 21/22;
  width: min(16.40625vw, 210px);
  rotate: 105deg;
  background: url("../img/deco-blob-teal.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-section-pastel__blob-teal {
    bottom: 4.6875rem;
    left: -2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-section-pastel__blob-teal {
    bottom: 4.6875rem;
    left: -1.6875rem;
    width: 9.375rem;
  }
}

.p-section-orange {
  position: relative;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  isolation: isolate;
}
.p-section-orange::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-orange.svg") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-section-orange::before {
    aspect-ratio: 375/30;
  }
}

.p-section-orange__blob-large {
  z-index: 1;
  position: absolute;
  top: -15.625vw;
  right: -4.6875vw;
  aspect-ratio: 523/533;
  width: min(37.5vw, 375px);
  rotate: 150deg;
  background: url("../img/deco-blob-orange.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-section-orange__blob-large {
    top: -4.6875rem;
    right: 0;
    aspect-ratio: 109/143;
    width: 6.8125rem;
    rotate: none;
    background-image: url("../img/deco-blob-orange-right--sp.svg");
  }
}

@media screen and (max-width: 767px) {
  .p-section-blob-tr--sp-high {
    top: -6.25rem;
    right: 0;
    aspect-ratio: 109/143;
    width: 6.8125rem;
    background-image: url("../img/deco-blob-orange-right--sp.svg");
  }
}

.p-section-white {
  position: relative;
  background: #fff;
  isolation: isolate;
}
.p-section-white::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-white.svg") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-section-white::before {
    aspect-ratio: 375/30;
  }
}

.p-section-beige {
  position: relative;
  background: #fff9f1;
  isolation: isolate;
}
.p-section-beige::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-beige.svg") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-section-beige::before {
    aspect-ratio: 375/30;
  }
}
.p-section-beige::after {
  z-index: 1;
  position: absolute;
  top: -8.5rem;
  left: 0;
  aspect-ratio: 249/305;
  width: 100%;
  max-width: 249px;
  background: url("../img/deco-blob-orange-pale.svg") no-repeat center center/contain;
  content: "";
}
@media screen and (max-width: 1279px) {
  .p-section-beige::after {
    top: -5.3125rem;
    max-width: 156px;
  }
}
@media screen and (max-width: 767px) {
  .p-section-beige::after {
    top: -3.8125rem;
    aspect-ratio: 66/143;
    max-width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}

.p-section-blue {
  position: relative;
  background: #a3cfd4;
  isolation: isolate;
}
.p-section-blue::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-blue.svg") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-section-blue::before {
    aspect-ratio: 375/30;
  }
}

.p-section-blue__blob {
  z-index: 1;
  position: absolute;
  top: -11.25rem;
  right: 0;
  aspect-ratio: 222/357;
  width: min(17.34375vw, 222px);
  background: url("../img/deco-blob-yellow-right.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-section-blue__blob {
    top: -6.25rem;
    aspect-ratio: 109/143;
    width: 6.8125rem;
    background-image: url("../img/deco-blob-yellow-right--sp.svg");
  }
}

@media screen and (max-width: 767px) {
  .p-section-blue__blob--offer {
    top: -3.125rem;
  }
}

/*=================================================
体験レッスンCTA（複数ページ共通）
・背景＝スタジオ写真の上に白のオーバーレイ（中心ほど明るい）
・上端は前セクションのオレンジが波形で食い込む（垂れ下がり用のwave素材）
==================================================*/
.p-cta {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 44.125rem;
  margin-block-start: -3.125rem;
  padding-block: 6.25rem;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-cta {
    min-height: 0;
    padding-block: 6.25rem 8.125rem;
  }
}

.p-cta::before {
  z-index: -2;
  position: absolute;
  inset: 0;
  background: url("../img/cta-01.webp") no-repeat center 71%/cover;
  content: "";
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .p-cta::before {
    background-position: 60% 47%;
    background-size: 350% auto;
  }
}

.p-cta::after {
  z-index: -1;
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 65% 50% at center, rgba(255, 255, 255, 0.8) 39%, rgba(255, 255, 255, 0.5) 100%), linear-gradient(rgba(255, 129, 71, 0.2), rgba(255, 129, 71, 0.2));
  content: "";
}

.p-cta__wave {
  position: absolute;
  top: -0.125rem;
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-orange-drop.svg") no-repeat center/100% 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-cta__wave {
    aspect-ratio: 375/30;
  }
}

.p-cta--beige-wave .p-cta__wave {
  top: 0;
  background-image: url("../img/deco-wave-beige-drop.svg");
}

.p-cta__blob {
  position: absolute;
  top: -4.4375rem;
  left: -9.0625rem;
  aspect-ratio: 320/350;
  width: 20rem;
  rotate: 105.34deg;
  background: url("../img/deco-blob-cta.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-cta__blob {
    top: -4.5625rem;
    left: -6rem;
    width: 9.375rem;
  }
}

.p-cta__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-cta__body {
    gap: 2.5rem;
  }
}

.p-cta__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-cta__text {
    gap: 1.25rem;
  }
}

.p-cta__catch {
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  background-clip: text;
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
}
@media screen and (max-width: 767px) {
  .p-cta__catch {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-cta__catch-br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-cta__catch-br {
    display: inline;
  }
}

.p-cta__desc-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-cta__desc-text {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-cta__desc-em {
  display: inline;
  color: #ff8147;
}

.p-cta__desc-br-sp {
  display: none;
}
@media screen and (max-width: 599px) {
  .p-cta__desc-br-sp {
    display: inline;
  }
}

.p-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 2.5rem;
  padding-block: 0.625rem;
  gap: 0.625rem;
  border-radius: 50px;
  background: #fff;
  box-shadow: 4px 4px 5px rgba(114, 68, 4, 0.5);
  transition: background-color 0.3s ease;
}

.p-cta__button:hover {
  background: #ff8147;
}

.p-cta__button:hover .p-cta__button-badge {
  background-color: #fff;
}

.p-cta__button:hover .p-cta__button-badge::before {
  background-color: #ff8147;
}

.p-cta__button:hover .p-cta__button-text {
  color: #fff;
}

.p-cta__button:hover .p-cta__button-icon {
  background-color: #fff;
}

.p-cta__button-badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.0625rem;
  height: 2.0625rem;
  border-radius: 50%;
  background-color: #ff8147;
  transition: background-color 0.3s ease;
}
.p-cta__button-badge::before {
  aspect-ratio: 1/1;
  width: 1.4375rem;
  background-color: #fff;
  content: "";
  mask: url("../img/icon-calendar.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-calendar.svg") no-repeat center/contain;
  transition: background-color 0.3s ease;
}

.p-cta__button-text {
  color: #ff8147;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  transition: color 0.3s ease;
}

.p-cta__button-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #ff8147;
  mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  rotate: 90deg;
  transition: background-color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .p-cta__desc {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .p-cta__desc-br {
    display: none;
  }
}

/*=================================================
フッター（全ページ共通）
・背景・上waveは .p-section-blue、上下余白は .l-section が担当
==================================================*/
.p-footer__panel {
  display: flex;
  align-items: center;
  width: min(62.5rem, 100%);
  height: 25rem;
  margin-inline: auto;
  padding-inline-start: 2.5rem;
  overflow: hidden;
  gap: 1.875rem;
  border-radius: 6.25rem 0;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-footer__panel {
    flex-direction: column;
    align-items: center;
    height: auto;
    padding-inline-start: 0;
    padding-block-start: 1.875rem;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-footer__panel {
    padding-block-start: 0rem;
  }
}

.p-footer__studio {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__studio {
    gap: 0.875rem;
  }
}

.p-footer__logo-picture {
  display: block;
  width: 12.5rem;
}

.p-footer__logo {
  display: block;
  width: 100%;
  height: auto;
}

.p-footer__logo-line {
  aspect-ratio: 278/13;
  width: 100%;
  max-width: 17.375rem;
  height: auto;
  background: url("../img/deco-line-yellow.svg") no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-footer__logo-line {
    width: 100%;
    height: auto;
  }
}

.p-footer__data {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-footer__data-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.p-footer__data-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__data-icon {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.p-footer__data-icon--pin {
  background: url("../img/icon-map-pin-orange.svg") no-repeat center/contain;
}

.p-footer__data-icon--train {
  background: url("../img/icon-train.svg") no-repeat center/contain;
}

.p-footer__data-icon--clock {
  background: url("../img/icon-clock.svg") no-repeat center/contain;
}

.p-footer__data-icon--tel {
  background: url("../img/icon-telephone.svg") no-repeat center/contain;
}

.p-footer__data-text {
  color: #996317;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-footer__data-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-footer__sns {
  display: flex;
  align-items: center;
  gap: 3.125rem;
}

.p-footer__sns-link {
  transition: opacity 0.3s ease;
}
.p-footer__sns-link:hover {
  opacity: 0.7;
}

.p-footer__sns-icon {
  display: block;
  width: 1.625rem;
  height: 1.625rem;
}

.p-footer__sns-icon--instagram {
  background: url("../img/icon-instagram.svg") no-repeat center/contain;
}

.p-footer__sns-icon--line {
  background: url("../img/icon-line.svg") no-repeat center/contain;
}

.p-footer__map {
  flex: 1;
  min-width: 0;
  height: calc(100% - 3rem);
  margin-inline-end: 1.5rem;
  margin-block: 1.5rem;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-footer__map {
    flex: none;
    width: calc(100% - 3rem);
    height: 17rem;
    margin-inline: 1.5rem;
    margin-block: 0 1.5rem;
    border-radius: 0.75rem;
  }
}

.p-footer__map-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-footer__nav {
  margin-block-start: 1.875rem;
}

.p-footer__nav-list {
  display: flex;
  justify-content: center;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list {
    flex-direction: column;
    width: 18.4375rem;
    margin-inline: auto;
    gap: 0.6875rem;
  }
}

.p-footer__nav-item {
  position: relative;
}

.p-footer__nav-item + .p-footer__nav-item::before {
  position: absolute;
  top: 50%;
  left: -2.5rem;
  width: 1px;
  height: 2.5rem;
  translate: 0 -50%;
  background: #ffe875;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-footer__nav-item + .p-footer__nav-item::before {
    display: block;
    position: static;
    width: 100%;
    height: 1px;
    margin-block-end: 0.75rem;
    translate: none;
  }
}

.p-footer__nav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-link {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
  }
}

.p-footer__nav-link:hover .p-footer__nav-en {
  color: #ffe875;
}

.p-footer__nav-link:hover .p-footer__nav-jp {
  color: #fff9f1;
}

.p-footer__nav-en {
  color: #fff9f1;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.5;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  transition: color 0.15s ease;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-en {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

.p-footer__nav-jp {
  color: #996317;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  transition: color 0.15s ease;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-jp {
    font-weight: 400;
    font-size: 0.625rem;
    line-height: 1;
  }
}

.p-footer__copyright {
  padding-block: 1.875rem;
  background: #6b5f55;
}

.p-footer__copyright-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  text-align: center;
}

/*=================================================
下層ページ共通FV（オレンジ背景＋丸窓写真＋見出し＋CTA円）
カンプ：1280×619。幅に比例して縮小、1280px以上で頭打ち。
==================================================*/
.p-lower-fv {
  z-index: 2;
  position: relative;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  isolation: isolate;
}

.p-lower-fv__sunburst {
  z-index: -1;
  position: absolute;
  top: 1.796875vw;
  left: 1.640625vw;
  aspect-ratio: 79/88;
  width: min(19.21875vw, 246px);
  background: url("../img/fv-05.webp") no-repeat center/cover;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-lower-fv__sunburst {
    top: 0.8125rem;
    left: 0;
    width: 6.5625rem;
  }
}

.p-lower-fv__line {
  z-index: -1;
  position: absolute;
  top: 33.046875vw;
  left: 0;
  aspect-ratio: 1280/79;
  width: 100%;
  background: url("../img/deco-line-fv-sub.svg") no-repeat center/100% 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-lower-fv__line {
    top: auto;
    bottom: 1.25rem;
    aspect-ratio: auto;
    height: 2.875rem;
  }
}

.p-lower-fv__inner {
  display: flex;
  align-items: center;
  width: min(81.25vw, 65rem);
  margin-inline: auto;
  padding-inline: 1.25rem 0.3125rem;
  padding-block: min(3.984375vw, 51px) min(5.3125vw, 68px);
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-fv__inner {
    justify-content: center;
    width: 100%;
    padding-block: 3.6875rem 4.9375rem;
    gap: 0.625rem;
  }
}
@media screen and (max-width: 599px) {
  .p-lower-fv__inner {
    justify-content: flex-start;
  }
}

.p-lower-fv__photo {
  flex-shrink: 0;
  width: min(31.25vw, 25rem);
}
@media screen and (max-width: 767px) {
  .p-lower-fv__photo {
    width: 8.5rem;
  }
}

.p-lower-fv__picture {
  display: block;
}

.p-lower-fv__img {
  display: block;
  aspect-ratio: 4/5;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12.5rem 12.5rem 0 0;
}

.p-lower-fv--change .p-lower-fv__img {
  -o-object-position: center top;
     object-position: center top;
}

.p-lower-fv--contact .p-lower-fv__img {
  -o-object-position: 61% center;
     object-position: 61% center;
}

.p-lower-fv__body {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  color: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-lower-fv__body {
    gap: 0.875rem;
  }
}

.p-lower-fv__title {
  display: flex;
  flex-direction: column;
  font-family: "Kiwi Maru", serif;
  white-space: nowrap;
}

.p-lower-fv__title-row--1 {
  font-weight: 400;
  font-size: 2.8125rem;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .p-lower-fv__title-row--1 {
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv__title-row--1 {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.2;
  }
}

.p-lower-fv__title-row--2 {
  font-weight: 400;
  font-size: 3.125rem;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .p-lower-fv__title-row--2 {
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv__title-row--2 {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .p-lower-fv__lead {
    max-width: 11.8125rem;
  }
}

.p-lower-fv__lead-text {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-lower-fv__lead-text {
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}

/* 円形CTA（見た目は共通コンポーネント .c-cta-circle。ここは配置のみ）
----------------------------------------------------*/
.p-lower-fv__cta {
  position: absolute;
  right: min(4.6875vw, 60px);
  bottom: min(2.65625vw, 34px);
}
@media screen and (max-width: 767px) {
  .p-lower-fv__cta {
    right: 1.25rem;
    bottom: 0.625rem;
  }
}

/*=================================================
パンくずリスト（下層ページ共通）
==================================================*/
.p-breadcrumb {
  padding: 1.1875rem 3.75rem 4.8125rem;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-breadcrumb {
    padding: 0.9375rem 1.25rem 5.3125rem;
  }
}

.p-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.p-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
}
@media screen and (max-width: 767px) {
  .p-breadcrumb__item {
    gap: 0.25rem;
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1;
  }
}

.p-breadcrumb__link {
  color: inherit;
}
.p-breadcrumb__link:hover {
  color: #ff8147;
}

.p-breadcrumb__current {
  color: #ff5003;
}

.p-breadcrumb__arrow {
  width: 0.375rem;
  height: 0.75rem;
  background: url("../img/icon-arrow-breadcrumb.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-breadcrumb__arrow {
    width: 0.3125rem;
    height: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-breadcrumb__list {
    gap: 0.25rem;
  }
}

/*=================================================
FAQカード（Q帯＋A枠のアコーディオン）※下層ページ共通
開閉の挙動はトップと同じ js-faq（script.js）を使用。
==================================================*/
.p-faq-card {
  width: 100%;
  overflow: hidden;
  border-radius: 3.125rem 0;
  filter: drop-shadow(4px 4px 5px rgba(0, 0, 0, 0.25));
}
@media screen and (max-width: 767px) {
  .p-faq-card {
    border-radius: 1.875rem 0;
  }
}

.p-faq-card__question {
  display: flex;
  align-items: center;
  padding: 0.625rem 1.25rem;
  gap: 1.25rem;
  background: #f4a07a;
  list-style: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.p-faq-card__question:hover {
  opacity: 0.7;
}
.p-faq-card__question::-webkit-details-marker {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-faq-card__question {
    padding: 0.625rem 0.375rem;
    gap: 0.625rem;
  }
}

.p-faq-card__badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 3.125rem;
  border-radius: 50%;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-faq-card__badge {
    width: 1.875rem;
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-faq-card__badge--q {
  background: #fff9f1;
  color: #ff8147;
}

.p-faq-card__badge--a {
  background: #a3cfd4;
  color: #fff9f1;
}

.p-faq-card__question-text {
  flex: 1;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-faq-card__question-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-faq-card__toggle {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 3.375rem;
  rotate: 180deg;
  background: url("../img/icon-arrow-circle.svg") no-repeat center/contain;
  transition: rotate 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-faq-card__toggle {
    width: 1.5rem;
  }
}

.p-faq-card.is-open .p-faq-card__toggle {
  rotate: 0deg;
}

.p-faq-card__answer-wrap {
  overflow: hidden;
}

.p-faq-card__answer {
  display: flex;
  align-items: flex-start;
  padding: 0.9375rem 1.125rem 0.5625rem;
  gap: 1.25rem;
  border: 2px solid #f4a07a;
  border-radius: 0 0 3.125rem 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-faq-card__answer {
    padding: 0.9375rem 0.375rem;
    gap: 0.25rem;
    border-radius: 0 0 1.875rem 0;
  }
}
@media screen and (max-width: 599px) {
  .p-faq-card__answer {
    padding-block-end: 0.4375rem;
  }
}

.p-faq-card__answer-para {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-faq-card__answer-para {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

/*==================================================================
レッスンの流れ「Let's lesson!」（トップ・Contactで共用）
==================================================================*/
.p-flow-lesson .c-title__en {
  color: #fff9f1;
}

.p-flow-lesson .c-title__sub {
  color: #fef0de;
}

.p-flow-lesson__path {
  z-index: -1;
  position: absolute;
  top: -1.625rem;
  left: 15.1%;
  aspect-ratio: 701/1837;
  width: 70.1%;
  background: url("../img/deco-path-flow.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__path {
    top: 2.3125rem;
    left: 50%;
    aspect-ratio: 375/1916;
    width: 23.4375rem;
    translate: -50% 0;
    background-image: url("../img/deco-path-flow-sp.svg");
  }
}

.p-flow-lesson__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__lead {
    margin-block-start: 0.75rem;
    text-align: left;
  }
}

.p-flow-lesson__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 767px) {
  .p-flow-lesson__lead-br {
    display: none;
  }
}

.p-flow-lesson__steps {
  position: relative;
  width: min(62.5rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__steps {
    margin-block-start: 2.5rem;
  }
}

.p-flow-lesson__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__list {
    align-items: center;
  }
}

.p-flow-lesson__item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__item {
    flex-direction: column;
    width: 100%;
    max-width: 20.9375rem;
    gap: 1rem;
  }
}

.p-flow-lesson__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__item:nth-child(even) {
    flex-direction: column;
  }
}

.p-flow-lesson__picture {
  display: block;
  flex-shrink: 0;
  width: 49%;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__picture {
    width: 100%;
  }
}

.p-flow-lesson__img {
  display: block;
  width: 100%;
  height: auto;
}

.p-flow-lesson__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__body {
    width: 100%;
  }
}

.p-flow-lesson__num {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #fff;
  font-family: "Oooh Baby", cursive;
  text-shadow: 0 0 5px #ff5003;
}

.p-flow-lesson__num-en {
  font-weight: 400;
  font-size: 4.375rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__num-en {
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-flow-lesson__num-colon {
  font-weight: 400;
  font-size: 4.375rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__num-colon {
    font-weight: 400;
    font-size: 3.125rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-flow-lesson__title {
  color: #fff;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media screen and (max-width: 1279px) {
  .p-flow-lesson__title {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-flow-lesson__time {
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.7;
  letter-spacing: 0.0436363636em;
}
@media screen and (max-width: 1279px) {
  .p-flow-lesson__time {
    font-size: 1.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__time {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-flow-lesson__line {
  width: 17.375rem;
  height: 0.6875rem;
  background: url("../img/deco-line-flow.svg") no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__line {
    width: 7.625rem;
    height: 0.6875rem;
    background-image: url("../img/deco-line-flow-sp.svg");
  }
}

.p-flow-lesson__desc {
  display: flex;
  flex-direction: column;
}

.p-flow-lesson__desc-text {
  color: #fff9f1;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__desc-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-flow-lesson__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-flow-lesson__more {
    margin-block-start: 2.5rem;
  }
}

/*==================================================================
▼ p-instructor-profile
==================================================================*/
.p-instructor-profile__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-instructor-profile__lead {
    margin-block-start: 0.625rem;
  }
}

.p-instructor-profile__lead-text {
  color: #6b5f55;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__lead-text {
    font-weight: 700;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-align: left;
  }
}

.p-instructor-profile__cards {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 4.3125rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__cards {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 1.625rem;
  }
}

.p-instructor-profile__card {
  overflow: hidden;
  border-radius: 6.25rem 0;
  background: #fff;
}

.p-instructor-profile__card--number {
  width: 23.75rem;
  max-width: 100%;
}

.p-instructor-profile__card--career {
  width: 34.4375rem;
  max-width: 100%;
}

.p-instructor-profile__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7.1875rem;
  color: #fff9f1;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__card-head {
    font-weight: 400;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__card-head--teal {
  background: #a3cfd4;
}

.p-instructor-profile__card-head--orange {
  background: #f4a07a;
}

.p-instructor-profile__card-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem 1.25rem 0.875rem;
  gap: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__card-body {
    padding: 2.5rem 1.25rem 2.5rem;
    gap: 1.875rem;
  }
}

.p-instructor-profile__card--career .p-instructor-profile__card-body {
  gap: 2.5rem;
}
@media screen and (max-width: 599px) {
  .p-instructor-profile__card--career .p-instructor-profile__card-body {
    gap: 1.875rem;
  }
}

/* 数字カードの1項目
----------------------------------------------------*/
.p-instructor-profile__stat {
  position: relative;
  width: 19.5625rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__stat {
    width: 100%;
    margin-inline-start: 1.625rem;
  }
}

.p-instructor-profile__sparkle {
  position: absolute;
  top: -0.625rem;
  left: -0.375rem;
  aspect-ratio: 55/53;
  width: 3.4375rem;
  background: url("../img/deco-sparkle.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 599px) {
  .p-instructor-profile__sparkle {
    left: 0;
  }
}

.p-instructor-profile__stat-num {
  display: flex;
  align-items: center;
  padding-inline-start: 1rem;
  gap: 0.25rem;
  font-family: "Oooh Baby", cursive;
}

.p-instructor-profile__stat-value {
  color: #ff8147;
  font-weight: 400;
  font-size: 3.75rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__stat-value {
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__stat:last-child .p-instructor-profile__stat-value {
  font-size: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__stat:last-child .p-instructor-profile__stat-value {
    font-size: 2.25rem;
  }
}

.p-instructor-profile__stat-unit {
  color: #f4a07a;
  font-weight: 400;
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__stat-unit {
    font-weight: 400;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__stat-line {
  display: block;
  width: 100%;
  border-top: 1px dashed #a3cfd4;
}

.p-instructor-profile__stat-label {
  margin-block-start: 0.25rem;
  padding-inline-start: 0.4375rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__stat-label {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}

/* 資格・経歴カードのブロック
----------------------------------------------------*/
.p-instructor-profile__block {
  position: relative;
  width: 100%;
}

.p-instructor-profile__block-head {
  display: flex;
  align-items: flex-end;
  padding-inline-start: 0.625rem;
  gap: 0.875rem;
}
@media screen and (max-width: 599px) {
  .p-instructor-profile__block-head {
    padding-inline-start: 1.25rem;
  }
}

.p-instructor-profile__block-en {
  color: #ff8147;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__block-en {
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__block-jp {
  color: #f4a07a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__block-jp {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__block-line {
  display: block;
  width: calc(100% - 1.25rem);
  margin-block-start: 0.3125rem;
  border-top: 1px dashed #a3cfd4;
}

.p-instructor-profile__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 0.625rem;
  gap: 0.375rem;
}
@media screen and (max-width: 599px) {
  .p-instructor-profile__list {
    margin-block-start: 0.5rem;
    gap: 0;
  }
}

.p-instructor-profile__list-item {
  display: flex;
  align-items: flex-start;
  padding-inline-start: 0.625rem;
  gap: 0.5rem;
}

.p-instructor-profile__list-mark {
  flex-shrink: 0;
  width: 0.875rem;
  color: #a3cfd4;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.03em;
}

.p-instructor-profile__list-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__list-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__history {
  display: flex;
  flex-direction: column;
  margin-block-start: 0.625rem;
  gap: 0.375rem;
}

.p-instructor-profile__history-item {
  display: flex;
  align-items: center;
  padding-inline-start: 0.625rem;
  gap: 0.5rem;
}

.p-instructor-profile__history-year {
  flex-shrink: 0;
  width: 3rem;
  color: #a3cfd4;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  text-align: right;
}

.p-instructor-profile__history-dash {
  flex-shrink: 0;
  color: #996317;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.04em;
}

.p-instructor-profile__history-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__history-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}

.p-instructor-profile__history-br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-profile__history-br {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .p-instructor-profile__history-sep {
    display: none;
  }
}

/*==================================================================
▼ p-instructor-story
==================================================================*/
.p-instructor-story .c-title__sub {
  color: #6b5f55;
}

.p-instructor-story__blob {
  z-index: 1;
  position: absolute;
  top: -11.25rem;
  right: -6.125rem;
  aspect-ratio: 320/357;
  width: min(25vw, 320px);
  background: url("../img/deco-blob-orange-right.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__blob {
    top: -4.6875rem;
    right: -1.25rem;
    width: 8rem;
  }
}

.p-instructor-story__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  margin-block-start: 3.75rem;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__list {
    margin-block-start: 2.5rem;
    padding-inline: 20px;
    gap: 3.125rem;
  }
}

/* 1章＝写真＋テキスト箱の重なり（奇数：写真左／偶数：写真右）
----------------------------------------------------*/
.p-instructor-story__item {
  display: flow-root;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__item {
    display: flex;
    flex-direction: column;
  }
}

.p-instructor-story__picture {
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 8.37%;
  left: 0;
  width: 47.11%;
  overflow: hidden;
  border-radius: 0 1.875rem 0 0;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .p-instructor-story__picture {
    z-index: auto;
    position: static;
    bottom: auto;
    width: 100%;
    height: 13.6875rem;
    border-radius: 0 30px 0 0;
  }
}

.p-instructor-story__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-instructor-story__box {
  position: relative;
  min-height: 24.25rem;
  margin-inline-start: 33.98%;
  margin-block-start: 2.625rem;
  padding: 6.25rem 8.75rem 2.5rem 13rem;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__box {
    min-height: 0;
    margin-inline-start: 0;
    margin-block-start: 0;
    padding: 1.875rem 2.5rem;
  }
}

.p-instructor-story__item:nth-child(even) .p-instructor-story__picture {
  right: 0;
  left: auto;
  border-radius: 1.875rem 0 0 0;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__item:nth-child(even) .p-instructor-story__picture {
    border-radius: 30px 0 0 0;
  }
}

.p-instructor-story__item:nth-child(even) .p-instructor-story__box {
  margin-inline-start: 0;
  margin-inline-end: 33.98%;
  padding: 6.25rem 8.75rem 2.5rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__item:nth-child(even) .p-instructor-story__box {
    margin-inline-end: 0;
    padding: 1.875rem 2.5rem;
  }
}

.p-instructor-story__chapter {
  position: absolute;
  top: 0.125rem;
  left: 13rem;
  rotate: -8.5deg;
  color: #a3cfd4;
  font-weight: 400;
  font-size: 2.625rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__chapter {
    top: 0;
    left: 0.125rem;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-instructor-story__item:nth-child(even) .p-instructor-story__chapter {
  left: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__item:nth-child(even) .p-instructor-story__chapter {
    left: 0.125rem;
  }
}

.p-instructor-story__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 33.4375rem;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__text {
    width: min(33.4375rem, 100%);
    max-width: 100%;
    margin-inline: auto;
    gap: 0.5rem;
  }
}

.p-instructor-story__title {
  padding-inline-start: 0.1875rem;
  color: #6b5f55;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__title {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-instructor-story__line {
  display: block;
  aspect-ratio: 278/14;
  width: 100%;
  max-width: 17.375rem;
  background: url("../img/instructor/deco-line--orange.svg") no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__line {
    width: 12.5rem;
  }
}

.p-instructor-story__desc-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__desc-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-instructor-story__em {
  display: inline;
  color: #ff5003;
  font-weight: 500;
}

.p-instructor-story__closing {
  margin-block-start: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__closing {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-block-start: 3.125rem;
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 599px) {
  .p-instructor-story__closing {
    width: 100%;
    text-align: left;
  }
}

.p-instructor-story__closing-text {
  color: #ff8147;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-story__closing-text {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: left;
  }
}

/* 1023px以下：重ね配置をやめて縦積みカードに
----------------------------------------------------*/
/*==================================================================
▼ p-instructor-point
==================================================================*/
/*=================================================
Point（レッスンで大切にしている3つのこと）
オレンジグラデ＋写真＋オレンジオーバーレイの重ね背景。
上端は前セクションの白が波形で食い込む（白波を内側上端に配置）。
==================================================*/
.p-instructor-point {
  position: relative;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  isolation: isolate;
}

.p-instructor-point__bg {
  z-index: -3;
  position: absolute;
  inset: 0;
  background: url("../img/instructor-point-bg.webp") no-repeat center bottom/140% auto;
  opacity: 0.8;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__bg {
    background-position: 63% 50%;
    background-size: 550% auto;
  }
}

.p-instructor-point__overlay {
  z-index: -2;
  position: absolute;
  inset: 0;
  background: rgba(225, 107, 56, 0.7);
  pointer-events: none;
}

.p-instructor-point__wave {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-white-drop.svg") no-repeat center/100% 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__wave {
    aspect-ratio: 375/30;
  }
}

.p-instructor-point__blob {
  z-index: 1;
  position: absolute;
  top: -11.8125rem;
  right: 0;
  aspect-ratio: 320/357;
  width: min(25vw, 320px);
  background: url("../img/deco-blob-orange-right.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__blob {
    top: -3.125rem;
    right: -1.25rem;
    width: 8rem;
  }
}

.p-instructor-point .l-section {
  padding-block-start: 12.5rem;
}
@media screen and (max-width: 1023px) {
  .p-instructor-point .l-section {
    padding-block-start: 4.375rem;
  }
}

.p-instructor-point .c-title__en {
  color: #fff9f1;
}

.p-instructor-point .c-title__sub {
  color: #fef0de;
}

.p-instructor-point__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__lead {
    margin-block-start: 0.75rem;
    text-align: left;
  }
}

.p-instructor-point__lead-text {
  color: #fef0de;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__lead-text {
    font-weight: 700;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-align: left;
  }
}

.p-instructor-point__list {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__list {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-instructor-point__list {
    gap: 1.25rem;
  }
}

.p-instructor-point__item {
  position: relative;
  width: 20rem;
  max-width: 100%;
}
@media screen and (max-width: 599px) {
  .p-instructor-point__item {
    width: 100%;
  }
}

.p-instructor-point__num {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 1.875rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
  font-size: 3.125rem;
  line-height: 1.3;
  font-family: "Oooh Baby", cursive;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__num {
    top: 0.625rem;
    right: 1.5625rem;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.3;
  }
}

.p-instructor-point__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 1.875rem 1.25rem;
  gap: 0.5rem;
  border-radius: 20px;
  background: linear-gradient(112deg, rgba(254, 240, 222, 0.6) 40.87%, rgba(253, 227, 196, 0.6) 100%);
}

.p-instructor-point__icon {
  aspect-ratio: 1/1;
  width: 3.375rem;
  border-radius: 50%;
  background-position: center;
  background-size: 1.5rem;
  background-repeat: no-repeat;
  background-color: #f4a07a;
}

.p-instructor-point__icon--01 {
  background-image: url("../img/icon-point-01.svg");
}

.p-instructor-point__icon--02 {
  background-image: url("../img/icon-point-02.svg");
}

.p-instructor-point__icon--03 {
  background-image: url("../img/icon-point-03.svg");
}

.p-instructor-point__title {
  color: #724404;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-instructor-point__divider {
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(101.36deg, #fef0de 40.87%, #fde3c4 100%);
}

.p-instructor-point__desc-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-instructor-point__desc-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

/*==================================================================
▼ p-instructor-message
==================================================================*/
.p-instructor-message__body {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 3.875rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__body {
    flex-direction: column;
    margin-block-start: 2.5rem;
    gap: 2.5rem;
  }
}

/* 楕円窓の写真（内側に白フチ）
----------------------------------------------------*/
.p-instructor-message__photo {
  position: relative;
  flex-shrink: 0;
  width: 25.3125rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__photo {
    width: 100%;
  }
}

.p-instructor-message__picture {
  display: block;
}

.p-instructor-message__img {
  display: block;
  aspect-ratio: 405/608;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 18.75rem;
}

.p-instructor-message__photo-frame {
  position: absolute;
  inset: 1.125rem 0.75rem;
  border: 3px solid #fff9f1;
  border-radius: 18.75rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__photo-frame {
    inset: 0.9375rem 0.625rem;
  }
}

/* 手紙（白カード＋内側の細枠＋クリップ装飾）
----------------------------------------------------*/
.p-instructor-message__letter {
  display: flex;
  position: relative;
  flex-direction: column;
  width: 33.3125rem;
  max-width: 100%;
  padding: 1.25rem 1.75rem 1.875rem;
  gap: 0.875rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 16px 50px rgba(201, 74, 30, 0.25);
}
.p-instructor-message__letter::before {
  position: absolute;
  inset: 0.625rem;
  border: 1px solid rgba(107, 95, 85, 0.3);
  border-radius: 20px;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__letter {
    padding: 1.25rem 1.25rem 1.5rem;
  }
}

.p-instructor-message__pin {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  aspect-ratio: 88/56;
  width: 5.5rem;
  background: url("../img/deco-letter-pin.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__pin {
    width: 3.9375rem;
  }
}

.p-instructor-message__foryou {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: 0.625rem;
  rotate: -9deg;
  color: #e8612c;
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 1;
  font-family: "Caveat", cursive;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__foryou {
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1;
  }
}

.p-instructor-message__letter-body {
  display: flex;
  flex-direction: column;
  gap: 1.3125rem;
}

.p-instructor-message__letter-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__letter-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}

.p-instructor-message__letter-line {
  display: block;
  width: 100%;
  margin-block-start: 0.5625rem;
  border-top: 1px dashed rgba(107, 95, 85, 0.3);
}

.p-instructor-message__sign {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.p-instructor-message__sign-en {
  color: #ff8147;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__sign-en {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-instructor-message__sign-name {
  margin-inline-end: 0.625rem;
  rotate: -9deg;
  color: #e8612c;
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 1;
  font-family: "Caveat", cursive;
}
@media screen and (max-width: 767px) {
  .p-instructor-message__sign-name {
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1;
  }
}

/*==================================================================
▼ p-instructor-faq
==================================================================*/
.p-instructor-faq__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.4375rem;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-faq__list {
    margin-block-start: 2.5rem;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-instructor-faq__list {
    margin-block-start: 2.3125rem;
  }
}

.p-instructor-faq__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-instructor-faq__more {
    margin-block-start: 2.5rem;
  }
}

/*=================================================
下層ページ共通CTA
・オレンジグラデ背景に白ドードル（左）と人物切り抜き（右下）
・上端はオレンジが前セクションへ波形でせり上がる
==================================================*/
.p-lower-cta {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 44.1875rem;
  padding-block: 5rem;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .p-lower-cta {
    min-height: 0;
    padding-block: 8.125rem 4.375rem;
  }
}
.p-lower-cta::before {
  z-index: 1;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  aspect-ratio: 1280/50;
  width: 100%;
  background: url("../img/deco-wave-orange.svg") no-repeat center/100% 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-lower-cta::before {
    aspect-ratio: 375/30;
  }
}

.p-lower-cta__doodle {
  z-index: 1;
  position: absolute;
  top: -6.8125rem;
  left: 0;
  aspect-ratio: 949/1131;
  width: min(37.109375vw, 475px);
  background: url("../img/deco-doodle-cta.webp") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__doodle {
    top: -3.3125rem;
    left: -2.625rem;
    width: 14.375rem;
  }
}
@media screen and (max-width: 599px) {
  .p-lower-cta__doodle {
    left: -0.4375rem;
    width: 12.375rem;
  }
}

.p-lower-cta__blob {
  z-index: 1;
  position: absolute;
  top: -11.25rem;
  right: -6.125rem;
  aspect-ratio: 320/357;
  width: min(25vw, 320px);
  background: url("../img/deco-blob-orange-right.svg") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__blob {
    top: -6.25rem;
    right: -1.25rem;
    width: 8rem;
  }
}

.p-lower-cta__photo {
  position: absolute;
  right: min(3.671875vw, 60px);
  bottom: -1.125rem;
  width: min(29.6875vw, 390px);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__photo {
    right: -0.25rem;
    bottom: 14.5625rem;
    width: 7.25rem;
  }
}

.p-lower-cta__img {
  display: block;
  aspect-ratio: 304/545;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 44% 40%;
     object-position: 44% 40%;
}

.p-lower-cta__inner {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  margin-block-end: 3.125rem;
  padding-inline: 20px;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__inner {
    margin-block-end: 0;
    gap: 2.5rem;
  }
}

.p-lower-cta__catch {
  background: linear-gradient(171deg, #fef0de 40.87%, #fde3c4 100%);
  background-clip: text;
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  -webkit-background-clip: text;
  color: transparent;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__catch {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-lower-cta__desc {
  display: flex;
  flex-direction: column;
  margin-block-start: -1.25rem;
  gap: 1.6875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__desc {
    width: 100%;
    margin-block-start: -1.75rem;
    gap: 0.9375rem;
  }
}

.p-lower-cta__desc-text {
  color: #fff9f1;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-lower-cta__desc-text {
    font-weight: 400;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 767px) {
  .p-lower-cta .p-cta__button {
    justify-content: center;
    width: 100%;
  }
}

/*==================================================================
Menuページ（menu.html）
※このページのスタイルはすべてこのファイルにまとめる
==================================================================*/
/* Philosophy（続けてもらうための、価格設定）
----------------------------------------------------*/
.p-menu-philosophy__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__lead {
    margin-block-start: 0.625rem;
  }
}

.p-menu-philosophy__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
.p-menu-philosophy__lead-text + .p-menu-philosophy__lead-text {
  margin-block-start: 1.6875rem;
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__lead-text + .p-menu-philosophy__lead-text {
    margin-block-start: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 767px) {
  .p-menu-philosophy__lead-br {
    display: none;
  }
}

.p-menu-philosophy__list {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__list {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 0.875rem;
  }
}

.p-menu-philosophy__item {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  width: 20rem;
  max-width: 100%;
  min-height: 24.3125rem;
  padding: 3.125rem 1.25rem;
  gap: 0.5rem;
  border-radius: 5rem 0;
  background: #fff9f1;
}
.p-menu-philosophy__item::before {
  position: absolute;
  inset: 0.625rem;
  border: 1px solid #a3cfd4;
  border-radius: 5rem 0;
  content: "";
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__item {
    min-height: 0;
    padding: 2.5rem 1.25rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__item {
    width: 100%;
    min-height: 16.125rem;
    padding-block-end: 1.75rem;
  }
}

.p-menu-philosophy__point {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #ff8147;
  font-family: "Oooh Baby", cursive;
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__point {
    margin-block-start: 0.625rem;
  }
}

.p-menu-philosophy__point-en {
  font-weight: 400;
  font-size: 1.625rem;
  line-height: 1.3;
}

.p-menu-philosophy__point-num {
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 599px) {
  .p-menu-philosophy__point-num {
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.3;
  }
}

.p-menu-philosophy__divider {
  display: block;
  width: 4.75rem;
  height: 1px;
  background: linear-gradient(101.36deg, #fef0de 40.87%, #fde3c4 100%);
}

.p-menu-philosophy__point-title {
  width: 100%;
  color: #ff8147;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__point-title {
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-menu-philosophy__point-desc {
  width: 100%;
}

.p-menu-philosophy__point-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-philosophy__point-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-menu-philosophy__em {
  color: inherit;
  font-weight: 500;
}

/* Price list（料金プラン）
----------------------------------------------------*/
.p-menu-price__deco {
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-menu-price__deco {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-price__deco {
    display: block;
    z-index: -1;
  }
}

.p-menu-price__deco--01 {
  top: 5rem;
  left: 0;
  aspect-ratio: 397/545;
  width: min(31.015625vw, 397px);
  background-image: url("../img/menu-deco-01.webp");
}
@media screen and (max-width: 767px) {
  .p-menu-price__deco--01 {
    top: 10.625rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__deco--01 {
    top: 7.75rem;
    left: -0.75rem;
    width: 10rem;
  }
}

.p-menu-price__deco--02 {
  top: 63.1875rem;
  right: 0;
  aspect-ratio: 331/466;
  width: min(25.859375vw, 331px);
  background-image: url("../img/menu-deco-02.webp");
}
@media screen and (max-width: 767px) {
  .p-menu-price__deco--02 {
    top: 66.875rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__deco--02 {
    top: 65rem;
    aspect-ratio: 312/427;
    width: 9.75rem;
    background-image: url("../img/menu-deco-02-sp.webp");
  }
}

.p-menu-price__deco--03 {
  top: 79.5rem;
  left: 0;
  aspect-ratio: 338/545;
  width: min(26.40625vw, 338px);
  background-image: url("../img/menu-deco-03.webp");
}
@media screen and (max-width: 767px) {
  .p-menu-price__deco--03 {
    top: 86.25rem;
    width: 9.3125rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__deco--03 {
    top: 82.75rem;
    width: 12.125rem;
  }
}

.p-menu-price__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-price__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__lead {
    margin-block-start: 0.625rem;
  }
}

.p-menu-price__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-menu-price__list {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-block-start: 3.4375rem;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-price__list {
    margin-block-start: 2.5rem;
    gap: 3.125rem;
  }
}

.p-menu-price__plan {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 1.125rem 2.1875rem 2.25rem 3.125rem;
  gap: 0.5rem;
  border-radius: 6.25rem 0;
  background: #fff9f1;
  filter: drop-shadow(4px 4px 2px rgba(107, 95, 85, 0.2));
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan {
    padding: 1.875rem 1.25rem;
    border-radius: 6.25rem 0;
  }
}

.p-menu-price__plan-en {
  color: #a3cfd4;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}

.p-menu-price__plan-head {
  width: 100%;
}

.p-menu-price__plan-title {
  color: #ff5003;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan-title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-menu-price__plan-time {
  color: #f4a07a;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan-time {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-menu-price__plan-sub {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan-sub {
    margin-block-start: 0.25rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-menu-price__plan-line {
  display: block;
  width: 100%;
  margin-block-start: 0.375rem;
  border-top: 1px dashed #a3cfd4;
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan-line {
    margin-block-start: 0.1875rem;
  }
}

.p-menu-price__plan-body {
  display: flex;
  align-items: center;
  width: 100%;
  margin-block-start: 0.75rem;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-menu-price__plan-body {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-price__plan-body {
    gap: 1rem;
  }
}

.p-menu-price__table {
  flex-shrink: 0;
  width: 31.25rem;
  overflow: hidden;
  border-radius: 10px;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .p-menu-price__table {
    width: 100%;
  }
}

.p-menu-price__label {
  width: 50%;
  height: 3.25rem;
  border-bottom: 1px solid rgba(107, 95, 85, 0.2);
  background: rgba(244, 160, 122, 0.2);
  color: #724404;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-menu-price__label {
    height: 2.5rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-price__row:last-child .p-menu-price__label,
.p-menu-price__row:last-child .p-menu-price__value {
  border-bottom: none;
}

.p-menu-price__value {
  width: 50%;
  border-bottom: 1px solid rgba(107, 95, 85, 0.2);
  background: #fff;
  color: #724404;
  font-family: "Kiwi Maru", serif;
  text-align: center;
  vertical-align: middle;
}

.p-menu-price__yen {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__yen {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-price__num {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__num {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-price__crown {
  display: inline-block;
  aspect-ratio: 1/1;
  width: 1.5rem;
  margin-inline-end: 0.25rem;
  background: url("../img/icon-crown.svg") no-repeat center/contain;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-menu-price__crown {
    width: 0.875rem;
  }
}

.p-menu-price__row--best .p-menu-price__label,
.p-menu-price__row--best .p-menu-price__value {
  color: #ff5003;
}

.p-menu-price__value-note {
  display: block;
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

.p-menu-price__notes {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-menu-price__note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu-price__note {
    gap: 0.375rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__note {
    align-items: center;
  }
}

.p-menu-price__note-icon {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background: url("../img/icon-star-four.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-menu-price__note-icon {
    width: 0.75rem;
  }
}

.p-menu-price__note-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 1279px) {
  .p-menu-price__note-text {
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-price__note-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-menu-price__info {
  position: relative;
  margin-block-start: 2.375rem;
  padding: 1.125rem 2.1875rem 2.25rem 3.125rem;
  border-radius: 6.25rem 0;
  background: #a3cfd4;
  filter: drop-shadow(4px 4px 2px rgba(107, 95, 85, 0.2));
}
@media screen and (max-width: 767px) {
  .p-menu-price__info {
    margin-block-start: 2.5rem;
    margin-block-start: 3.4375rem;
    padding: 1.5rem 1.25rem;
  }
}

.p-menu-price__info-title {
  color: #fff;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .p-menu-price__info-title {
    margin-inline-start: 0.125rem;
  }
}

.p-menu-price__info-lead {
  margin-block-start: 0.25rem;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__info-lead {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-menu-price__info-line {
  display: block;
  width: 100%;
  margin-block-start: 0.6875rem;
  border-top: 1px dashed #fef0de;
}

.p-menu-price__info-list {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
  gap: 0.25rem;
}

.p-menu-price__info-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 599px) {
  .p-menu-price__info-item {
    gap: 0.125rem;
  }
}

.p-menu-price__info-icon {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background: #ffe875;
  mask: url("../img/icon-star-four.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-star-four.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-menu-price__info-icon {
    width: 1rem;
  }
}

.p-menu-price__info-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-price__info-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-price__info-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-menu-price__next {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  margin-block-start: 3.75rem;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-menu-price__next {
    margin-block-start: 2.5rem;
  }
}

.p-menu-price__next-text {
  color: #ff5003;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-price__next-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0em;
  }
}

.p-menu-price__next-arrow {
  display: block;
  aspect-ratio: 1/1;
  width: 2.125rem;
  scale: 1 -1;
  background: url("../img/icon-arrow-simple.svg") no-repeat center/contain;
  transition: translate 0.3s ease;
}
.p-menu-price__next-arrow:hover {
  translate: 0 6px;
}
@media screen and (max-width: 599px) {
  .p-menu-price__next-arrow {
    width: 1.4375rem;
    margin-block-start: -0.1875rem;
  }
}

/* Cost performance（1回あたりの料金）
----------------------------------------------------*/
.p-menu-cost .c-title__en {
  color: #fff9f1;
}

.p-menu-cost .c-title__sub {
  color: #fef0de;
}

.p-menu-cost {
  scroll-margin-top: 5rem;
}
@media screen and (max-width: 1023px) {
  .p-menu-cost {
    scroll-margin-top: 3.75rem;
  }
}

.p-menu-cost__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__lead {
    margin-block-start: 0.625rem;
  }
}

.p-menu-cost__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-menu-cost__table-wrap {
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__table-wrap {
    margin-inline-end: -20px;
    margin-block-start: 2.5rem;
    padding-inline-end: 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.p-menu-cost__table {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  border-collapse: collapse;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__table {
    width: 51.25rem;
  }
}

.p-menu-cost__head:nth-child(1) {
  width: 20%;
}

.p-menu-cost__head:nth-child(2),
.p-menu-cost__head:nth-child(3) {
  width: 15%;
}

.p-menu-cost__head:nth-child(4) {
  width: 20%;
}

.p-menu-cost__head:nth-child(5) {
  width: 30%;
}

.p-menu-cost__head {
  height: 3.25rem;
  border-bottom: 1px solid rgba(107, 95, 85, 0.2);
  background: #fef0de;
  color: #724404;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__head {
    height: 2.5rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}

.p-menu-cost__plan,
.p-menu-cost__cell {
  height: 3.25rem;
  border-bottom: 1px solid rgba(107, 95, 85, 0.2);
  background: #fff;
  color: #724404;
  font-family: "Kiwi Maru", serif;
  text-align: center;
  vertical-align: middle;
}

.p-menu-cost__plan {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__plan {
    height: 2.5rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__plan {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-cost__cell {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__cell {
    height: 2.5rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__cell {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-cost__yen {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__yen {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}

.p-menu-cost__row:last-child .p-menu-cost__plan,
.p-menu-cost__row:last-child .p-menu-cost__cell {
  border-bottom: none;
}

.p-menu-cost__num {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__num {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}

.p-menu-cost__row--best .p-menu-cost__plan {
  background: #fbe7db;
  color: #ff5003;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__row--best .p-menu-cost__plan {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__row--best .p-menu-cost__plan {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

.p-menu-cost__row--best .p-menu-cost__cell {
  background: #fdf2eb;
}

.p-menu-cost__row--best .p-menu-cost__cell:first-of-type {
  color: #ff5003;
}

.p-menu-cost__crown {
  display: inline-block;
  aspect-ratio: 1/1;
  width: 1.5rem;
  margin-inline-end: 0.25rem;
  background: url("../img/icon-crown.svg") no-repeat center/contain;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .p-menu-cost__crown {
    width: 0.875rem;
    margin-block-start: -0.1875rem;
  }
}

.p-menu-cost__swipe {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__swipe {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-block-start: 0.375rem;
    gap: 0.875rem;
  }
}

.p-menu-cost__swipe-text {
  color: #fef0de;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.5;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}

.p-menu-cost__swipe-arrow {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-color: #fef0de;
  mask: url("../img/icon-arrow-simple.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-simple.svg") no-repeat center/contain;
  rotate: 90deg;
}

.p-menu-cost__note {
  margin-block-start: 0.625rem;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__note {
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-align: left;
  }
}

.p-menu-cost__closing {
  margin-block-start: 3.75rem;
  color: #fff9f1;
  font-family: "Kiwi Maru", serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__closing {
    margin-block-start: 2.5rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__closing {
    margin-block-start: 1.5rem;
  }
}

.p-menu-cost__closing-text {
  font-weight: 500;
  font-size: 1.375rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__closing-text {
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-cost__closing-text {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-menu-cost__closing-em {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-cost__closing-em {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
}

/* Payment & Policy（お支払い方法とキャンセル規定）
----------------------------------------------------*/
.p-menu-payment__lead {
  margin-block-start: 3.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__lead {
    margin-block-start: 2.5rem;
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-payment__lead {
    margin-block-start: 0.75rem;
  }
}

.p-menu-payment__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-payment__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-menu-payment__cards {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 4.3125rem;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__cards {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 1.875rem;
  }
}

.p-menu-payment__card {
  overflow: hidden;
  border-radius: 6.25rem 0;
  background: #fff9f1;
}

.p-menu-payment__card--pay {
  width: 23.75rem;
  max-width: 100%;
}

.p-menu-payment__card--policy {
  width: 34.4375rem;
  max-width: 100%;
}

.p-menu-payment__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.625rem;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__card-head {
    height: 7.1875rem;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-menu-payment__card-head--teal {
  background: #a3cfd4;
}

.p-menu-payment__card-head--orange {
  background: #f4a07a;
}

.p-menu-payment__card-body {
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1.5625rem 2.5rem;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__card-body {
    padding: 1.5625rem 1.25rem 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-menu-payment__card--policy .p-menu-payment__card-body {
    padding-inline-start: 1.875rem;
  }
}

.p-menu-payment__block-title {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__block-title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-menu-payment__block-line {
  display: block;
  width: 100%;
  margin-block-start: 0.625rem;
  border-top: 1px dashed #a3cfd4;
}

.p-menu-payment__items {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
  gap: 0.25rem;
}

.p-menu-payment__items + .p-menu-payment__block-line {
  margin-block-start: 1.25rem;
}

.p-menu-payment__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__item {
    gap: 0.375rem;
  }
}

.p-menu-payment__item-icon {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background: url("../img/icon-star-four.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__item-icon {
    width: 0.75rem;
  }
}

.p-menu-payment__item-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4571428571;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__item-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}

.p-menu-payment__item-small {
  display: block;
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.4375rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.p-menu-payment__card-note {
  margin-block-start: 1.25rem;
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__card-note {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

.p-menu-payment__notice {
  display: flex;
  justify-content: center;
  margin-block-start: 2.5rem;
  padding: 1.875rem 1.5625rem;
  border-radius: 3.75rem 0;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__notice {
    margin-block-start: 1.875rem;
    padding: 1.875rem 1.25rem;
  }
}

.p-menu-payment__notice-body {
  width: -moz-fit-content;
  width: fit-content;
}

.p-menu-payment__notice-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-payment__notice-text {
    font-weight: 400;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}

/* Special offer（体験当日だけの特別な特典）
----------------------------------------------------*/
.p-menu-special .c-title__en {
  color: #fff9f1;
}

.p-menu-special .c-title__sub {
  color: #fef0de;
}

.p-menu-special__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-special__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-special__lead {
    margin-block-start: 0.3125rem;
  }
}

.p-menu-special__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-menu-special__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-special__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-menu-special__list {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-menu-special__list {
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-special__list {
    flex-direction: column;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 599px) {
  .p-menu-special__list {
    gap: 1.125rem;
  }
}

.p-menu-special__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 20rem;
  max-width: 100%;
  min-height: 18.125rem;
  padding: 1.875rem 1.25rem;
  gap: 0.5rem;
  border-radius: 20px;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-menu-special__item {
    width: 100%;
    min-height: 0;
  }
}

.p-menu-special__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.25rem;
  gap: 0.25rem;
  border-radius: 1.6875rem;
  background: #a3cfd4;
}

.p-menu-special__badge-icon {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-menu-special__badge-icon {
    width: 1.0625rem;
  }
}

.p-menu-special__badge-icon--present {
  background-image: url("../img/icon-present.svg");
}

.p-menu-special__badge-icon--beginner {
  background: #fff;
  mask: url("../img/icon-beginner.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-beginner.svg") no-repeat center/contain;
}

.p-menu-special__badge-icon--people {
  background-image: url("../img/icon-people.svg");
}

.p-menu-special__badge-text {
  color: #fff;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
}
@media screen and (max-width: 767px) {
  .p-menu-special__badge-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
}

.p-menu-special__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3.375rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-menu-special__title {
    min-height: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-special__title {
    min-height: 3.375rem;
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}

.p-menu-special__divider {
  display: block;
  width: 100%;
  height: 1px;
  background: #a3cfd4;
}
@media screen and (max-width: 599px) {
  .p-menu-special__divider {
    max-width: 17.5rem;
  }
}

.p-menu-special__desc {
  color: #7a7a7a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-special__desc {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

/* Price FAQ
----------------------------------------------------*/
.p-menu-faq__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-menu-faq__list {
    margin-block-start: 2.5rem;
  }
}

.p-menu-faq__more {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu-faq__more {
    margin-block-start: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-menu-payment .p-section-blob-tr {
    top: -3.8125rem;
    right: auto;
    left: 0;
    aspect-ratio: 66/143;
    width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}

/*==================================================================
Changeページ（change.html）
※このページのスタイルはすべてこのファイルにまとめる
※コンテンツは7月中旬に差し替え予定（構造優先で実装）
==================================================================*/
/* Three changes（HAREで起きる、3つの変化）
----------------------------------------------------*/
.p-change-three__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-change-three__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-change-three__lead {
    margin-block-start: 0.875rem;
  }
}

.p-change-three__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-change-three__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-change-three__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-three__em {
  color: #ff5003;
}
@media screen and (max-width: 599px) {
  .p-change-three__em {
    display: inline;
  }
}

.p-change-three__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  gap: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-change-three__list {
    margin-block-start: 2.5rem;
    gap: 1.1875rem;
  }
}

.p-change-three__item {
  position: relative;
}

.p-change-three__label {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  color: #a3cfd4;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-change-three__label {
    top: -0.375rem;
    font-weight: 400;
    font-size: 1.625rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-three__card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.75rem 1.875rem 1.875rem;
  gap: 1.125rem;
  border-radius: 3.125rem 0;
  background: #fff9f1;
}
@media screen and (max-width: 1023px) {
  .p-change-three__card {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.5rem 1.25rem 1.5rem;
    gap: 1rem;
    border-radius: 1.875rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-change-three__card {
    padding: 1.25rem;
    gap: 1.125rem;
    border-radius: 3.125rem 0;
  }
}

.p-change-three__text {
  flex: 1;
}

.p-change-three__title {
  color: #ff8147;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-change-three__title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-change-three__desc {
  margin-block-start: 1rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-change-three__desc {
    margin-block-start: 0.75rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-change-three__divider {
  flex-shrink: 0;
  align-self: center;
  width: 0;
  height: 6.875rem;
  border-left: 1px dashed #a3cfd4;
}
@media screen and (max-width: 1023px) {
  .p-change-three__divider {
    width: 100%;
    height: 0;
    border-top: 1px dashed #a3cfd4;
    border-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-change-three__divider {
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
  }
}

.p-change-three__points {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-change-three__points {
    gap: 0.125rem;
  }
}

.p-change-three__point {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-change-three__point {
    gap: 0.375rem;
  }
}

.p-change-three__point-icon {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background: #ff8147;
  mask: url("../img/icon-star-four.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-star-four.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-change-three__point-icon {
    width: 0.75rem;
  }
}

.p-change-three__point-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-change-three__point-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
    white-space: normal;
  }
}

/* Customer stories（お客様のストーリー）
----------------------------------------------------*/
.p-change-story__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-change-story__lead {
    margin-block-start: 0.625rem;
    text-align: left;
  }
}

.p-change-story__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-change-story__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-change-story__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-story__lead-br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-change-story__lead-br {
    display: inline;
  }
}

.p-change-story__list {
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  gap: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-change-story__list {
    margin-block-start: 2.5rem;
    gap: 2.5rem;
  }
}

.p-change-story__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-change-story__item {
    gap: 1.25rem;
  }
}

.p-change-story__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  text-align: center;
}

.p-change-story__story-num {
  color: #f4a07a;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__story-num {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-story__name {
  color: #ff8147;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__name {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-story__photo {
  display: block;
  width: min(27.6875rem, 100%);
}

.p-change-story__img {
  display: block;
  aspect-ratio: 443/335;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.875rem;
}
@media screen and (max-width: 599px) {
  .p-change-story__img {
    border-radius: 1.25rem;
  }
}

.p-change-story__body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .p-change-story__body {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-change-story__body {
    gap: 1.875rem;
  }
}

.p-change-story__comments {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  width: 27.6875rem;
  margin-block-start: 0.875rem;
  gap: 1rem;
}
@media screen and (max-width: 1023px) {
  .p-change-story__comments {
    width: 100%;
    margin-block-start: 0;
  }
}

.p-change-story__comment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0.625rem;
  gap: 0.625rem;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p-change-story__comment {
    gap: 0.25rem;
  }
}

.p-change-story__comment--own {
  background: #fff9f1;
}

.p-change-story__comment--chiharu {
  background: #f4a07a;
}
.p-change-story__comment--chiharu .p-change-story__comment-label,
.p-change-story__comment--chiharu .p-change-story__comment-text {
  color: #fff;
}

.p-change-story__comment-label {
  padding: 0.3125rem 0.625rem;
  color: #f4a07a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__comment-label {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-story__comment-body {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
}

.p-change-story__comment-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__comment-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-story__detail {
  display: flex;
  flex-direction: column;
  width: 32.25rem;
  gap: 1rem;
}
@media screen and (max-width: 1023px) {
  .p-change-story__detail {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-change-story__detail {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 599px) {
  .p-change-story__detail {
    margin-block-start: -0.25rem;
  }
}

.p-change-story__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 599px) {
  .p-change-story__tags {
    gap: 0.75rem;
  }
}

.p-change-story__tag {
  padding: 0.625rem 0.75rem;
  border-radius: 10px;
  background: #a3cfd4;
  color: #fff;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__tag {
    padding: 0.625rem 0.75rem;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-story__block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 0.625rem;
}

.p-change-story__block-line {
  display: block;
  width: 100%;
  border-top: 1px dashed #a3cfd4;
}

.p-change-story__block-head {
  padding: 0.3125rem 1.875rem;
  border-radius: 100px;
  background: #fef0de;
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-change-story__block-head {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-change-story__block-body {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.625rem;
}

.p-change-story__block-em {
  color: #724404;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__block-em {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-story__block-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-change-story__block-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-story__em {
  display: inline;
  color: #ff8147;
}

.p-change-story__em--yellow {
  color: #ffe875;
}

@media screen and (max-width: 767px) {
  .p-change-story__br--pc {
    display: none;
  }
}

/* First lesson（1回のレッスンでも変化を実感）
----------------------------------------------------*/
.p-change-first .c-title__en {
  color: #fff9f1;
}

.p-change-first .c-title__sub {
  color: #fef0de;
}

.p-change-first__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-change-first__lead {
    margin-block-start: 0.625rem;
    text-align: left;
  }
}

.p-change-first__lead-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-change-first__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-change-first__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-change-first__em {
  display: inline;
  color: #ffe875;
}

@media screen and (max-width: 767px) {
  .p-change-first__lead-br {
    display: none;
  }
}

.p-change-first__panel {
  display: flex;
  justify-content: center;
  width: min(55rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.75rem;
  padding: 1.5625rem;
  border: 1px solid rgba(255, 255, 255, 0.32);
  backdrop-filter: blur(3px);
  background: rgba(255, 255, 255, 0.12);
  -webkit-backdrop-filter: blur(3px);
  border-radius: 22px;
}
@media screen and (max-width: 767px) {
  .p-change-first__panel {
    margin-block-start: 2.5rem;
    padding: 1.25rem;
  }
}

.p-change-first__picture {
  display: block;
  width: min(45.375rem, 100%);
}

.p-change-first__img {
  display: block;
  width: 100%;
}

.p-change-first__closing {
  margin-block-start: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-change-first__closing {
    margin-block-start: 2.5rem;
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-change-first__closing {
    margin-block-start: 1.1875rem;
  }
}

.p-change-first__closing-text {
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-change-first__closing-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
}

.p-change-first__closing-text--gap {
  margin-block-start: 1.7em;
}

/*==================================================================
FAQページ（faq.html）
※このページのスタイルはすべてこのファイルにまとめる
==================================================================*/
/* Categories（カテゴリー別に探す）
----------------------------------------------------*/
.p-faq-categories__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-faq-categories__lead {
    margin-block-start: 0.625rem;
  }
}

.p-faq-categories__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-faq-categories__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-faq-categories__list {
  display: flex;
  flex-wrap: wrap;
  margin-block-start: 3.75rem;
  gap: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__list {
    margin-block-start: 2.5rem;
    padding-inline: 1.25rem;
    gap: 0.6875rem;
  }
}

.p-faq-categories__item {
  width: calc((100% - 4.375rem) / 3);
}
@media screen and (max-width: 1023px) {
  .p-faq-categories__item {
    width: calc((100% - 2.1875rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-faq-categories__item {
    width: calc((100% - 0.6875rem) / 2);
  }
}

.p-faq-categories__card {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 9rem;
  padding: 1.25rem;
  gap: 1.25rem;
  border-radius: 3.125rem 0;
  background: #fff9f1;
  transition: background-color 0.3s ease;
}
.p-faq-categories__card:hover {
  background: #f4a07a;
}
.p-faq-categories__card:hover .p-faq-categories__en {
  color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.p-faq-categories__card:hover .p-faq-categories__jp {
  color: #fff9f1;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.p-faq-categories__card:hover .p-faq-categories__arrow {
  background-color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__card {
    flex-direction: column;
    height: 8.125rem;
    padding: 1.25rem 0.625rem;
    gap: 0.375rem;
    border-radius: 1.875rem 0;
  }
}

.p-faq-categories__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 2.75rem;
  border-radius: 1.6875rem;
  background-color: #fff;
}
.p-faq-categories__icon::before {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-faq-categories__icon {
    width: 1.875rem;
    border-radius: 1.125rem;
  }
  .p-faq-categories__icon::before {
    width: 1rem;
  }
}

.p-faq-categories__icon--beginner::before {
  background: #f4a07a;
  mask: url("../img/icon-beginner.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-beginner.svg") no-repeat center/contain;
}

.p-faq-categories__icon--lesson::before {
  background-image: url("../img/icon-cat-lesson.svg");
}

.p-faq-categories__icon--calendar::before {
  background-image: url("../img/icon-cat-calendar.svg");
}

.p-faq-categories__icon--children::before {
  background-image: url("../img/icon-cat-children.svg");
}

.p-faq-categories__icon--maternity::before {
  background-image: url("../img/icon-cat-maternity.svg");
}

.p-faq-categories__icon--payment::before {
  background-image: url("../img/icon-cat-payment.svg");
}

.p-faq-categories__icon--sun::before {
  background-image: url("../img/icon-cat-sun.svg");
}

.p-faq-categories__text {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__text {
    gap: 0.25rem;
  }
}

.p-faq-categories__en {
  color: #ff5003;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__en {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-faq-categories__jp {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-faq-categories__jp {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    white-space: nowrap;
  }
}

.p-faq-categories__arrow {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background-color: #ff8147;
  mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  rotate: 180deg;
}

@media screen and (max-width: 599px) {
  .p-faq-categories .p-section-blob-tr {
    top: -3.8125rem;
    right: auto;
    left: 0;
    aspect-ratio: 66/143;
    width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}

/* All Questions（よくある質問）
----------------------------------------------------*/
.p-faq-list .p-section-beige::after {
  top: -5.25rem;
  aspect-ratio: 143/305;
  max-width: 143px;
  background-image: url("../img/deco-blob-orange-pale--narrow.svg");
}
@media screen and (max-width: 1279px) {
  .p-faq-list .p-section-beige::after {
    top: -3.3125rem;
    max-width: 89px;
  }
}
@media screen and (max-width: 767px) {
  .p-faq-list .p-section-beige::after {
    top: -3.8125rem;
    aspect-ratio: 66/143;
    max-width: 4.125rem;
    background-image: url("../img/deco-blob-orange-pale--sp.svg");
  }
}
@media screen and (max-width: 599px) {
  .p-faq-list .p-section-beige::after {
    top: -4.6875rem;
    right: 0;
    left: auto;
    aspect-ratio: 109/143;
    max-width: 6.8125rem;
    background-image: url("../img/deco-blob-orange-right--sp.svg");
  }
}

.p-faq-list__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq-list__lead {
    text-align: left;
  }
}

.p-faq-list__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-faq-list__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-faq-list__group {
  margin-block-start: 3.75rem;
  scroll-margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-faq-list__group {
    margin-block-start: 2.5rem;
  }
}

.p-faq-list__group + .p-faq-list__group {
  margin-block-start: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-faq-list__group + .p-faq-list__group {
    margin-block-start: 5rem;
  }
}

.p-faq-list__heading {
  display: flex;
  align-items: center;
  padding-block-end: 0.375rem;
  gap: 1.25rem;
  border-bottom: 3px solid #ff8147;
}
@media screen and (max-width: 767px) {
  .p-faq-list__heading {
    gap: 0.375rem;
    border-bottom-width: 2px;
  }
}

.p-faq-list__heading-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 2.75rem;
  border-radius: 1.6875rem;
  background-color: #fff;
}
.p-faq-list__heading-icon::before {
  aspect-ratio: 1/1;
  width: 1.5rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-faq-list__heading-icon {
    width: 1.875rem;
    border-radius: 1.125rem;
  }
  .p-faq-list__heading-icon::before {
    width: 1rem;
  }
}

.p-faq-list__heading-icon--beginner::before {
  background: #f4a07a;
  mask: url("../img/icon-beginner.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-beginner.svg") no-repeat center/contain;
}

.p-faq-list__heading-icon--lesson::before {
  background-image: url("../img/icon-cat-lesson.svg");
}

.p-faq-list__heading-icon--calendar::before {
  background-image: url("../img/icon-cat-calendar.svg");
}

.p-faq-list__heading-icon--children::before {
  background-image: url("../img/icon-cat-children.svg");
}

.p-faq-list__heading-icon--maternity::before {
  background-image: url("../img/icon-cat-maternity.svg");
}

.p-faq-list__heading-icon--payment::before {
  background-image: url("../img/icon-cat-payment.svg");
}

.p-faq-list__heading-icon--sun::before {
  background-image: url("../img/icon-cat-sun.svg");
}

.p-faq-list__heading-text {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-faq-list__heading-text {
    gap: 0.25rem;
  }
}

.p-faq-list__heading-en {
  margin-inline-start: 1.8125rem;
  margin-block-start: -0.5rem;
  color: #ff8147;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 599px) {
  .p-faq-list__heading-en {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-faq-list__heading-jp {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-faq-list__heading-jp {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-faq-list__items {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.875rem;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-faq-list__items {
    margin-block-start: 1.25rem;
    gap: 1.875rem;
  }
}

/*==================================================================
Contactページ（contact.html）
※このページのスタイルはすべてこのファイルにまとめる
==================================================================*/
/* How to Start（お問い合わせの流れ）
----------------------------------------------------*/
.p-contact-start__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact-start__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-contact-start__lead {
    margin-block-start: 0.625rem;
  }
}

.p-contact-start__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-start__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-contact-start__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-contact-start__line {
  width: 100%;
  margin-inline: auto;
  margin-block-start: 3.75rem;
  padding: 2.5rem 2.5rem;
  border-radius: 1.5rem;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line {
    margin-block-start: 2.5rem;
    padding: 2.5rem 1.25rem;
    filter: drop-shadow(0 10px 7.5px rgba(0, 0, 0, 0.18));
  }
}

.p-contact-start__line-head {
  color: #ff8147;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-head {
    color: #ff5003;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 767px) {
  .p-contact-start__line-head-pc {
    display: none;
  }
}

.p-contact-start__line-head-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-head-sp {
    display: inline;
  }
}

.p-contact-start__line-body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.125rem;
}

.p-contact-start__qr {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 10rem;
  border-radius: 0.875rem;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 767px) {
  .p-contact-start__qr {
    display: none;
  }
}

.p-contact-start__qr-img {
  aspect-ratio: 1/1;
  width: 7.5rem;
}

.p-contact-start__line-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(25.25rem, 100%);
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-action {
    width: 100%;
  }
}

.p-contact-start__line-note {
  display: flex;
  align-items: center;
  width: 100%;
  margin-block-start: 1rem;
  gap: 0.625rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
.p-contact-start__line-note::before, .p-contact-start__line-note::after {
  flex: 1;
  height: 1px;
  background: rgba(107, 95, 85, 0.4);
  content: "";
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-note {
    display: none;
  }
}

.p-contact-start__line-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23.4375rem;
  max-width: 100%;
  margin-block-start: 1.375rem;
  padding-block: 0.9375rem;
  gap: 0.625rem;
  border-radius: 1.875rem;
  background: #06c755;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-button {
    width: 100%;
    margin-block-start: 0.75rem;
    padding-block: 0.75rem;
    gap: 0.375rem;
    box-shadow: 0 8px 10px rgba(6, 199, 85, 0.25);
  }
}
.p-contact-start__line-button:hover {
  background: #fff;
}
.p-contact-start__line-button:hover .p-contact-start__line-icon {
  background-color: #06c755;
}
.p-contact-start__line-button:hover .p-contact-start__line-label {
  color: #06c755;
}

.p-contact-start__line-icon {
  aspect-ratio: 1/1;
  width: 1.625rem;
  background-color: #fff;
  mask: url("../img/icon-line-white.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-line-white.svg") no-repeat center/contain;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-icon {
    width: 1.625rem;
  }
}

.p-contact-start__line-label {
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  transition: color 0.3s ease;
}

.p-contact-start__line-caution {
  margin-block-start: 0.625rem;
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.8125rem;
  line-height: 1.3076923077;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact-start__line-caution {
    margin-block-start: 0.75rem;
    font-weight: 400;
    font-size: 0.8125rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}

.p-contact-start__steps {
  display: flex;
  justify-content: center;
  margin-block-start: 3.75rem;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-contact-start__steps {
    flex-direction: column;
    align-items: center;
    margin-block-start: 2.5rem;
    gap: 0.875rem;
  }
}

.p-contact-start__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 324/265;
  width: 20.25rem;
  min-width: 0;
  padding-inline: 1.0625rem;
  gap: 0.5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #f78e4d 0%, #ff9649 23.08%, #ff8147 71.15%, #ffa15b 98.08%);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact-start__step {
    aspect-ratio: 335/189;
    width: 100%;
    max-width: 20.9375rem;
    padding-block: 1.25rem 3.125rem;
  }
}

.p-contact-start__step-num {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: "Oooh Baby", cursive;
}

.p-contact-start__step-en {
  font-weight: 400;
  font-size: 1.625rem;
  line-height: 1.3;
}

.p-contact-start__step-digit {
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-contact-start__step-digit {
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.3;
  }
}

.p-contact-start__step-line {
  width: 4.75rem;
  height: 1px;
  background: #fff;
}

.p-contact-start__step-title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-contact-start__step-title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
}

.p-contact-start__step-desc {
  width: 18.125rem;
  max-width: 100%;
  margin-block-start: -0.25rem;
  color: #fff9f1;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-contact-start__step-desc {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 374px) {
  .p-contact-start__step {
    padding-inline: min(1.0625rem, 4.53vw);
    padding-block: min(1.25rem, 5.33vw) min(3.125rem, 13.33vw);
    gap: min(0.5rem, 2.13vw);
  }
  .p-contact-start__step-num {
    gap: min(0.75rem, 3.2vw);
  }
  .p-contact-start__step-line {
    width: min(4.75rem, 20.27vw);
  }
  .p-contact-start__step-en {
    font-size: min(1.625rem, 6.93vw);
    line-height: 1.3;
  }
  .p-contact-start__step-digit {
    font-size: min(1.875rem, 8vw);
    line-height: 1.3;
  }
  .p-contact-start__step-title {
    font-size: min(0.875rem, 3.73vw);
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
  .p-contact-start__step-desc {
    width: min(18.125rem, 77.33vw);
    margin-block-start: -1.07vw;
    font-size: min(0.75rem, 3.2vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
/* by Phone（お電話をご希望の方へ）
----------------------------------------------------*/
.p-contact-phone__blob {
  display: none;
  z-index: 1;
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__blob {
    display: block;
  }
}

.p-contact-phone__blob--right {
  top: -4.6875rem;
  right: 0;
  aspect-ratio: 109/143;
  width: 6.8125rem;
  background-image: url("../img/deco-blob-orange-right--sp.svg");
}

.p-contact-phone__lead {
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__lead {
    text-align: left;
  }
}
@media screen and (max-width: 599px) {
  .p-contact-phone__lead {
    margin-block-start: 0.75rem;
  }
}

.p-contact-phone__lead-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__lead-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 599px) {
  .p-contact-phone__lead-text {
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-contact-phone__card {
  margin-block-start: 3.75rem;
  overflow: hidden;
  border-radius: 6.25rem 0;
  background: #fff;
  filter: drop-shadow(4px 4px 2px rgba(107, 95, 85, 0.2));
}
@media screen and (max-width: 767px) {
  .p-contact-phone__card {
    margin-block-start: 2.5rem;
  }
}

.p-contact-phone__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.625rem;
  gap: 0.625rem;
  background: #ff8147;
}

.p-contact-phone__tel-icon {
  width: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__tel-icon {
    width: 1.25rem;
  }
}
.p-contact-phone__tel-icon {
  aspect-ratio: 1/1;
  background-color: #fff;
  mask: url("../img/icon-telephone.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-telephone.svg") no-repeat center/contain;
}

.p-contact-phone__tel-link {
  transition: opacity 0.3s ease;
}
.p-contact-phone__tel-link:hover {
  opacity: 0.7;
}
.p-contact-phone__tel-link {
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__tel-link {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
}

.p-contact-phone__body {
  padding: 1.25rem 3.75rem 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__body {
    padding: 1.25rem 1.25rem 2.5rem;
  }
}

.p-contact-phone__head {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__head {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-contact-phone__line {
  display: block;
  width: 100%;
  margin-block-start: 0.625rem;
  border-top: 1px dashed #ff8147;
}

.p-contact-phone__line--bottom {
  margin-block-start: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__line--bottom {
    margin-block-start: 0.625rem;
  }
}

.p-contact-phone__hours {
  display: flex;
  align-items: center;
  margin-block-start: 1.25rem;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__hours {
    flex-wrap: nowrap;
    margin-block-start: 0.625rem;
    gap: 1rem;
  }
}

.p-contact-phone__hours-row {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
  white-space: nowrap;
}

.p-contact-phone__hours-label {
  color: #ff5003;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__hours-label {
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.5692307692;
    letter-spacing: 0.03em;
  }
}

.p-contact-phone__hours-time {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__hours-time {
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.5692307692;
    letter-spacing: 0.03em;
  }
}

.p-contact-phone__notes {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__notes {
    margin-block-start: 0.625rem;
    gap: 0.25rem;
  }
}

.p-contact-phone__note {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__note {
    gap: 0.375rem;
  }
}

.p-contact-phone__note-icon {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1rem;
  background-color: #ff8147;
  mask: url("../img/icon-star-four.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-star-four.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__note-icon {
    width: 0.75rem;
  }
}

.p-contact-phone__note-text {
  color: #6b5f55;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__note-text {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

.p-contact-phone__closing {
  margin-block-start: 1.25rem;
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.7;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-contact-phone__closing {
    margin-block-start: 0.625rem;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}

/*==================================================================
コラムページ（column.html）
※このページのスタイルはすべてこのファイルにまとめる
※WordPress化で記事を流し込む前提の「枠」。アイキャッチはグレーのプレースホルダー
==================================================================*/
/* Category（カテゴリーから探す）
----------------------------------------------------*/
.p-column-category__panel {
  width: min(62.5rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.75rem;
  padding: 3.875rem 1.875rem;
  border-radius: 3.125rem;
  background: #fff9f1;
}
@media screen and (max-width: 767px) {
  .p-column-category__panel {
    margin-block-start: 2.5rem;
    padding: 1.875rem 1.25rem;
  }
}

.p-column-category__list {
  display: grid;
  grid-template-columns: repeat(2, 23.3125rem);
  justify-content: center;
  gap: 1.25rem 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-column-category__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-column-category__list {
    gap: 1.25rem 0.75rem;
  }
}

.p-column-category__card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6.5rem;
  padding: 1.875rem;
  gap: 1.25rem;
  border-radius: 3.125rem 0;
  background: #fef0de;
  transition: background-color 0.3s ease;
}
.p-column-category__card:hover {
  background: #f4a07a;
}
.p-column-category__card:hover .p-column-category__en {
  color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.p-column-category__card:hover .p-column-category__name {
  color: #fff9f1;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.p-column-category__card:hover .p-column-category__arrow {
  background-color: #fff;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-column-category__card {
    flex-direction: column;
    min-height: 8.125rem;
    padding: 1.25rem 0.625rem;
    gap: 0.375rem;
  }
}

.p-column-category__icon {
  display: block;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 2.75rem;
  border-radius: 50%;
  background-position: center;
  background-size: 1.5rem;
  background-repeat: no-repeat;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-column-category__icon {
    width: 1.875rem;
    background-size: 1rem;
  }
}

.p-column-category__icon--sun {
  background-image: url("../img/icon-col-sun.svg");
}

.p-column-category__icon--cloud {
  background-image: url("../img/icon-col-cloud.svg");
}

.p-column-category__icon--diamond {
  background-image: url("../img/icon-col-diamond.svg");
}

.p-column-category__icon--baby {
  background-image: url("../img/icon-col-baby.svg");
}

.p-column-category__icon--camera {
  background-image: url("../img/icon-col-camera.svg");
}

.p-column-category__icon--book {
  background-image: url("../img/icon-col-book.svg");
}

.p-column-category__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 13.375rem;
  min-width: 0;
  gap: 0.375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-column-category__text {
    width: 100%;
    gap: 0.25rem;
  }
}

.p-column-category__en {
  color: #ff5003;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  font-family: "Oooh Baby", cursive;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-category__en {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-category__name {
  max-width: calc(100% + 0.75rem);
  overflow: hidden;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-column-category__name {
    max-width: calc(100% + 1.5rem);
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1;
  }
}

.p-column-category__name--long {
  max-width: calc(100% - 0.875rem);
}
@media screen and (max-width: 767px) {
  .p-column-category__name--long {
    max-width: calc(100% - 0.5rem);
  }
}

.p-column-category__arrow {
  flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 1.25rem;
  background-color: #ff5003;
  mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-up.svg") no-repeat center/contain;
  rotate: 90deg;
}

/* Column（記事一覧）
----------------------------------------------------*/
.p-column-list__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block-end: 0.625rem;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 767px) {
  .p-column-list__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }
}

.p-column-list__empty {
  margin-top: 2.5rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 2;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-column-list__empty {
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.03em;
  }
}

.p-column-list {
  scroll-margin-top: 100px;
}

.p-column-list__count {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-list__count {
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.0666666667;
    letter-spacing: 0.03em;
  }
}

.p-column-list__count-num {
  color: #ff5003;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.03em;
}

.p-column-list__sort {
  display: flex;
  padding-inline-end: 0.5rem;
  gap: 0.75rem;
}

.p-column-list__sort-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.9375rem;
  border: 1px solid #d9d9d9;
  border-radius: 1rem;
  background: #fff;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  transition: opacity 0.3s ease;
}
.p-column-list__sort-button:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-column-list__sort-button {
    padding: 0.375rem 0.9375rem;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-list__sort-button--current {
  border-color: #ff8147;
  background: #ff8147;
  color: #fff;
}

.p-column-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-block-start: 3.75rem;
  gap: 5rem 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-column-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-column-list__grid {
    grid-template-columns: 1fr;
    margin-block-start: 2.5rem;
    gap: 5rem;
  }
}

.p-column-list__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #7a7a7a;
  border-radius: 1.25rem;
  background: #fff;
  transition: background-color 0.3s ease;
}
.p-column-list__card:hover {
  background: #fff9f1;
}
.p-column-list__card:hover .p-column-list__thumb img {
  scale: 1.27;
}

.p-column-list__thumb {
  position: relative;
  aspect-ratio: 1200/630;
  width: 100%;
  overflow: hidden;
  background: #d9d9d9;
}
.p-column-list__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.4s ease;
}
@media screen and (max-width: 767px) {
  .p-column-list__thumb {
    aspect-ratio: 1200/630;
  }
}

.p-column-list__badge {
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  padding: 0.625rem;
  border-radius: 1.25rem;
  background: #fff;
  color: #ff5003;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}

.p-column-list__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0.875rem 1.0625rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-column-list__body {
    padding: 0.875rem 1.5rem 1.25rem;
  }
}

.p-column-list__date {
  color: #7a7a7a;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}

.p-column-list__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-block-start: 1rem;
  overflow: hidden;
  color: #ff8147;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.375;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}

.p-column-list__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin-block-start: 1rem;
  overflow: hidden;
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}

.p-column-list__divider {
  display: block;
  width: 100%;
  margin-block-start: 1.75rem;
  border-top: 1px solid #d9d9d9;
}

.p-column-list__tags {
  display: flex;
  flex-wrap: wrap;
  margin-block-start: 1.125rem;
  gap: 0.875rem;
}

.p-column-list__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 0.875rem;
  gap: 0.625rem;
  border-radius: 1.25rem;
  background: #fef0de;
}
@media screen and (max-width: 767px) {
  .p-column-list__tag {
    padding: 0.375rem 0.875rem;
    gap: 0.375rem;
  }
}

.p-column-list__tag-hash {
  color: #ff8147;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-list__tag-hash {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-list__tag-text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-list__tag-text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-list__pagination {
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-column-list__pagination {
    margin-block-start: 2.5rem;
  }
}

.p-column-list__pagination-list {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-column-list__pagination-list {
    gap: 0.5rem;
  }
}

.p-column-list__pagination-ellipsis {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 1.5rem;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}

.p-column-list__pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  width: 2.625rem;
  border: 1px solid #d9d9d9;
  border-radius: 50%;
  background: #fff;
  color: #6b5f55;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  transition: opacity 0.3s ease;
}
.p-column-list__pagination-link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-column-list__pagination-link {
    width: 1.875rem;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-list__pagination-link--current {
  border-color: #ff8147;
  background: #ff8147;
  color: #fff;
}

/* Tags（タグから探す）
----------------------------------------------------*/
.p-column-tags__groups {
  display: flex;
  flex-direction: column;
  width: min(37.375rem, 100%);
  margin-inline: auto;
  margin-block-start: 3.75rem;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-column-tags__groups {
    margin-block-start: 2.5rem;
    gap: 1.25rem;
  }
}

.p-column-tags__label {
  color: #6b5f55;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-column-tags__label {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

.p-column-tags__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-block-start: 1.25rem;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-column-tags__list {
    margin-block-start: 1.25rem;
    gap: 0.5rem;
  }
}

.p-column-tags__link {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 0.875rem;
  gap: 0.625rem;
  border-radius: 1.0625rem;
  background: #fff9f1;
  transition: background-color 0.3s ease;
}
.p-column-tags__link:hover {
  background: #ff8147;
}
.p-column-tags__link:hover .p-column-tags__hash {
  color: #fff;
  transition: color 0.3s ease;
}
.p-column-tags__link:hover .p-column-tags__text {
  color: #fff9f1;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-column-tags__link {
    padding: 0.375rem 0.875rem;
    gap: 0.375rem;
    border-radius: 0.75rem;
  }
}

.p-column-tags__hash {
  color: #ff5003;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-tags__hash {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

.p-column-tags__text {
  color: #6b5f55;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-column-tags__text {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.03em;
  }
}

/*=================================================
各デバイスの表示、非表示
==================================================*/
@media screen and (min-width: 1024px) {
  .u-hidden--pc {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .u-hidden--tab {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .u-hidden--sp {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .u-dc--pc {
    display: contents;
  }
}

@media screen and (max-width: 1023px) {
  .u-dc--tab {
    display: contents;
  }
}

@media screen and (max-width: 599px) {
  .u-dc--sp {
    display: contents;
  }
}

/*=================================================
スクロールで各ブロックをふわっと表示（script.jsと連動）
==================================================*/
.js-fadein {
  transform: translateY(24px);
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-fadein.is-visible {
  transform: translateY(0);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .js-fadein {
    transform: none;
    opacity: 1;
    transition: none;
  }
}