@charset "UTF-8";
/* これだけを Watch する */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
}
@media (max-width: 1184px) {
  html {
    font-size: 1.3513513514vw;
  }
}
@media (max-width: 540px) {
  html {
    font-size: 4.2666666667vw;
  }
}

* {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

a, button {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover, button:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media (max-width: 540) {
  a:hover, button:hover {
    opacity: 1;
  }
}

.pc-only {
  display: block;
}
@media screen and (max-width: 540px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 540px) {
  .sp-only {
    display: block;
  }
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

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

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

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

.header {
  display: none;
}
@media screen and (max-width: 1024px) {
  .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 5.625rem;
    z-index: 1000;
    position: relative;
    background-color: white;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
    max-width: 540px;
  }
}

.header.fixed {
  position: fixed;
  top: 0;
}

@media screen and (max-width: 1024px) {
  .header {
    position: fixed;
    top: 0;
  }
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 90rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.625rem 0 1.875rem;
  height: 100%;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 540px) {
  .header__inner {
    max-width: 100%;
    padding: 0 0 0 1.25rem;
  }
}

.header__logo {
  opacity: 0;
  height: auto;
  position: relative;
  left: 0;
  opacity: 1;
  width: 18.125rem;
}
@media screen and (max-width: 540px) {
  .header__logo {
    width: 50%;
  }
}
.header__logo a {
  width: 100%;
  height: 100%;
}
.header__logo img {
  width: 100%;
  height: 100%;
}

.header.is-show .header__logo {
  opacity: 1;
}

:root {
  --brand: #e18835; /* 見本のオレンジ */
  --text: #7a3f1c; /* ラベルの茶色に近い色（任意） */
}

.header__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
}

/* 右側アクション3つ（料金 / アクセス / MENU） */
.header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(16px, 4vw, 40px);
}

/* 各アイコンブロック：縦積み（アイコン→ラベル） */
.action {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  text-decoration: none;
  color: #f47106;
  font-weight: 700;
  font-size: 0.625rem;
  line-height: 1;
}

/* 画像アイコンのサイズ感 */
.action__icon {
  height: 2.4375rem;
  width: 1.875rem;
  display: block;
}

.action__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  white-space: nowrap;
}

/* ラベル体裁 */
button.hamburger span.action__label {
  letter-spacing: 0.08em;
  white-space: nowrap;
  bottom: 0;
  height: 0;
  text-align: center;
  left: 44%;
}

/* ハンバーガー全体 */
.header__hamburger {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1000;
  margin-right: 0.625rem;
}

/* ボタン */
.hamburger {
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  z-index: 1100;
  margin-top: -0.375rem;
}

/* バーの基本スタイル */
.hamburger span {
  position: absolute;
  left: 50%;
  width: 1.75rem;
  height: 0.1875rem;
  background: #f47106; /* brand color */
  border-radius: 0.125rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

/* 各バーの位置 */
.hamburger span:nth-of-type(1) {
  top: 0.625rem;
}

.hamburger span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.hamburger span:nth-of-type(3) {
  bottom: 0.625rem;
}

/* 開いたとき（×マーク） */
.hamburger[aria-expanded=true] span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  background: #fff;
}

.hamburger[aria-expanded=true] span:nth-of-type(2) {
  opacity: 0;
}

.hamburger[aria-expanded=true] span:nth-of-type(3) {
  bottom: auto;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  background: #fff;
}

/* サイズをレスポンシブにしたい場合は clamp も可 */
.nav__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.header__nav {
  z-index: 10;
  position: absolute;
  top: -100%;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  overflow-y: auto;
  max-width: 540px;
  margin: 0 auto;
  width: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.header__nav .cta__wrapper {
  max-width: 21rem;
  width: 100%;
}

.header__nav[aria-expanded=true] {
  position: fixed;
  opacity: 1;
  visibility: visible;
  background-color: rgba(244, 113, 6, 0.8);
  top: 0;
  height: 100vh;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 100;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .nav__inner {
    padding: 5.3125rem 0 5.625rem;
    max-width: 15.625rem;
    margin: 0 auto;
  }
}

.nav__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .nav__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 100%;
  }
}

.nav__item {
  width: 100%;
  height: 100%;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .nav__item {
    width: 100%;
  }
}

.nav__link {
  padding: 1rem;
  display: block;
  text-align: left;
  font-size: 0.9375rem;
  font-weight: 700;
}
.nav__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1024px) {
  .nav__link {
    position: relative;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    border-bottom: 0.1px solid;
    margin: 0 auto;
  }
  .nav__link:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 1024px) {
  .nav__bottom .btn__to-contact {
    margin-top: 3.125rem;
    margin-bottom: 0;
  }
}

.nav__bottom .footer__sns {
  padding-top: 1.6875rem;
}

#worry,
#method,
#voices,
#reason,
#faq,
#doctor,
#access {
  scroll-margin-top: 90px;
}

@media screen and (max-width: 1024px) {
  .fv {
    padding-top: 5.625rem;
  }
}

.fv__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.campaign__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-top: -1.25rem;
}

.cta__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 3.5rem;
  gap: 0.625rem;
  margin: 0 auto;
  width: 93%;
}
@media screen and (max-width: 540px) {
  .cta__wrapper {
    padding-top: 1.5rem;
  }
}

.cta {
  display: block;
}

.cta__wrapper.cta__wrapper-padding {
  padding-top: 5rem;
  width: 100%;
}
@media screen and (max-width: 540px) {
  .cta__wrapper.cta__wrapper-padding {
    padding-top: 3.5rem;
  }
}

img {
  width: 100%;
  height: 100%;
}

.inner {
  padding: 0 1.25rem;
}
@media screen and (max-width: 540px) {
  .inner {
    padding: 0 0.625rem;
  }
}

.all-contents-pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.all-contents {
  background: #fff;
  -webkit-box-shadow: 0 0 30px 3px rgba(110, 90, 70, 0.7);
          box-shadow: 0 0 30px 3px rgba(110, 90, 70, 0.7);
  max-width: 540px;
  min-width: 540px;
  margin: auto;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 540px) {
  .all-contents {
    max-width: 100%;
    min-width: 100%;
  }
}

.worry {
  margin-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .worry {
    margin-top: 2rem;
  }
}

.worry__contents {
  padding-top: 2rem;
}

.worry__itemimg:not(:first-child) {
  padding-top: 1.25rem;
}

.worry__table {
  width: 100%;
  padding-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .worry__table {
    padding-top: 2rem;
  }
}

.method {
  padding-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .method {
    padding-top: 2rem;
  }
}

.method__triangle {
  width: 50%;
  margin: 0 auto;
  display: block;
}

.method__ttl {
  padding-top: 2.5rem;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .method__ttl {
    padding-top: 2rem;
  }
}

.method__ttl--img {
  width: 90%;
  display: block;
  margin: 0 auto;
}

.method__ttl--wrapper {
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.method__ttl--orange {
  font-size: 2.8rem;
  color: #eb6100;
  font-weight: bold;
}
@media screen and (max-width: 540px) {
  .method__ttl--orange {
    font-size: 1.5rem;
  }
}

.method__ttl--brown {
  font-size: 2.8rem;
  color: #604444;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 540px) {
  .method__ttl--brown {
    font-size: 1.5rem;
  }
}

.method__contents {
  background-image: url(../images/chiryou-bg.webp);
  padding-top: 3.5rem;
  padding-bottom: 1.5rem;
  margin-top: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 540px) {
  .method__contents {
    padding-top: 2rem;
  }
}

.method__inner {
  margin: 0 auto;
  width: 95%;
}

.method__contents-ttl {
  background-color: #f5d27f;
  padding: 1.125rem; /* 内側余白 */
  -webkit-box-shadow: 3px 3px 2px 0 rgba(110, 90, 70, 0.3);
          box-shadow: 3px 3px 2px 0 rgba(110, 90, 70, 0.3);
}

.method__ttlh3 {
  display: inline-block; /* コンテンツに合わせて枠が縮む */
  padding: 1.25rem 1.25rem; /* 内側余白 */
  background-color: #fff; /* 白背景 */
  border: 1px solid #604444; /* 外枠の黄色 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #4a2c2a; /* 茶色文字 */
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .method__ttlh3 {
    padding: 1.25rem 0.3125rem; /* 内側余白 */
    font-size: 1.25rem;
  }
}

.method__txt-wrap {
  padding: 1.25rem;
  background-color: #fff;
  margin-top: 1.25rem;
  -webkit-box-shadow: 3px 3px 2px 0 rgba(110, 90, 70, 0.3);
          box-shadow: 3px 3px 2px 0 rgba(110, 90, 70, 0.3);
}

.method__txt {
  font-size: 1.75rem;
  color: #4a2c2a; /* 茶色文字 */
  font-weight: 600;
}
@media screen and (max-width: 540px) {
  .method__txt {
    font-size: 1rem;
  }
}

/* 3列×2行のグリッド */
.method__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.3125rem; /* 行間×列間 */
  place-items: center; /* 画像を中央寄せ */
  margin-top: 1.25rem;
  padding: 0;
  list-style: none;
  padding: 0 1rem;
}

/* 各アイテムの枠 */
.method__item {
  position: relative;
  text-align: center;
  width: 100%;
}
.method-different {
  margin: 3.5rem auto 0;
  width: 95%;
}
@media screen and (max-width: 540px) {
  .method-different {
    margin: 2rem auto 0;
  }
}

.method__difference-imgs {
  padding-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .method__difference-imgs {
    padding-top: 2rem;
  }
}

.method__difference--img:last-child {
  padding-top: 1.5rem;
}

.method__difference-teble {
  margin-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .method__difference-teble {
    margin-top: 2rem;
  }
}

/* 見出しボックス本体 */
.voices {
  padding-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .voices {
    padding-top: 2rem;
  }
}

.voices__title-leaf {
  position: relative;
  height: auto;
  display: block;
  text-align: center;
  background: #fbf5ea; /* クリーム色 */
  padding: 3.75rem 0; /* 左右は葉っぱ分の余白 */
  border-radius: 4px;
  /* 上下の二重線（細いラインを上下に2本ずつ） */
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e1cda3), to(#e1cda3)), -webkit-gradient(linear, left top, left bottom, from(#e1cda3), to(#e1cda3)), -webkit-gradient(linear, left top, left bottom, from(#e1cda3), to(#e1cda3)), -webkit-gradient(linear, left top, left bottom, from(#e1cda3), to(#e1cda3));
  background-image: linear-gradient(#e1cda3, #e1cda3), linear-gradient(#e1cda3, #e1cda3), linear-gradient(#e1cda3, #e1cda3), linear-gradient(#e1cda3, #e1cda3); /* 下2 */
  background-repeat: no-repeat;
  background-size: 100% 2px, 100% 2px, 100% 2px, 100% 2px;
  background-position: left 0 top 8px, left 0 top 16px, left 0 bottom 16px, left 0 bottom 8px; /* 下2 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* 見出しテキスト */
.voices__title-leaf__text {
  display: inline-block;
  color: #4a342f; /* ダークブラウン */
  font-weight: 700;
  line-height: 1.35;
  font-size: 2.8rem; /* 必要に応じて調整 */
  letter-spacing: 0.06em;
  position: relative;
}
@media screen and (max-width: 540px) {
  .voices__title-leaf__text {
    font-size: 1.5rem; /* 必要に応じて調整 */
  }
}

/* 左右の葉っぱ画像（擬似要素） */
.voices__title-leaf::before,
.voices__title-leaf::after {
  content: "";
  position: absolute;
  top: 63%;
  display: block;
  width: 4rem; /* 画像に合わせて調整 */
  height: 5.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.95;
  pointer-events: none;
}
@media screen and (max-width: 540px) {
  .voices__title-leaf::before,
.voices__title-leaf::after {
    width: 3.5rem; /* 画像に合わせて調整 */
    height: 5rem;
  }
}

.voices__title-leaf::before {
  left: 8%;
  background-image: url("../images/leaves-left.webp");
}

.voices__title-leaf::after {
  right: 8%;
  background-image: url("../images/leaves-right.webp");
}

/* SP で少しコンパクトに（任意） */
@media (max-width: 539px) {
  .voices__title-leaf {
    padding: 22px 64px;
    background-position: left 0 top 6px, left 0 top 12px, left 0 bottom 12px, left 0 bottom 6px;
  }
}
.voices__item {
  padding-top: 2.5rem;
}
@media screen and (max-width: 540px) {
  .voices__item {
    padding-top: 2rem;
  }
}

.voice__line-screen {
  position: relative;
  display: block;
  text-align: center;
  padding-top: 2rem;
  max-width: 25.625rem;
  margin: 0 auto;
  width: 60%;
}
@media screen and (max-width: 540px) {
  .voice__line-screen {
    padding-top: 1.25rem;
  }
}

.voice__line-screen img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 左下の鳥 */
.voice__line-screen::before {
  content: "";
  position: absolute;
  left: -36%; /* 位置は調整してください */
  bottom: -2.5rem;
  width: 6.25rem;
  height: 6.25rem;
  background: url("../images/bird-green.webp") no-repeat center/contain;
  pointer-events: none; /* クリックを邪魔しない */
}
@media screen and (max-width: 540px) {
  .voice__line-screen::before {
    width: 4.375rem;
    height: 4.375rem;
  }
}

/* 右上の鳥 */
.voice__line-screen::after {
  content: "";
  position: absolute;
  right: -36%;
  top: 4.25rem;
  width: 6.25rem;
  height: 6.25rem;
  background: url("../images/bird-blue.webp") no-repeat center/contain;
  pointer-events: none;
}
@media screen and (max-width: 540px) {
  .voice__line-screen::after {
    width: 4.375rem;
    height: 4.375rem;
  }
}

.voiceCard {
  margin: 3.5rem auto 3.5rem;
  color: #4d2e1e; /* 濃いブラウン */
  line-height: 1.9;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 540px) {
  .voiceCard {
    margin: 2rem auto;
  }
}

.voiceCard__name {
  font-size: 1.875rem;
  font-weight: 700;
  margin: 0 0 8px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 540px) {
  .voiceCard__name {
    font-size: 1.25rem;
  }
}

.voiceCard__rule {
  display: block;
  height: 6px;
  width: 100%;
  background: #6c8e43; /* 緑 */
  border-radius: 3px;
  margin-bottom: 18px;
}

/* メタ情報の行 */
.voiceCard__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
  margin-bottom: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 540px) {
  .voiceCard__meta {
    font-size: 0.875rem;
  }
}

/* ラベルのチップ */
.voiceCard__chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.125rem 0.3125rem;
  background: #fff;
  border: 3px solid #b7d300;
  font-weight: 700;
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
}

/* 値 */
.voiceCard__value {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
}

/* 矢印 */
.voiceCard__arrow {
  display: inline-block;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  font-weight: 900;
  margin: 0 0.2em;
}

/* 感情の変化ボックス */
.voiceCard__box {
  margin-top: 1.125rem;
  padding: 0.625rem 0.625rem;
  border: 0.1875rem solid #b7d300;
  background: #fff;
}

.voiceCard__text {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 540px) {
  .voiceCard__text {
    font-size: 1rem;
  }
}

.reason {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 540px) {
  .reason {
    padding-top: 0;
  }
}

.reason__ttl {
  max-width: 40rem;
  margin: 0 auto;
}
@media screen and (max-width: 540px) {
  .reason__ttl {
    width: 80%;
  }
}

.reasonCard__wrapper {
  padding-top: 4.5rem;
}
@media screen and (max-width: 540px) {
  .reasonCard__wrapper {
    padding-top: 2.5rem;
  }
} /* カード全体 */
.reasonCard {
  position: relative;
  max-width: 45rem; /* LP中央カラムに合わせて */
  margin: 0 auto;
  background: #fbf4e9; /* クリーム色の下地 */
  border: 0.375rem solid #e48d45; /* 外枠のオレンジ */
  border-radius: 1.75rem;
  padding: 1.75rem 1.25rem 1.875rem;
  -webkit-box-shadow: 0 1px 0 #e9d7bf inset;
          box-shadow: 0 1px 0 #e9d7bf inset; /* ほんのり内側のエッジ感 */
}

/* 左上の丸数字（画像をそのまま重ねる） */
.reasonCard .reason__num {
  position: absolute;
  top: -4.0625rem;
  left: -1.125rem;
  width: 5rem; /* 数字画像の表示サイズは適宜調整 */
  height: auto;
  pointer-events: none;
}
@media screen and (max-width: 540px) {
  .reasonCard .reason__num {
    width: 3.75rem;
    top: -2.5rem;
    left: -0.75rem;
  }
}

/* 内側ブロック */
.reasonCard__inner {
  display: block;
}

/* 上部の集合写真 */
.reasonCard__figure {
  margin: 0 0 1.125rem;
}

.reasonCard .reason__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.375rem;
  -o-object-fit: cover;
     object-fit: cover;
}

/* タイトル */
.reasonCard__title {
  margin: 0.5rem 0 1.125rem;
  text-align: center;
  color: #de7f34;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media screen and (max-width: 540px) {
  .reasonCard__title {
    font-size: 1.125rem;
  }
}

/* 本文 */
.reasonCard__text {
  color: #6a3b22;
  font-weight: 700;
  line-height: 1.7;
  font-size: 1.25rem;
}
@media screen and (max-width: 540px) {
  .reasonCard__text {
    font-size: 1rem;
  }
}

/* ========== FAQ 基本 ========== */
.faq {
  --brown: #6a3b22;
  --orange: #e48d45; /* 文字/縁のオレンジ */
  --orange-bar: #e7b281; /* 見出し帯の色（調整可） */
  --green: #79b86d; /* A丸の緑 */
  --green-bg: #f5faef; /* 回答ボックスの薄緑 */
  background-color: #fdfbf4;
  margin: 3.5rem 0 0;
}

.faq .inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 3.5rem 2.1875rem 3.5rem;
}
@media screen and (max-width: 540px) {
  .faq .inner {
    padding: 2rem 1.875rem;
  }
}

.faq .p-accordion__item {
  margin: 1.5rem 0 0;
}

.faq__ttl-wrapper {
  max-width: 40rem;
  margin: 0 auto;
  width: 100%;
}

/* ========== Q（質問の帯） ========== */
.faq .p-accordion__title-wrapper {
  position: relative;
  background: var(--orange-bar);
  padding: 1.125rem 3.5rem 1.125rem 4.5rem; /* 左にQ丸ぶんの余白 */
  color: var(--brown);
}
@media screen and (max-width: 540px) {
  .faq .p-accordion__title-wrapper {
    padding: 0.625rem 3.5rem 0.625rem 2.8125rem;
  }
}

.faq .p-accordion__title {
  display: block;
  font-weight: 700;
  font-size: 1.75rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 540px) {
  .faq .p-accordion__title {
    font-size: 1.125rem;
  }
}

/* Qの丸マーク */
/* Qの丸マーク（画像表示） */
.faq .p-accordion__title-wrapper::before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 0;
  width: 4.75rem;
  height: 4.75rem;
  background: url("../images/question.webp") no-repeat center/contain;
  display: block;
}
@media screen and (max-width: 540px) {
  .faq .p-accordion__title-wrapper::before {
    width: 3.125rem;
    height: 3.125rem;
    left: -0.625rem;
  }
}

/* ========== A（回答ボックス） ========== */
.faq .p-accordion__content {
  position: relative;
  background: var(--green-bg);
  padding: 1.25rem 1.125rem 1.25rem 4.5rem;
  margin-top: 1.125rem;
  color: var(--brown);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 540px) {
  .faq .p-accordion__content {
    padding: 1.25rem 1.125rem 1.25rem 2.8125rem;
  }
}

/* Aの丸マーク */
.faq .p-accordion__content::before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 1.25rem; /* 必要に応じて調整 */
  width: 4.75rem;
  height: 4.75rem;
  background: url("../images/answer.webp") no-repeat center/contain;
  display: block;
}
@media screen and (max-width: 540px) {
  .faq .p-accordion__content::before {
    width: 3.125rem;
    height: 3.125rem;
    left: -0.625rem;
    top: 0;
  }
}

/* ========== 細かな整え ========== */
.faq .p-flow__item-txt,
.faq .p-flow__item-txt-red,
.faq .p-flow__item-lists,
.faq .p-flow__item-body,
.faq .p-flow__item-content01,
.faq .p-flow__item-content02,
.faq .p-flow__item-content03,
.faq .p-flow__item-content04,
.faq .p-flow__item-content05 {
  /* 回答の中身をこの色/行間に合わせるため */
  color: var(--brown);
  line-height: 1.8;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 540px) {
  .faq .p-flow__item-txt,
.faq .p-flow__item-txt-red,
.faq .p-flow__item-lists,
.faq .p-flow__item-body,
.faq .p-flow__item-content01,
.faq .p-flow__item-content02,
.faq .p-flow__item-content03,
.faq .p-flow__item-content04,
.faq .p-flow__item-content05 {
    font-size: 1rem;
  }
}

/* まずは全部閉じる */
.faq .p-accordion__content {
  display: none;
}

/* 最初の項目だけ開く */
.faq .p-accordion__item:first-child .p-accordion__content {
  display: block;
}

/* タイトル行をクリックできるように（任意だが推奨） */
.faq .p-accordion__title-wrapper {
  cursor: pointer;
}

/* 右側の + / - アイコン本体（位置） */
.faq .p-accordion__icon {
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* 横棒（常に表示） */
.faq .p-accordion__icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 0.15625rem;
  background: var(--brown);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 0.125rem;
}

/* 縦棒（開く前は表示＝＋、開いたら消して－） */
.faq .p-accordion__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.15625rem;
  height: 100%;
  background: var(--brown);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 0.125rem;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
  transition: opacity 0.2s, -webkit-transform 0.2s;
  transition: opacity 0.2s, transform 0.2s;
  transition: opacity 0.2s, transform 0.2s, -webkit-transform 0.2s;
}

/* 開いた状態：縦棒を消して「－」にする */
.faq .p-accordion__item.is-open .p-accordion__icon::after {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) scaleY(0);
          transform: translate(-50%, -50%) scaleY(0);
}

.google-star.inner {
  padding: 3.5rem 1.25rem 0;
  text-align: center;
}
@media screen and (max-width: 540px) {
  .google-star.inner {
    padding: 2rem 1.25rem 0;
  }
}

.google-star__img {
  padding-top: 1.5rem;
  width: 80%;
  margin: 0 auto;
  display: block;
}

.google-star__screenshot {
  width: 100%;
  padding-top: 0.5rem;
}

.review-btn {
  display: inline-block;
  background: #a8e063; /* 明るいグリーン */
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  margin-top: 2.375rem;
  border-radius: 1.25rem;
  -webkit-box-shadow: 0 6px 0 #6e9b3b;
          box-shadow: 0 6px 0 #6e9b3b; /* 下に濃いグリーンの影 */
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
@media screen and (max-width: 540px) {
  .review-btn {
    font-size: 1.125rem;
    letter-spacing: -0.03em;
    margin-top: 1.5rem;
  }
}

.review-btn .arrow {
  margin-left: 10px;
  font-size: 18px;
}

.review-btn:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 4px 0 #6e9b3b;
          box-shadow: 0 4px 0 #6e9b3b;
}

.review-btn:active {
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  -webkit-box-shadow: 0 2px 0 #6e9b3b;
          box-shadow: 0 2px 0 #6e9b3b;
}

/* レイアウトの器 */
.director {
  background: #fff;
}

.director__inner {
  width: min(800px, 92%);
  margin: 0 auto;
  padding: 6.25rem 0 2rem;
}
@media screen and (max-width: 540px) {
  .director__inner {
    padding: 3.5rem 0 0rem;
    width: 100%;
  }
}

/* 見出し */
.director__title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  color: #4b3a32; /* 濃い茶 */
  letter-spacing: 0.06em;
  margin: 0 auto 1.375rem;
  position: relative;
}
@media screen and (max-width: 540px) {
  .director__title {
    font-size: 2.5rem;
  }
}

.director__title::after {
  content: "";
  display: block;
  width: 16rem;
  margin: 1rem auto 3.5rem;
  height: 0.625rem;
  background: #f98b31; /* オレンジの下線 */
}
@media screen and (max-width: 540px) {
  .director__title::after {
    width: 13rem;
    height: 0.5rem;
  }
}

/* 写真と名前 */
.director__figure {
  text-align: center;
  margin: 0 auto 1.25rem;
  width: 70%;
}

.director__photo {
  max-width: 25.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  display: inline-block;
  -webkit-box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
          box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

.director__name {
  margin-top: 2.625rem;
  font-size: 1.75rem;
  color: #4b3a32;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 540px) {
  .director__name {
    margin-top: 2rem;
    font-size: 1.25rem;
  }
}

/* リード文ボックス（薄い枠） */
.director__lead {
  background: #f8f8f8;
  border-radius: 0.5rem;
  padding: 1.125rem 1.125rem 1rem;
  color: #4b3a32;
  line-height: 2;
  font-weight: 700;
  margin-bottom: 1.125rem;
  margin-top: 2.625rem;
  font-size: 1.375rem;
}
@media screen and (max-width: 540px) {
  .director__lead {
    font-size: 1rem;
    margin-top: 2rem;
  }
}

/* アコーディオン */
.accordion {
  border: 0.0625rem solid #e6e0d9;
  overflow: hidden;
  background: #fff;
}

/* summary のバー */
.accordion__summary {
  list-style: none;
  cursor: pointer;
  padding: 0.875rem 1.125rem;
  background: #f98b31; /* 見出しのオレンジ */
  color: #fff;
  font-weight: 700;
  font-size: 1.75rem;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (max-width: 540px) {
  .accordion__summary {
    font-size: 1.25rem;
  }
}

.accordion__summary:hover {
  opacity: 0.7;
}

/* 既定のマーカーを消す */
.accordion__summary::-webkit-details-marker {
  display: none;
}

/* 右側の三角アイコン */
.accordion__summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.625rem;
  height: 0.625rem;
  border-right: 0.1875rem solid #fff;
  border-bottom: 0.1875rem solid #fff;
  -webkit-transform: translateY(-60%) rotate(45deg);
          transform: translateY(-60%) rotate(45deg); /* ▼ 風 */
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

/* 開いた時に矢印を上向きに */
.accordion[open] .accordion__summary::after {
  -webkit-transform: translateY(-40%) rotate(-135deg);
          transform: translateY(-40%) rotate(-135deg);
}

/* 本文 */
.accordion__content {
  padding: 1.125rem 1.125rem 1.375rem;
  background: #f8f8f8; /* ほんのりベージュ */
  color: #4b3a32;
  line-height: 2.1;
  font-size: 1.375rem;
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .accordion__content {
    font-size: 1rem;
  }
}

.accordion__content::before::after {
  border: none;
}

/* ほんのりカード風の影（お好みで） */
.director__inner,
.accordion {
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
}

/* スマホ調整 */
/* 見出し */
.access {
  padding: 6.25rem 0 0;
}
@media screen and (max-width: 540px) {
  .access {
    padding: 3.5rem 0 0;
  }
}

.access__title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  color: #4b3a32; /* 濃い茶 */
  letter-spacing: 0.06em;
  margin: 0 0 1.375rem;
  position: relative;
}
@media screen and (max-width: 540px) {
  .access__title {
    font-size: 2rem;
  }
}

.access__title::after {
  content: "";
  display: block;
  width: 16rem;
  margin: 1rem auto 3.5rem;
  height: 0.625rem;
  background: #f98b31; /* オレンジの下線 */
}
@media screen and (max-width: 540px) {
  .access__title::after {
    height: 0.5rem;
    width: 13rem;
  }
}

.google-map {
  width: 100%;
}

.google-map iframe {
  width: 100%;
}

/* テーブル本体 */
.access-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #aaaaaa; /* 外枠 */
  table-layout: fixed;
  font-size: 1.25rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 540px) {
  .access-table {
    margin-top: 2rem;
    font-size: 1rem;
  }
}

/* 行のボーダー */
.access-table tr + tr {
  border-top: 1px solid #aaaaaa;
}

/* 左列（見出しセル） */
.access-table th {
  width: 11.25rem; /* PC時の左列幅 */
  background: #f4cf86; /* 画像の薄い山吹色 */
  color: #4b3a32;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  padding: 1.125rem 0.875rem;
  border-right: 1px solid #aaaaaa;
  line-height: 1.4;
  word-break: keep-all;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 540px) {
  .access-table th {
    width: 35%;
    font-size: 1rem; /* PC時の左列幅 */
  }
}

/* 右列（内容セル） */
.access-table td {
  padding: 1rem 1.25rem;
  color: #2f2a26;
  line-height: 1.7;
  vertical-align: middle;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

/* 電話リンク */
.access-table__tel {
  color: #f08c2a; /* オレンジ */
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
}

.access-hours {
  padding-top: 2rem;
}

.campaign__img.campaign__img--margin {
  padding-top: 6rem;
}
@media screen and (max-width: 540px) {
  .campaign__img.campaign__img--margin {
    padding-top: 3.5rem;
  }
}

.access-step {
  padding: 3.5rem 0 0;
  /* 偶数番目のアイテムには矢印を非表示 */
}
.access-step .access-step__title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  color: #4b3a32; /* 濃い茶 */
  letter-spacing: 0.06em;
  margin: 0 0 1.375rem;
  position: relative;
}
@media screen and (max-width: 540px) {
  .access-step .access-step__title {
    font-size: 2rem;
  }
}
.access-step .access-step__title::after {
  content: "";
  display: block;
  width: 16rem;
  margin: 1rem auto 3.5rem;
  height: 0.625rem;
  background: #f98b31; /* オレンジの下線 */
}
@media screen and (max-width: 540px) {
  .access-step .access-step__title::after {
    width: 13rem;
    height: 0.5rem;
  }
}
.access-step .access-step__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.75rem 3.625rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 540px) {
  .access-step .access-step__list {
    gap: 1.25rem 2rem;
  }
}
.access-step .access-step__item {
  text-align: center;
  position: relative;
  width: 100%;
}
.access-step .access-step__item img {
  max-width: 100%;
  height: auto;
}
.access-step .access-step__item p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #4a2c2a;
  text-align: left;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 540px) {
  .access-step .access-step__item p {
    font-size: 0.75rem;
  }
}
.access-step .access-step__item::after {
  content: "";
  position: absolute;
  top: 5rem;
  right: -2.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-left: 1.4375rem solid #f98b31; /* オレンジ */
}
@media screen and (max-width: 540px) {
  .access-step .access-step__item::after {
    border-top: 0.9375rem solid transparent;
    border-bottom: 0.9375rem solid transparent;
    border-left: 1rem solid #f98b31; /* オレンジ */
    top: 3.75rem;
    right: -1.5rem;
  }
}
.access-step .access-step__item:nth-child(even)::after {
  display: none;
}

.footer {
  margin-top: 2rem;
}

.footer__logo-wrapper {
  background-color: #ffd88c;
  height: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer__logo-link {
  max-width: 25rem;
}
@media screen and (max-width: 540px) {
  .footer__logo-link {
    width: 80%;
  }
}

.footer__copy {
  width: 100%;
  background-color: #ec8321;
  color: #fff;
  height: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 0 6.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 固定バー */
.fixed-booking {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  -webkit-box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.15);
          box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.15);
  z-index: 999;
  padding: 8px 12px;
}

.fixed-booking__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  max-width: 960px;
  margin: 0 auto;
}

.fixed-booking__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}

/* ラベル */
.fixed-booking__label {
  font-size: 0.625rem;
  font-weight: 700;
  color: #444;
  text-align: center;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}

.fixed-booking__label::before,
.fixed-booking__label::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 16px;
  height: 0.0625rem;
}

.fixed-booking__label::before {
  left: -20px;
  -webkit-transform: rotate(50deg);
          transform: rotate(50deg);
}

.fixed-booking__label::after {
  right: -20px;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
}

.fixed-booking--tel {
  color: #8c4d07;
}

.fixed-booking--line {
  color: #04602a;
}

.fixed-booking--web {
  color: #0a5b59;
}

.fixed-booking__label.fixed-booking--tel::before,
.fixed-booking__label.fixed-booking--tel::after {
  background-color: #8c4d07;
}

.fixed-booking__label.fixed-booking--web::before,
.fixed-booking__label.fixed-booking--web::after {
  background-color: #0a5b59;
}

.fixed-booking__label.fixed-booking--line::before,
.fixed-booking__label.fixed-booking--line::after {
  background-color: #04602a;
}

/* ボタン共通 */
.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  width: 100%;
  height: 3rem;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: opacity 0.2s, -webkit-transform 0.1s;
  transition: opacity 0.2s, -webkit-transform 0.1s;
  transition: transform 0.1s, opacity 0.2s;
  transition: transform 0.1s, opacity 0.2s, -webkit-transform 0.1s;
  color: #fff;
}

.btn__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-decoration: none;
}

.fixed-booking__label--line {
  color: #04602a;
}

.fixed-booking__label--web {
  color: #0a5b59;
}

.btn:hover {
  opacity: 0.9;
}

.btn:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}

.btn__icon {
  display: grid;
  place-items: center;
  width: 20%;
}

/* カラー */
.btn--tel {
  background: -webkit-gradient(linear, left top, left bottom, from(#f09a2c), to(#de7f1f));
  background: linear-gradient(#f09a2c, #de7f1f);
  -webkit-box-shadow: 0 4px 0 #8c4d07;
          box-shadow: 0 4px 0 #8c4d07;
}

.btn--line {
  background: -webkit-gradient(linear, left top, left bottom, from(#56cb5f), to(#2fb04c));
  background: linear-gradient(#56cb5f, #2fb04c);
  -webkit-box-shadow: 0 4px 0 #04602a;
          box-shadow: 0 4px 0 #04602a;
}

.btn--web {
  background: -webkit-gradient(linear, left top, left bottom, from(#5cc3c6), to(#37a3b0));
  background: linear-gradient(#5cc3c6, #37a3b0);
  -webkit-box-shadow: 0 4px 0 #0a5b59;
          box-shadow: 0 4px 0 #0a5b59;
}

.side-space {
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 540px) {
  .side-space {
    display: none;
  }
}

.side-space__items {
  position: fixed;
  height: 100%;
  width: calc((100% - 540px) / 2);
}

.bg-whole {
  position: fixed;
  bottom: 0px;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.pc-menu-btn-list {
  display: block;
  position: absolute;
  left: 45%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 20vh;
  z-index: 1;
}

.side-space .cta__wrapper {
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 20vh;
  z-index: 1;
  width: 85%;
  padding-top: 0;
  max-width: 21.875rem;
}
@media screen and (max-width: 1024px) {
  .side-space .cta__wrapper {
    display: none;
  }
}

/* レイアウトの土台（ページ中央に） */
.pc-menu {
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 13vh;
  z-index: 1;
  width: 85%;
  max-width: 21.875rem;
}
@media screen and (max-width: 1024px) {
  .pc-menu {
    display: none;
  }
}

/* クリップボード本体 */
.pc-menu__board {
  position: relative;
  background: #fff;
  border-radius: 1.75rem;
  border: 8px solid #d8cab7; /* 外枠（ややグレー） */
  -webkit-box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.12), 0 2px 0 rgba(0, 0, 0, 0.04) inset;
          box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.12), 0 2px 0 rgba(0, 0, 0, 0.04) inset; /* 影と内側のわずかな段差 */
  padding: 0 0.625rem;
}

.pc-menu__accent {
  display: block;
  max-width: 10.4375rem;
  width: 40%;
}

/* 見出し（ロゴ＋院名） */
.pc-menu__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-block: 0.75rem 1rem;
}

.pc-menu__logo {
  max-width: 15.625rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.pc-menu__title {
  font-size: clamp(26px, 4.2vw, 40px);
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #c9742f; /* オレンジ寄りの茶 */
  font-weight: 700;
  text-align: center;
}

/* メニュー本体 */
.pc-menu__items {
  list-style: none;
  margin: 0;
}

.pc-menu__item {
  position: relative;
  padding: 0.625rem 0.5rem 0.625rem;
}

/* 点線（各行の下のボーダー） */
.pc-menu__item::after {
  content: "";
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0;
  border-bottom: 0.25rem dotted #cfcfcf;
  opacity: 0.95;
}

/* 最後の行は点線なし */
.pc-menu__item:last-child::after {
  display: none;
}

/* リンクの見た目 */
.pc-menu__link {
  display: inline-block;
  width: 100%;
  color: #3a2a21; /* 濃い茶 */
  text-decoration: none;
  font-size: 1.25rem;
  letter-spacing: 0.14em;
  line-height: 1.6;
  -webkit-transition: color 0.12s ease, -webkit-transform 0.12s ease;
  transition: color 0.12s ease, -webkit-transform 0.12s ease;
  transition: transform 0.12s ease, color 0.12s ease;
  transition: transform 0.12s ease, color 0.12s ease, -webkit-transform 0.12s ease;
}
@media screen and (max-width: 1200px) {
  .pc-menu__link {
    font-size: 1rem;
  }
}

.pc-menu__link:hover {
  color: #ad5c23;
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}