@charset "UTF-8";

/* ======================================================================
 base
====================================================================== */

html {
  font-size: 62.5%;
}

body {
  color: #3B4043;
  font-family: "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  position: relative;
  background-color: #F5F2EC;
}

body.u_body_fixed {
  position: fixed;
  top: 0;
  left: 0;
}

html,
body {
  width: 100%;
  height: 100%;
}

* {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* h1 - h6 */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
}

/* a */

a {
  text-decoration: none;
}

a:link {
  cursor: pointer;
}

a[href^=tel] {
  color: #3B4043;
  pointer-events: none;
}

/* Text Highlight */

/* button */

button {
  display: block;
}

textarea {
  resize: vertical;
}

picture {
  display: block;
  width: 100%;
  height: auto;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #3B4043;
}

/* placeholder */

input:-moz-placeholder-shown,
textarea:-moz-placeholder-shown {
  color: rgba(59, 64, 67, 0.6);
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

input:placeholder-shown,
textarea:placeholder-shown {
  color: rgba(59, 64, 67, 0.6);
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: rgba(59, 64, 67, 0.6);
  opacity: 1;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: rgba(59, 64, 67, 0.6);
  opacity: 1;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

input:focus:-moz-placeholder-shown,
textarea:focus:-moz-placeholder-shown {
  color: rgba(59, 64, 67, 0.6);
}

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

input:focus:placeholder-shown,
textarea:focus:placeholder-shown {
  color: rgba(59, 64, 67, 0.6);
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: rgba(59, 64, 67, 0.6);
  opacity: 1;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: rgba(59, 64, 67, 0.6);
  opacity: 1;
}

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: rgba(59, 64, 67, 0.6);
}

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*
========================================
  スクロールバー
=========================================
*/

/* スクロールバーの幅 */

/* スクロールバーの背景 */

.js-simplebar--compare .simplebar-track.simplebar-horizontal,
.js-simplebar--price .simplebar-track.simplebar-horizontal {
  visibility: visible;
  background: #9F5F40;
  border-radius: 6px;
  height: 14px;
  top: 100%;
}

.js-simplebar--compare .simplebar-scrollbar::before,
.js-simplebar--price .simplebar-scrollbar::before {
  background-color: #fff;
  border-radius: 8px;
  height: 10px;
  opacity: 1 !important;
}

.js-simplebar--staff {
  padding-bottom: 10px;
}

.js-simplebar--staff .simplebar-track.simplebar-horizontal {
  visibility: visible;
  background: #9F5F40;
  border-radius: 6px;
  height: 14px;
  top: 100%;
  pointer-events: all !important;
}

.js-simplebar--staff .simplebar-scrollbar::before {
  background-color: #fff;
  border-radius: 8px;
  height: 10px;
  opacity: 1 !important;
}

.js-simplebar--tags {
  pointer-events: all !important;
  margin-top: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  padding-bottom: 10px;
}

.js-simplebar--tags .simplebar-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 10px;
  -webkit-overflow-scrolling: touch;
}

.js-simplebar--tags .simplebar-content a:first-child {
  margin-left: -10px;
}

.js-simplebar--tags .simplebar-content-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
}

.js-simplebar--case-shop {
  padding-bottom: 10px;
}

.js-simplebar--women-voice {
  padding-bottom: 10px;
}

/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model */

/* ============================================ */

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

/* 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 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

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

/* Lists (definition) */

/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  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 {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  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 {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 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 {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */

/* ============================================ */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

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

/**
 * 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;
}

/**
 * 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 {
  border-style: none;
  padding: 0;
}

/**
 * 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 {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 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 {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 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 {
  vertical-align: top;
  padding: 0;
}

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

/* Misc */

/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

.c-benefits__bg {
  width: 100%;
  padding: clamp(
    50px,
    calc(50px + (100 - 50) * ((100vw - 393px) / (1000 - 393))),
    100px
  ) 0;
  background-color: #F6F6F6;
}

.c-benefits__list {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  gap: clamp(
    40px,
    calc(40px + (40 - 40) * ((100vw - 393px) / (1000 - 393))),
    40px
  );
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-benefits__list-item {
  width: 100%;
  height: clamp(
    325px,
    calc(325px + (345 - 325) * ((100vw - 393px) / (1000 - 393))),
    345px
  );
  border-radius: 12px;
  background-color: #fff;
}

.c-benefits__container {
  width: 94.2307692308%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-benefits__number {
  color: #9F5F40;
  font-size: clamp(
    33px,
    calc(33px + (41 - 33) * ((100vw - 393px) / (1000 - 393))),
    41px
  );
  letter-spacing: 0.06em;
  position: relative;
  text-align: center;
}

.c-benefits__number::after {
  content: "";
  width: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  height: clamp(
    2px,
    calc(2px + (2 - 2) * ((100vw - 393px) / (1000 - 393))),
    2px
  );
  background-color: #9F5F40;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.c-benefits__subtitle {
  font-size: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #9F5F40;
  font-weight: bold;
  margin-top: clamp(
    20px,
    calc(20px + (24 - 20) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  text-align: center;
}

.c-benefits__image--1 {
  width: clamp(
    300px,
    calc(300px + (484 - 300) * ((100vw - 393px) / (1000 - 393))),
    484px
  );
  aspect-ratio: 7.8947368421;
  margin-top: clamp(
    24px,
    calc(24px + (30 - 24) * ((100vw - 393px) / (1000 - 393))),
    30px
  );
}

.c-benefits__image--1 picture {
  height: 100%;
}

.c-benefits__image--1 img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-benefits__image--2 {
  width: clamp(
    114px,
    calc(114px + (180 - 114) * ((100vw - 393px) / (1000 - 393))),
    180px
  );
  aspect-ratio: 2.4255319149;
  margin-top: clamp(
    24px,
    calc(24px + (24 - 24) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
}

.c-benefits__image--2 picture {
  height: 100%;
}

.c-benefits__image--2 img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-benefits__text {
  text-align: center;
  letter-spacing: 0.1em;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  font-weight: 500;
  margin-top: clamp(
    24px,
    calc(24px + (24 - 24) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
}

.c-booking-steps__title {
  font-size: clamp(
    20px,
    calc(20px + (24 - 20) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.c-booking-steps__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto 0;
  gap: 15px;
}

.c-booking-steps__item {
  width: clamp(
    200px,
    calc(200px + (232 - 200) * ((100vw - 393px) / (1000 - 393))),
    232px
  );
}

.c-booking-steps__background {
  -webkit-clip-path: polygon(0% 0%, 100% 0, 100% 75%, 50% 100%, 0 75%);
  clip-path: polygon(0% 0%, 100% 0, 100% 75%, 50% 100%, 0 75%);
  background-color: #fff;
  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;
  height: 160px;
  padding-bottom: 20px;
}

.c-booking-steps__item--1 .c-booking-steps__box {
  aspect-ratio: 104/103;
}

.c-booking-steps__item--1 .c-booking-steps__background {
  background-color: #9F5F40;
}

.c-booking-steps__item--1 .c-booking-steps__background p {
  color: #fff;
}

.c-booking-steps__item--4 .c-booking-steps__background {
  -webkit-clip-path: unset;
  clip-path: unset;
  height: 140px;
  padding-bottom: 0;
}

.c-booking-steps__image {
  display: block;
  margin: 0 auto;
}

.c-booking-steps__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: center;
  color: #9F5F40;
  margin-top: 12px;
}

.c-booking-steps__note {
  text-align: center;
  margin-top: 12px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.5;
}

.c-breadcrumb {
  font-size: 0.7291666667vw;
  letter-spacing: 0.04em;
}

.c-breadcrumb span {
  font-weight: normal;
  vertical-align: middle;
}

.c-breadcrumb span span:first-child {
  color: #9F5F40;
  font-weight: bold;
}

.c-breadcrumb__separate {
  position: relative;
  margin: 0 calc(100vw * 10 / 393);
}

.c-breadcrumb__separate::after {
  content: "";
  display: inline-block;
  width: calc(100vw * 8 / 393);
  height: calc(100vw * 8 / 393);
  border-top: calc(100vw * 2 / 393) solid #707F89;
  border-right: calc(100vw * 2 / 393) solid #707F89;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.c-campaign-banner {
  width: 100%;
}

.c-campaign-banner__container {
  width: auto;
  padding: clamp(
    20px,
    calc(20px + (24 - 20) * ((100vw - 393px) / (1000 - 393))),
    24px
  ) 0;
  border: 2px solid #9F5F40;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 12px;
}

.c-campaign-banner__block {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-campaign-banner__title {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.1em;
  color: #9F5F40;
  padding-left: 45px;
  margin: 0 auto;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-campaign-banner__title::before {
  content: "";
  position: absolute;
  left: 0;
  width: 30px;
  height: 30px;
  background: url("../img/icon-gift.svg") no-repeat center/contain;
}

.c-campaign-banner__list {
  margin-top: 16px;
}

.c-campaign-banner__item {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 8px;
}

.c-campaign-banner__item:first-child {
  margin-top: 0;
}

.c-case .splide {
  margin-top: 50px;
}

.c-case .splide__slide {
  width: 300px !important;
}

.c-case__image-block {
  position: relative;
  width: 100%;
  height: 225px;
  overflow: hidden;
}

.c-case__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  border-radius: 12px 12px 0 0;
}

.c-case__stars {
  position: absolute;
  bottom: 0;
  left: 0;
  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-color: #fff;
  border: 1px solid #E17905;
  border-radius: 0px 12px 0px 0px;
  height: 40px;
  width: 275px;
}

.c-case__stars-label {
  color: #E17905;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  display: inline-block;
  line-height: 1.3;
}

.c-case__stars-value {
  color: #E17905;
  font-size: 18px;
  font-weight: 500;
  margin-right: 9px;
  display: inline-block;
  line-height: 1.3;
  min-width: 25px;
  margin-left: 4px;
  margin-right: 10px;
}

.c-case__stars-icon {
  color: #E17905;
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-case__text-block {
  background-color: #fff;
  border-radius: 0 0 12px 12px;
  width: 100%;
  height: 225px;
}

.c-case .l-table {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding: 37px 0 0 24px;
}

.c-case .l-row {
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: auto;
  margin-top: 8px;
}

.c-case .l-row:first-child {
  margin-top: 0;
}

.c-case .l-th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #9F5F40;
  padding-left: 6px;
  position: relative;
}

.c-case .l-th::before {
  content: "";
  width: 2px;
  height: 12px;
  background-color: #9F5F40;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 1px;
}

.c-case .l-td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-compare table {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border-collapse: separate;
  table-layout: fixed;
  /* 固定レイアウトにする */
  border-spacing: 0 0;
}

.c-compare thead {
  width: 100%;
}

.c-compare thead th {
  width: 200px;
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  height: 70px;
  line-height: 1.3;
  border: 1px solid #fff;
}

.c-compare thead .own {
  background: #E17905;
  font-size: 16px;
}

.c-compare thead .other {
  background: #9F5F40;
  font-size: 14px;
}

.c-compare tbody th,
.c-compare tbody td {
  height: 60px;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #fff;
}

.c-compare tbody th {
  width: 160px;
  background-color: #E7E6E2;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.c-compare tbody td {
  width: 200px;
  letter-spacing: 0.05em;
  background-color: rgba(112, 127, 137, 0.1);
}

.c-compare tbody td.own {
  font-size: 14px;
  color: #9F5F40;
  line-height: 1.4285714286;
  border: 1px solid #fff;
  font-weight: 500;
  background-color: rgba(225, 121, 5, 0.1);
}

.c-compare tbody td.other {
  font-size: 14px;
  color: #3B4043;
  line-height: 1.4285714286;
  border: 1px solid #fff;
  font-weight: 500;
}

.c-compare .sticky-col {
  position: sticky;
  left: 0;
  -webkit-box-shadow: 2px 0 3px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 0 3px rgba(0, 0, 0, 0.1);
  background-color: rgba(112, 127, 137, 0.1);
  background-color: #E7E6E2;
}

.c-compare .cell-radius--left {
  border-radius: 12px 0 0 0;
}

.c-compare .cell-radius--lower-left {
  border-radius: 0 0 0 12px;
}

.c-compare .cell-radius--right {
  border-radius: 0 12px 0 0;
}

.c-compare .cell-radius--lower-right {
  border-radius: 0 0 12px 0;
}

.c-compare .cell-initial {
  background-color: initial;
  border: initial;
  -webkit-box-shadow: initial;
  box-shadow: initial;
  width: 160px;
}

.c-compare small {
  font-size: 12px;
}

.c-compare .note {
  display: block;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: right;
  font-weight: normal;
  line-height: 1.3;
  margin-top: 20px;
}

.c-cta .promise {
  position: relative;
}

.c-cta .promise__label {
  font-size: clamp(
    18px,
    calc(18px + (24 - 18) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  color: #9F5F40;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: absolute;
  top: -25px;
  left: 0;
  width: clamp(
    245px,
    calc(245px + (310 - 245) * ((100vw - 393px) / (1000 - 393))),
    310px
  );
  height: clamp(
    45px,
    calc(45px + (50 - 45) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  border-radius: 12px;
  -webkit-box-shadow: 3px 4px 0 #9F5F40;
  box-shadow: 3px 4px 0 #9F5F40;
  z-index: 1;
  background-color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-cta .promise__image {
  width: clamp(
    300px,
    calc(300px + (400 - 300) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 1.5;
  border-radius: 12px;
  overflow: hidden;
  margin-left: auto;
}

.c-cta .promise picture {
  height: 100%;
}

.c-cta .promise img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.c-cta .promise__description {
  width: 100%;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: clamp(
    40px,
    calc(40px + (60 - 40) * ((100vw - 393px) / (1000 - 393))),
    60px
  );
}

.c-cta .promise__title-box {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  width: 100%;
}

.c-cta .promise__title-box h2 {
  text-align: center;
  font-size: clamp(
    48px,
    calc(48px + (64 - 48) * ((100vw - 393px) / (1000 - 393))),
    64px
  );
  color: rgba(159, 95, 64, 0.4);
  font-weight: 500;
  letter-spacing: 0.1em;
}

.c-cta .promise-list {
  margin-top: clamp(
    24px,
    calc(24px + (24 - 24) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  gap: clamp(
    16px,
    calc(16px + (60 - 16) * ((100vw - 393px) / (1000 - 393))),
    60px
  );
  counter-reset: num;
}

.c-cta .promise-item {
  color: #9F5F40;
  font-size: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-left: 40px;
  position: relative;
  counter-increment: num;
}

.c-cta .promise-item::before {
  content: counter(num);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #9F5F40;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  line-height: 1;
  letter-spacing: initial;
}

.c-cta__container {
  width: 100%;
  height: auto;
  background-color: #D4D4D4;
  -webkit-box-shadow: 3px 3px 1px #E17905;
  box-shadow: 3px 3px 1px #E17905;
  border-radius: 24px;
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  padding: 40px 0;
}

.c-cta__content {
  width: clamp(
    310px,
    calc(310px + (590 - 310) * ((100vw - 393px) / (1000 - 393))),
    590px
  );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 32px;
}

.c-cta__content-inner {
  gap: 30px;
}

.c-cta h3 {
  padding-left: 47px;
  font-size: clamp(
    24px,
    calc(24px + (28 - 24) * ((100vw - 393px) / (1000 - 393))),
    28px
  );
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  white-space: nowrap;
}

.c-cta h3::before {
  content: "";
  width: 31px;
  height: 34px;
  background: url(../img/icon-metro-calendar.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-cta__list {
  width: 210px;
  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;
  gap: 8px;
}

.c-cta__item {
  font-size: clamp(
    18px,
    calc(18px + (20 - 18) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  position: relative;
  padding-left: 28px;
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.c-cta__item::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/icon-checkbox.svg) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
}

.c-cta__unit {
  font-size: 14px !important;
}

.c-cta__note {
  color: #fff;
  font-size: fluid(14, 16);
  font-weight: normal;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.1em;
}

.c-cta__button {
  margin-top: 8px;
}

.c-numbers__bg {
  width: 100%;
  padding: clamp(
    50px,
    calc(50px + (100 - 50) * ((100vw - 393px) / (1000 - 393))),
    100px
  ) 0;
  background-color: #F6F6F6;
}

.c-numbers__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, clamp( 170px, calc(170px + (300 - 170) * ((100vw - 393px) / (1000 - 393))), 300px ));
  grid-template-rows: repeat(3, clamp( 120px, calc(120px + (200 - 120) * ((100vw - 393px) / (1000 - 393))), 200px ));
  gap: 24px;
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-numbers__item {
  border-radius: 12px;
  padding-top: clamp(
    10px,
    calc(10px + (20 - 10) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background-color: #fff;
}

.c-numbers__subtitle {
  font-size: clamp(
    14px,
    calc(14px + (20 - 14) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.c-numbers .performance .number {
  font-size: clamp(
    40px,
    calc(40px + (64 - 40) * ((100vw - 393px) / (1000 - 393))),
    64px
  );
  font-weight: bold;
  letter-spacing: 0.05em;
  display: inline-block;
}

.c-numbers .performance .unit {
  font-size: clamp(
    12px,
    calc(12px + (32 - 12) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
  letter-spacing: 0.05em;
  display: inline-block;
}

.c-numbers .period {
  font-size: clamp(
    12px,
    calc(12px + (14 - 12) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: normal;
  text-align: center;
  margin-top: 10px;
}

.c-numbers .period--sm {
  font-size: clamp(
    10px,
    calc(10px + (14 - 10) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
}

.c-page-mv {
  padding-top: clamp(
    110px,
    calc(110px + (230 - 110) * ((100vw - 393px) / (1000 - 393))),
    230px
  );
}

.c-page-mv__subtitle {
  font-size: clamp(
    18px,
    calc(18px + (28 - 18) * ((100vw - 393px) / (1000 - 393))),
    28px
  );
  white-space: nowrap;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #9F5F40;
  line-height: 1.3;
  position: relative;
}

.c-page-mv__subtitle::after {
  content: "";
  display: inline-block;
  width: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  height: 2px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #9F5F40;
  margin-left: clamp(
    8px,
    calc(8px + (15 - 8) * ((100vw - 393px) / (1000 - 393))),
    15px
  );
}

.c-page-mv__title {
  font-family: "Montserrat", sans-serif;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #E17905;
  line-height: 1.3;
}

.c-pagination {
  text-align: center;
  margin-top: calc(100vw * 55 / 393);
}

.c-pagination .page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  list-style: none;
  gap: calc(100vw * 30 / 393);
  padding: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pagination .page-numbers li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100vw * 30 / 393);
  height: calc(100vw * 30 / 393);
  background: #fff;
  font-weight: 500;
  border: 1px solid #9F5F40;
  font-size: calc(100vw * 16 / 393);
  font-family: "oswald", sans-serif;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.c-pagination .page-numbers li a:hover {
  opacity: 0.5;
}

.c-pagination .page-numbers li span.current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100vw * 30 / 393);
  height: calc(100vw * 30 / 393);
  font-weight: 500;
  font-size: calc(100vw * 16 / 393);
  font-family: "oswald", sans-serif;
  background: #9F5F40;
  color: #fff;
}

.c-pagination .page-numbers li span.dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100vw * 30 / 393);
  height: calc(100vw * 30 / 393);
  font-weight: 500;
  font-size: calc(100vw * 16 / 393);
  color: #9F5F40;
}

.c-pagination .page-numbers li .prev {
  display: inline-block;
  width: calc(100vw * 30 / 393);
  height: calc(100vw * 30 / 393);
  background: url(../img/icon-btn-less-than.svg) no-repeat center/cover;
  border-radius: 50%;
  border: none;
}

.c-pagination .page-numbers li .next {
  display: inline-block;
  width: calc(100vw * 30 / 393);
  height: calc(100vw * 30 / 393);
  background: url(../img/icon-btn-greater-than.svg) no-repeat center/cover;
  border-radius: 50%;
  border: none;
}

.c-reasons__list {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) !important;
}

.c-reasons__item {
  margin-top: 50px;
}

.c-reasons__item:first-child {
  margin-top: 0;
}

.c-reasons__item-container {
  gap: 40px;
}

.c-reasons__title {
  font-size: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.75;
  background-color: #9F5F40;
  padding: 10px 24px;
  border-radius: 12px;
  display: inline-block;
}

.c-reasons__description {
  margin-top: 32px;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.c-reasons__image {
  width: 100%;
  max-width: clamp(
    360px,
    calc(360px + (400 - 360) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 1.6143497758;
  border-radius: 16px;
  margin-inline: auto;
  -webkit-box-shadow: 3px 3px 0px #9F5F40;
  box-shadow: 3px 3px 0px #9F5F40;
}

.c-reasons__image picture {
  height: 100%;
}

.c-reasons__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
  border-radius: 16px;
}

.c-staff-slider .splide__track {
  padding-bottom: 3px;
}

.c-staff-slider__item {
  width: 220px !important;
  height: 155px;
  border-radius: 12px;
  -webkit-box-shadow: 3px 3px 0px #9F5F40;
  box-shadow: 3px 3px 0px #9F5F40;
}

.c-staff-slider__image {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.c-staff-slider__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

.c-staff__list {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}

.c-staff__item {
  width: 100%;
  max-width: clamp(
    365px,
    calc(365px + (410 - 365) * ((100vw - 393px) / (1000 - 393))),
    410px
  );
  height: auto;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 12px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-staff__image {
  width: 100%;
  aspect-ratio: 364/231;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.c-staff__image img {
  border-radius: 12px 12px 0 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.c-staff__info {
  padding-top: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: clamp(
    200px,
    calc(200px + (220 - 200) * ((100vw - 393px) / (1000 - 393))),
    220px
  );
  background-color: #fff;
  border-radius: 0 0 12px 12px;
}

.c-staff__info-inner {
  width: clamp(
    330px,
    calc(330px + (370 - 330) * ((100vw - 393px) / (1000 - 393))),
    370px
  );
}

.c-staff__name {
  display: block;
  font-size: clamp(
    16px,
    calc(16px + (18 - 16) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.3;
  color: #9F5F40;
}

.c-staff__position {
  display: block;
  font-size: 12px;
  color: #E17905;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 4px;
}

.c-staff__comment {
  font-size: clamp(
    12px,
    calc(12px + (14 - 12) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  margin-top: clamp(
    8px,
    calc(8px + (12 - 8) * ((100vw - 393px) / (1000 - 393))),
    12px
  );
  line-height: 2;
  letter-spacing: 0.1em;
}

.c-staff__button {
  margin: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) auto 0;
}

.c-stars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

.c-stars .stars {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.c-stars .stars i {
  color: #B1B1B1;
}

.c-stars .stars i.active {
  color: #E17905;
}

.c-stars .stars i.half-active {
  position: relative;
}

.c-stars .stars i.half-active::after {
  content: "\f089";
  position: absolute;
  left: 0;
  width: 50%;
  overflow: hidden;
  color: #E17905;
}

.for-women-voice .c-voice-card__stars {
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.for-women-voice .c-voice-card__stars-value {
  color: #E17905;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  min-width: 30px;
}

.for-women-voice .c-voice-card .c-stars .rating .stars {
  font-size: 22px;
}

.c-btn__return {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-left: 20px;
  text-decoration: underline;
  position: relative;
}

.c-btn__return::before {
  content: "";
  position: absolute;
  width: 8.3px;
  height: 13.7px;
  background: url("../img/icon-btn-less-than.svg") no-repeat center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-btn__return:hover {
  opacity: 0.8;
}

.c-btn__primary {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 14px 22px;
  border-radius: 22px;
  background-color: #fff;
  color: #9F5F40;
  border: 1px solid #9F5F40;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
}

.c-btn__primary:hover {
  background-color: rgba(159, 95, 64, 0.4);
  color: #fff;
  border: 1px solid #fff;
}

.c-btn__primary-text {
  font-size: clamp(
    16px,
    calc(16px + (16 - 16) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  font-weight: bold;
}

.c-btn__primary-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: -12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-btn__primary-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #9F5F40;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-btn__primary:hover .c-btn__primary-circle {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}

.c-btn__primary-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-btn__primary-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
}

.c-btn__primary-arrow--static {
  opacity: 1;
}

.c-btn__primary-arrow--slide {
  opacity: 0;
  -webkit-transform: translate(-150%, -50%);
  transform: translate(-150%, -50%);
}

.c-btn__primary:hover .c-btn__primary-arrow--static {
  opacity: 0;
  -webkit-transform: translate(20px, -50%);
  transform: translate(20px, -50%);
}

.c-btn__primary:hover .c-btn__primary-arrow--slide {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-btn__view-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 14px 22px;
  border-radius: 22px;
  background-color: #fff;
  color: #9F5F40;
  border: 1px solid #9F5F40;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  font-size: clamp(
    16px,
    calc(16px + (16 - 16) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  font-weight: bold;
  margin-top: clamp(
    32px,
    calc(32px + (64 - 32) * ((100vw - 393px) / (1000 - 393))),
    64px
  );
}

.c-btn__view-more:hover {
  background-color: rgba(159, 95, 64, 0.4);
  color: #fff;
  border: 1px solid #fff;
}

.c-btn__view-more::after {
  display: inline-block;
  content: "";
  width: 24px;
  height: 24px;
  background: url("../img/icon-btn-cross.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -12px;
}

.c-btn__cta {
  width: 284px;
  height: 63px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 33px;
  background-color: #fff;
  border: 1px solid #E17905;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
}

.c-btn__cta:hover {
  background-color: #E17905;
  color: #fff;
  border: 1px solid #fff;
}

.c-btn__cta-text {
  color: #E17905;
  font-size: clamp(
    18px,
    calc(18px + (20 - 18) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  font-weight: bold;
}

.c-btn__cta:hover .c-btn__cta-text {
  color: #fff;
}

.c-btn__cta-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  right: -14px;
}

.c-btn__cta-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #E17905;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 1px solid #E17905;
}

.c-btn__cta:hover .c-btn__cta-circle {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
  border: 1px solid #fff;
  background-color: #fff;
}

.c-btn__cta-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-btn__cta-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
}

.c-btn__cta-arrow--static {
  opacity: 1;
}

.c-btn__cta-arrow--slide {
  opacity: 0;
  -webkit-transform: translate(-150%, -50%);
  transform: translate(-150%, -50%);
}

.c-btn__cta:hover .c-btn__cta-arrow {
  background-color: #E17905;
}

.c-btn__cta:hover .c-btn__cta-arrow::after {
  border-top: 2px solid #E17905;
  border-right: 2px solid #E17905;
}

.c-btn__cta:hover .c-btn__cta-arrow--static {
  opacity: 0;
  -webkit-transform: translate(20px, -50%);
  transform: translate(20px, -50%);
}

.c-btn__cta:hover .c-btn__cta-arrow--slide {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-card__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  gap: 24px 10px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-desc-area {
  margin-top: 80px;
}

.c-desc-area p {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.c-dummy {
  position: relative;
  background-color: black;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23aaaaaa' fill-opacity='0.35'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.c-dummy::after {
  content: "DUMMY";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #F5F2EC;
  font-size: 1.09375vw;
  font-weight: bold;
}

.c-heading__subtitle {
  font-size: clamp(
    18px,
    calc(18px + (28 - 18) * ((100vw - 393px) / (1000 - 393))),
    28px
  );
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #9F5F40;
  line-height: 1.3;
  position: relative;
  white-space: nowrap;
}

.c-heading__subtitle::after {
  content: "";
  display: inline-block;
  width: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  height: 2px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #9F5F40;
  margin-left: clamp(
    8px,
    calc(8px + (15 - 8) * ((100vw - 393px) / (1000 - 393))),
    15px
  );
}

.c-heading__title {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(
    40px,
    calc(40px + (68 - 40) * ((100vw - 393px) / (1000 - 393))),
    68px
  );
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #E17905;
  line-height: 1;
  margin-top: clamp(
    8px,
    calc(8px + (15 - 8) * ((100vw - 393px) / (1000 - 393))),
    15px
  );
}

.c-header-area .l-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto auto;
  grid-template-areas: "item-1" "item-2" "item-3" "item-4";
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
}

.c-header-area .l-grid__item--1 {
  grid-area: item-1;
}

.c-header-area .l-grid__item--2 {
  grid-area: item-2;
}

.c-header-area .l-grid__item--3 {
  grid-area: item-3;
}

.c-header-area .l-grid__item--4 {
  grid-area: item-4;
}

.c-header-area__image {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (400 - 364) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 364/242;
  -o-object-fit: cover;
  object-fit: cover;
  margin-inline: auto;
  border-radius: 12px;
  overflow: hidden;
}

.c-header-area__image picture,
.c-header-area__image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.c-header-area__image--about {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (400 - 364) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 364/182;
  margin-inline: auto;
  border-radius: 12px;
  overflow: hidden;
  background-color: #fff;
  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;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.c-header-area__image--about figure {
  width: 100%;
  max-width: clamp(
    258px,
    calc(258px + (284 - 258) * ((100vw - 393px) / (1000 - 393))),
    284px
  );
  aspect-ratio: 258/150;
}

.c-header-area__image--about picture,
.c-header-area__image--about img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-header-area__faq {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (630 - 364) * ((100vw - 393px) / (1000 - 393))),
    630px
  );
  height: auto;
  margin-inline: auto;
}

.c-header-area__lead {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

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

.c-heading--sub__box {
  height: auto;
  padding: 16px 0;
  color: #9F5F40;
  text-align: center;
  position: relative;
}

.c-heading--sub__box::before,
.c-heading--sub__box::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 200px;
  border-top: 4px solid transparent;
  -webkit-border-image: url("../img/border.png") 10 stretch;
  -o-border-image: url("../img/border.png") 10 stretch;
  border-image: url("../img/border.png") 10 stretch;
}

.c-heading--sub__box::before {
  top: 0;
}

.c-heading--sub__box::after {
  bottom: 0;
  border-top: none;
  border-bottom: 4px solid transparent;
}

.c-heading--sub__subtitle {
  font-size: clamp(
    14px,
    calc(14px + (18 - 14) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  letter-spacing: 0.12em;
  font-weight: 500;
  line-height: 1.3;
}

.c-heading--sub__title {
  font-size: clamp(
    20px,
    calc(20px + (40 - 20) * ((100vw - 393px) / (1000 - 393))),
    40px
  );
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 5px;
  line-height: 1.3;
}

.c-image-slider__item {
  width: clamp(
    200px,
    calc(200px + (350 - 200) * ((100vw - 393px) / (1000 - 393))),
    350px
  ) !important;
  aspect-ratio: 200/133;
}

.c-image-slider__image {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.c-image-slider__image picture {
  height: 100%;
}

.c-image-slider__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

/*========= ローディング画面のためのCSS ===============*/

#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  z-index: 9999999;
  text-align: center;
  color: #fff;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/

.splashbg {
  display: none;
}

/*bodyにappearクラスがついたら出現*/

body.appear .splashbg {
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  background-color: #333;
  /*伸びる背景色の設定*/
  -webkit-animation-name: PageAnime;
  animation-name: PageAnime;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  50% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  50.001% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }

  100% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }

  50% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }

  50.001% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }

  100% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}

/*画面遷移の後現れるコンテンツ設定*/

#container {
  opacity: 0;
  /*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/

body.appear #container {
  -webkit-animation-name: PageAnimeAppear;
  animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.c-scroll {
  display: grid;
  grid-auto-flow: column;
  /* 列方向に自動配置 */
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
  /* 列の幅を内容に合わせる */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  row-gap: 0;
}

.c-voice-card__item-inner {
  position: relative;
}

.c-voice-card__avatar {
  width: clamp(
    80px,
    calc(80px + (100 - 80) * ((100vw - 393px) / (1000 - 393))),
    100px
  );
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  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;
  position: absolute;
  right: 0;
  top: -15px;
  overflow: hidden;
}

.c-voice-card__avatar img {
  width: clamp(
    70px,
    calc(70px + (88 - 70) * ((100vw - 393px) / (1000 - 393))),
    88px
  );
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

.c-voice-card__voice-title {
  width: clamp(
    265px,
    calc(265px + (550 - 265) * ((100vw - 393px) / (1000 - 393))),
    550px
  );
  min-height: 50px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.c-voice-card__personal {
  font-size: clamp(
    12px,
    calc(12px + (14 - 12) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  line-height: 1.3;
  margin-top: 10px;
  font-weight: 500;
}

.c-voice-card__stars {
  margin-top: clamp(
    10px,
    calc(10px + (24 - 10) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-voice-card__stars-value {
  color: #E17905;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  min-width: 30px;
}

.c-voice-card__rating {
  margin-top: 10px;
  grid-template-columns: repeat(2, minmax(-webkit-max-content, -webkit-max-content));
  grid-template-columns: repeat(2, minmax(max-content, max-content));
  grid-template-rows: repeat(2, 20px);
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  row-gap: 8px;
}

.c-voice-card__rating-item {
  font-size: 14px;
  line-height: 1.3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
}

.c-voice-card__comment {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: normal;
  margin-top: 16px;
}

.c-voice-card__table {
  margin-top: 15px;
}

.c-voice-card__table .l-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
  margin-top: 8px;
}

.c-voice-card__table .l-row:first-child {
  margin-top: 0;
}

.c-voice-card__table .l-th,
.c-voice-card__table .l-td {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.c-voice-card__table .l-th {
  font-weight: 500;
  color: #E17905;
  padding-left: 6px;
  position: relative;
}

.c-voice-card__table .l-th::before {
  content: "";
  width: 2px;
  height: 12px;
  background-color: #E17905;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 1px;
}

.u-ff-oswald {
  font-family: "oswald", sans-serif;
}

.u-ff-Zen-Kaku-Gothic-New {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.u-ff-Zen-Old-Mincho {
  font-family: "zen-old-mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.u-ff-Montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.u-ff-Segoe-UI {
  font-family: "segoe-ui", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.u-ff-Josefin-Sans {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
}

.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

.u-pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-sp-flex {
  display: none !important;
}

.u-mt--mv {
  margin-top: clamp(
    80px,
    calc(80px + (80 - 80) * ((100vw - 393px) / (1000 - 393))),
    80px
  );
}

.u-mt--section {
  margin-top: clamp(
    120px,
    calc(120px + (160 - 120) * ((100vw - 393px) / (1000 - 393))),
    160px
  );
}

.u-text-brown {
  color: #9F5F40;
}

.u-text-orange {
  color: #E17905;
}

.u-highlight-orange-round {
  position: relative;
  display: inline;
}

.u-highlight-orange-round::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.15em;
  left: 0;
  z-index: 2;
  display: inline-block;
  width: calc(100% - 0.5em);
  height: 0.2em;
  background-color: rgba(225, 121, 5, 0.5);
  border-radius: 5px;
}

.u-highlight-orange {
  display: inline;
  /* 行内要素にする */
  padding: 0 0.15em;
  /* 端まで色を伸ばしたいなら少し余白 */
  -webkit-box-decoration-break: clone;
  /* Safari対応 */
  box-decoration-break: clone;
  /* 行ごとに背景を“複製”して描画 */
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0, rgba(225, 121, 5, 0.5)));
  background: -webkit-linear-gradient(transparent calc(80% - 0.1em), rgba(225, 121, 5, 0.5) 0);
  background: linear-gradient(transparent calc(80% - 0.1em), rgba(225, 121, 5, 0.5) 0);
}

.u-highlight-yellow {
  display: inline;
  /* 行内要素にする */
  padding: 0 0.15em;
  /* 端まで色を伸ばしたいなら少し余白 */
  -webkit-box-decoration-break: clone;
  /* Safari対応 */
  box-decoration-break: clone;
  /* 行ごとに背景を“複製”して描画 */
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0, rgba(243, 184, 10, 0.5)));
  background: -webkit-linear-gradient(transparent calc(80% - 0.1em), rgba(243, 184, 10, 0.5) 0);
  background: linear-gradient(transparent calc(80% - 0.1em), rgba(243, 184, 10, 0.5) 0);
}

.u-underline-orange {
  text-decoration: underline;
  text-decoration-color: rgba(225, 121, 5, 0.55);
  text-decoration-thickness: 0.2em;
  text-underline-offset: -0.1em;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  position: relative;
}

.u-underline-yellow {
  text-decoration: underline;
  text-decoration-color: rgba(243, 184, 10, 0.5);
  text-decoration-thickness: 0.2em;
  text-underline-offset: -0.1em;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  position: relative;
}

.u-underline-yellow-round {
  position: relative;
}

.u-underline-yellow-round::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 5px;
  z-index: -1;
  width: 105%;
  height: 5px;
  background-color: rgba(243, 184, 10, 0.6);
  border-radius: 5px;
}

.u-bold {
  font-weight: bold;
}

.u-z--bg {
  z-index: -1;
}

.u-z--base {
  z-index: 0;
}

.u-z--content {
  z-index: 1;
}

.u-z--float {
  z-index: 700;
}

.u-z--menu {
  z-index: 800;
}

.u-z--header {
  z-index: 900;
}

.u-z--overlay {
  z-index: 1000;
}

/* 初期状態（非表示） */

.js-animate {
  opacity: 0;
  -webkit-transform: translateY(24px);
  transform: translateY(24px);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
  will-change: opacity, transform;
}

/* フェードアップ（デフォルト） */

.js-animate.is-inview[data-animate=fade-up],
.js-animate.is-inview:not([data-animate]) {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* 左から */

.js-animate[data-animate=fade-left] {
  -webkit-transform: translateX(-24px);
  transform: translateX(-24px);
}

.js-animate.is-inview[data-animate=fade-left] {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/* 右から */

.js-animate[data-animate=fade-right] {
  -webkit-transform: translateX(24px);
  transform: translateX(24px);
}

.js-animate.is-inview[data-animate=fade-right] {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/* ほんの少しディレイを付ける場合 */

.js-animate[data-delay="100"] {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.js-animate[data-delay="200"] {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.js-animate[data-delay="300"] {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.js-animate[data-delay="400"] {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.js-animate[data-delay="500"] {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.js-animate[data-delay="600"] {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.js-animate[data-delay="700"] {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.js-animate[data-delay="800"] {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.js-animate[data-delay="900"] {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.js-animate[data-delay="1000"] {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.js-animate[data-delay="1100"] {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.js-animate[data-delay="1200"] {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.l-header {
  width: 100%;
  height: 70px;
  border-radius: 0 0 18px 18px;
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.l-header._fixed {
  position: fixed;
  top: 0;
  left: 0;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  padding: 0 15px 0 10px;
}

.l-header__logo {
  width: 220px;
  aspect-ratio: 220/54;
}

.l-header__logo picture {
  height: 100%;
}

.l-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

/*==================================================
　ナビゲーション切り替え
===================================*/

.l-header__nav-pc {
  display: none;
}

.l-header__nav-sp {
  display: block;
}

/*==================================================
　pc nav
===================================*/

.l-nav-pc {
  height: 105px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.l-nav-pc__menu--primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}

.l-nav-pc__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 48px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  border-radius: 6px;
}

.l-nav-pc__link--women {
  border: 1px solid #F88A8A;
  width: 250px;
}

.l-nav-pc__link--women .text {
  color: #F88A8A;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 32px;
}

.l-nav-pc__link--women .text::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 21.5px;
  -webkit-mask: url(../img/icon-heart.svg) no-repeat center/contain;
  mask: url(../img/icon-heart.svg) no-repeat center/contain;
  background: currentColor;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-pc__link--women:hover {
  background-color: #F88A8A;
}

.l-nav-pc__link--women:hover .text {
  color: #fff;
}

.l-nav-pc__link--corporate {
  border: 1px solid #707F89;
  width: 200px;
}

.l-nav-pc__link--corporate .text {
  color: #707F89;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 32px;
}

.l-nav-pc__link--corporate .text::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 29px;
  background: url(../img/icon-network.svg) no-repeat center/contain;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-pc__link--corporate:hover {
  background-color: #707F89;
}

.l-nav-pc__link--corporate:hover .text {
  color: #fff;
}

.l-nav-pc__link--about {
  border: 1px solid #9F5F40;
  width: 180px;
}

.l-nav-pc__link--about .text {
  color: #9F5F40;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1428571429;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 30px;
}

.l-nav-pc__link--about .text::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 35px;
  -webkit-mask: url(../img/icon-wakaba.svg) no-repeat center/contain;
  mask: url(../img/icon-wakaba.svg) no-repeat center/contain;
  background: currentColor;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-pc__link--about:hover {
  background-color: #9F5F40;
}

.l-nav-pc__link--about:hover .text {
  color: #fff;
}

.l-nav-pc__link--booking {
  width: 230px;
  background-color: #E17905;
}

.l-nav-pc__link--booking .text {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: normal;
  position: relative;
  padding-left: 30px;
}

.l-nav-pc__link--booking .text::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 34.6px;
  -webkit-mask: url(../img/icon-phone.svg) no-repeat center/contain;
  mask: url(../img/icon-phone.svg) no-repeat center/contain;
  background: currentColor;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-pc__link--booking:hover {
  background-color: #fff;
  border: 1px solid #E17905;
}

.l-nav-pc__link--booking:hover .text {
  color: #E17905;
}

.l-nav-pc__booking-comment {
  display: block;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #E17905;
  font-weight: 500;
  text-align: right;
}

.l-nav-pc__menu--secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 920px;
  gap: 24px;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.l-nav-pc__menu--secondary li a {
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
  line-height: 1.3;
}

.l-nav-pc__menu--secondary li a::after {
  position: absolute;
  left: 0;
  bottom: -2px;
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

.l-nav-pc__menu--secondary li a:hover {
  color: #000;
}

.l-nav-pc__menu--secondary li a:hover::after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.p-reason .l-nav-pc__link--reason {
  color: #9F5F40;
}

.p-service-menu .l-nav-pc__link--service-menu {
  color: #9F5F40;
}

.p-price .l-nav-pc__link--price {
  color: #9F5F40;
}

.p-flow .l-nav-pc__link--flow {
  color: #9F5F40;
}

.p-case .l-nav-pc__link--case {
  color: #9F5F40;
}

.p-shop-access .l-nav-pc__link--shop-access {
  color: #9F5F40;
}

.p-staff .l-nav-pc__link--staff {
  color: #9F5F40;
}

.p-faq .l-nav-pc__link--faq {
  color: #9F5F40;
}

/*
========================================
  グロナビ SP
=========================================
*/

.l-header.open {
  width: calc(100% - clamp(
    30px,
    calc(30px + (60 - 30) * ((100vw - 393px) / (1000 - 393))),
    60px
  ));
  height: 54px;
  top: 8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 24px 24px 0 0;
  -webkit-box-shadow: initial;
  box-shadow: initial;
}

.l-nav-sp {
  width: 100%;
  height: auto;
  max-height: calc(100dvh - 72px);
  background-color: #fff;
  position: absolute;
  top: 100%;
  left: 0;
  border-radius: 0 0 24px 24px;
  padding: 28px 0 32px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
  -webkit-transform-origin: top;
  transform-origin: top;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transition: opacity 0.35s ease, -webkit-transform 0.35s ease;
  transition: opacity 0.35s ease, -webkit-transform 0.35s ease;
  transition: transform 0.35s ease, opacity 0.35s ease;
  transition: transform 0.35s ease, opacity 0.35s ease, -webkit-transform 0.35s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  pointer-events: none;
}

.l-nav-sp.open {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  opacity: 1;
  pointer-events: auto;
}

.l-nav-sp__menu--primary {
  gap: 24px;
}

.l-nav-sp__menu--primary .menu-item a {
  color: #9F5F40;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
  padding-left: 16px;
  white-space: nowrap;
}

.l-nav-sp__menu--primary .menu-item a:before {
  content: "";
  width: 2px;
  height: 2px;
  background-color: #9F5F40;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-sp__menu--secondary {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-nav-sp__link--women {
  width: 230px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 48px;
  border-radius: 6px;
  border: 1px solid #F88A8A;
}

.l-nav-sp__link--women .text {
  color: #F88A8A;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: normal;
  position: relative;
  padding-left: 30px;
  height: 19.5px;
}

.l-nav-sp__link--women .text::before {
  content: "";
  position: absolute;
  width: 23.6px;
  height: 19.5px;
  -webkit-mask: url(../img/icon-heart.svg) no-repeat center/contain;
  mask: url(../img/icon-heart.svg) no-repeat center/contain;
  background: currentColor;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-sp__link--booking {
  width: 230px;
  background-color: #E17905;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 48px;
  border-radius: 6px;
  margin-top: 12px;
}

.l-nav-sp__link--booking .text {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: normal;
  position: relative;
  padding-left: 30px;
}

.l-nav-sp__link--booking .text::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 34.6px;
  -webkit-mask: url(../img/icon-phone.svg) no-repeat center/contain;
  mask: url(../img/icon-phone.svg) no-repeat center/contain;
  background: currentColor;
  display: inline-block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.l-nav-sp__booking-comment {
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #E17905;
  margin-top: 8px;
  text-align: center;
  font-weight: 500;
}

.l-nav-sp__image-guarantee {
  width: 230px;
  height: auto;
  display: block;
  border-radius: 12px;
  margin-top: 18px;
}

.l-nav-sp__corporate {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #707F89;
  line-height: 1.3;
  margin-top: 24px;
}

.l-nav-sp__privacy-policy {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #707F89;
  line-height: 1.3;
  margin-top: 16px;
}

/*=============================================
ボタンのみ 
===================================*/

.l-header__menu-btn {
  width: 50px;
  height: 50px;
  position: relative;
}

.l-header__menu-btn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  background: #9F5F40;
}

.l-header__menu-btn span:nth-of-type(1),
.l-header__menu-btn span:nth-of-type(2) {
  width: 35px;
}

.l-header__menu-btn span:nth-of-type(1) {
  top: 12px;
}

.l-header__menu-btn span:nth-of-type(2) {
  top: 23px;
}

.l-header__menu-btn span:nth-of-type(3) {
  width: 22px;
  top: 34px;
}

.l-header__menu-btn.active span {
  left: 7px;
}

.l-header__menu-btn.active span:nth-of-type(1) {
  top: 11px;
  -webkit-transform: translateY(11px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}

.l-header__menu-btn.active span:nth-of-type(2) {
  opacity: 0;
}

.l-header__menu-btn.active span:nth-of-type(3) {
  width: 35px;
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

.l-footer {
  width: 100%;
  height: auto;
  background-color: #9F5F40;
  color: #fff;
  border-radius: 60px 60px 0 0;
  padding: 80px 0 15px 0;
}

.l-footer__hr {
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin: 16px 0 8px 0;
}

.l-footer__copyright {
  width: auto;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.3;
}

.l-footer__flex {
  gap: 64px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.l-footer .l-grid {
  margin-inline: auto;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: repeat(5, auto);
  gap: 16px 64px;
  grid-template-areas: "item-1 item-2" "item-3 item-4" "item-5 item-6" "item-7 item-8" "item-9 item-9";
}

.l-footer .l-grid__item--1 {
  grid-area: item-1;
}

.l-footer .l-grid__item--2 {
  grid-area: item-2;
}

.l-footer .l-grid__item--3 {
  grid-area: item-3;
}

.l-footer .l-grid__item--4 {
  grid-area: item-4;
}

.l-footer .l-grid__item--5 {
  grid-area: item-5;
}

.l-footer .l-grid__item--6 {
  grid-area: item-6;
}

.l-footer .l-grid__item--7 {
  grid-area: item-7;
}

.l-footer .l-grid__item--8 {
  grid-area: item-8;
}

.l-footer .l-grid__item--9 {
  grid-area: item-9;
  justify-self: center;
  margin-top: 16px;
}

.l-footer-nav__menu--primary a {
  color: #fff;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.l-footer-nav__menu--primary a:hover {
  color: #F88A8A;
}

.l-footer-nav__menu--secondary {
  margin-top: clamp(
    40px,
    calc(40px + (80 - 40) * ((100vw - 393px) / (1000 - 393))),
    80px
  );
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-footer-nav__menu--secondary-item {
  font-size: clamp(
    14px,
    calc(14px + (14 - 14) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  letter-spacing: 0.05em;
  font-weight: normal;
  line-height: 1.3;
}

.l-footer-nav__menu--secondary-item:hover {
  color: #F88A8A;
}

.l-footer-nav__menu--secondary-item:first-child {
  padding-right: 24px;
  border-right: 1px solid #fff;
}

.l-footer-nav__menu--secondary-item:last-child {
  padding-left: 24px;
}

.l-footer__info {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
}

.l-footer__logo {
  width: 107px;
  height: 62px;
}

.l-footer__logo picture {
  height: 100%;
}

.l-footer__logo img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.l-footer__company-name {
  font-size: clamp(
    18px,
    calc(18px + (20 - 18) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  font-weight: bold;
}

.l-footer__company-address {
  font-size: clamp(
    16px,
    calc(16px + (16 - 16) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.25;
  margin-top: clamp(
    16px,
    calc(16px + (16 - 16) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  font-weight: normal;
}

.l-footer__company-tel {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top: 8px;
  font-weight: normal;
}

.l-footer__company-tel small {
  font-size: 14px;
}

/*
========================================
  inner（テーマガイドライン）
=========================================
*/

.l-inner {
  width: calc(100% - clamp(
    30px,
    calc(30px + (60 - 30) * ((100vw - 393px) / (1000 - 393))),
    60px
  ));
  margin: 0 auto;
}

.l-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-flex--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.l-flex--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-flex--space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.l-flex--align-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-flex--justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l-flex--block-sp {
  display: block;
}

.l-flex--column-sp {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.l-grid {
  display: grid;
}

.about-overview__bg {
  width: 100%;
  background: url("../img/top-about-bg-sp.png") no-repeat center/cover;
  background-color: #F6F6F6;
  position: relative;
  padding-top: 50px;
}

.about-overview__container {
  width: 94.2465753425%;
}

.about-overview__title {
  font-size: clamp(
    17px,
    calc(17px + (24 - 17) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  text-align: center;
  font-weight: bold;
  color: #E17905;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.about-overview__description {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.about-overview__description--1 {
  margin-top: 30px;
}

.about-overview__description--2 {
  width: 58.1395348837%;
  float: left;
  margin-top: 28px;
}

.about-overview__illust {
  width: 100%;
  max-width: clamp(
    130px,
    calc(130px + (176 - 130) * ((100vw - 393px) / (1000 - 393))),
    176px
  );
  aspect-ratio: 0.6074766355;
  height: auto;
  float: right;
}

.about-overview__illust picture {
  height: 100%;
}

.about-overview__illust img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.about-3points ul {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.about-3points li {
  margin-top: 50px;
}

.about-3points li:first-child {
  margin-top: 0;
}

.about-3points .l-flex {
  gap: 40px;
}

.about-3points .label {
  width: 320px;
  height: 34px;
  padding-left: 10px;
}

.about-3points .label picture {
  height: 100%;
}

.about-3points .label img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.about-3points .title {
  font-size: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  font-weight: bold;
  margin-top: clamp(
    24px,
    calc(24px + (24 - 24) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
  padding-left: 10px;
}

.about-3points .description {
  width: 100%;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  margin-top: clamp(
    32px,
    calc(32px + (32 - 32) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.about-3points .image {
  width: 100%;
  max-width: clamp(
    320px,
    calc(320px + (400 - 320) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 1.5023474178;
  -ms-flex-item-align: end;
  align-self: flex-end;
  border-radius: 12px;
  overflow: hidden;
}

.about-3points .image picture {
  height: 100%;
}

.about-3points .image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.booking-desc-area__container {
  gap: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.booking-desc-area .guarantee {
  display: block;
  width: clamp(
    250px,
    calc(250px + (358 - 250) * ((100vw - 393px) / (1000 - 393))),
    358px
  );
  aspect-ratio: 250/88;
  border-radius: 12px;
  overflow: hidden;
}

.booking-desc-area .guarantee img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 12px;
}

.booking-main__bg {
  background-color: #F6F6F6;
  padding: 20px 0;
}

.booking-main__return {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) auto 0;
}

.js-booking__wrapper.active {
  max-width: initial;
}

.js-booking__bg.active {
  padding: 260px 0 130px 0;
}

.js-booking__insert-phone {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 8px;
}

.js-booking__insert-terms {
  font-size: 1.2rem;
  margin-top: 32px;
  margin-bottom: 32px;
  text-align: center;
  font-weight: normal;
  line-height: 1.3;
}

.js-booking__insert-terms a {
  text-decoration: underline;
}

.booking-cancel-overview__text {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2;
  font-weight: 500;
}

.booking-cancel-main__bg {
  background-color: #F6F6F6;
  margin-bottom: 220px;
}

/*
========================================
  booking-package
=========================================
*/

#booking-package {
  background-color: #F6F6F6 !important;
}

#booking-package .sun {
  background-color: #f6d9de;
}

#booking-package .sat {
  background-color: #a9d7dc;
}

#booking-package_calendarPage {
  background-color: #F6F6F6 !important;
}

#booking-package_calendarPage .calendarHeader label {
  color: #9F5F40;
  font-size: 1.5em;
  font-weight: 500;
}

#booking-package_calendarPage .calendarHeader .calendarData {
  color: #9F5F40;
  font-size: 30px;
  padding-bottom: 0.5em;
  font-weight: 500;
}

#booking-package_calendarPage .calendarHeader .arrowFont {
  font-size: 1.5em !important;
  margin-top: -5px;
}

#booking-package_calendarPage .calendar {
  margin-bottom: 0;
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

#booking-package_calendarPage .calendar .pastDay,
#booking-package_calendarPage .calendar .closingDay {
  background-color: #9F5F40 !important;
  border-color: #fff;
  color: white;
}

#booking-package_calendarPage .calendar .available_day .dateField {
  position: relative;
}

#booking-package_calendarPage .calendar .available_day .dateField::after {
  content: "";
  height: 15px;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%27%E3%82%B3%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E5%86%86%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27512%27%20height%3D%27512%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20id%3D%27%E3%83%91%E3%82%B9_4503%27%20data-name%3D%27%E3%83%91%E3%82%B9%204503%27%20d%3D%27M256%2C64c105.875%2C0%2C192%2C86.125%2C192%2C192S361.875%2C448%2C256%2C448C150.141%2C448%2C64%2C361.875%2C64%2C256S150.141%2C64%2C256%2C64m0-64C114.609%2C0%2C0%2C114.625%2C0%2C256%2C0%2C397.391%2C114.609%2C512%2C256%2C512c141.375%2C0%2C256-114.609%2C256-256C512%2C114.625%2C397.375%2C0%2C256%2C0Z%27%20fill%3D%27%239F5F40%27%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
}

#booking-package_schedulePage {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

#booking-package_schedulePage .selectedDate {
  background: #F6F6F6 !important;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}

#booking-package_schedulePage .selectable_day_slot.closed {
  background: #ccc;
  color: #fff;
}

#booking-package_schedulePage .selectable_day_slot.selected_day_slot {
  background: #9F5F40;
  color: #fff;
}

#booking-package_schedulePage .bottomPanelForPositionInherit {
  background: #F6F6F6 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#booking-package_schedulePage .bottomPanelForPositionInherit .return_button {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-left: 20px;
  text-decoration: underline;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -95px;
  white-space: nowrap;
}

#booking-package_schedulePage .bottomPanelForPositionInherit .return_button::before {
  content: "";
  position: absolute;
  width: 7.2px;
  height: 11.7px;
  background: url("../img/icon-btn-less-than.svg") no-repeat center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#booking-package_schedulePage .bottomPanelForPositionInherit .return_button:hover {
  opacity: 0.8;
}

#booking-package_inputFormPanel {
  background-color: #F6F6F6 !important;
}

#booking-package_inputFormPanel .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: none !important;
  padding: 0 !important;
  margin-top: 24px !important;
}

#booking-package_inputFormPanel .name {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  width: 100%;
  max-width: 110px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #9F5F40;
  color: #fff;
  font-weight: 500 !important;
  height: 40px;
  padding: 0 !important;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  border-radius: 6px 0 0 6px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

#booking-package_inputFormPanel .name.required:after {
  display: none;
}

#booking-package_inputFormPanel .value {
  width: 100%;
  background: #fff;
  height: auto;
  padding: 0 1em !important;
  border: 1px solid #9F5F40;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  border-radius: 0 6px 6px 0;
}

#booking-package_inputFormPanel .value input[type=text],
#booking-package_inputFormPanel .value input[type=tel],
#booking-package_inputFormPanel .value input[type=email] {
  border: none;
}

#booking-package_inputFormPanel .value .description {
  margin: 0 !important;
}

#booking-package_inputFormPanel .cartPanel .bottomBarPanel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px !important;
}

#booking-package_inputFormPanel .cartPanel .bottomBarPanel .book_now_button {
  width: 100%;
  max-width: clamp(
    240px,
    calc(240px + (345 - 240) * ((100vw - 393px) / (1000 - 393))),
    345px
  );
  margin: 0 auto;
  height: 60px;
  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;
  font-size: 16px;
  letter-spacing: 0.1em;
  background-color: #fff;
  font-weight: 500;
  border: 1px solid #9F5F40;
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  -webkit-box-shadow: 3px 3px 0px #9F5F40;
  box-shadow: 3px 3px 0px #9F5F40;
  border-radius: 36px;
}

#booking-package_inputFormPanel .cartPanel .bottomBarPanel .book_now_button::after {
  content: "";
  display: block;
  width: 8.4px;
  height: 13.7px;
  background-image: url(../img/icon-btn-greater-than.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: clamp(
    20px,
    calc(20px + (25 - 20) * ((100vw - 393px) / (1000 - 393))),
    25px
  );
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

#booking-package_inputFormPanel .return_form_button {
  display: inline-block;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-left: 20px;
  text-decoration: underline;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -90px;
  white-space: nowrap;
}

#booking-package_inputFormPanel .return_form_button::before {
  content: "";
  position: absolute;
  width: 7.2px;
  height: 11.7px;
  background: url("../img/icon-btn-less-than.svg") no-repeat center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#booking-package_inputFormPanel .return_form_button:hover {
  opacity: 0.8;
}

#booking-package_inputFormPanel {
  position: relative;
}

#booking-package_inputFormPanel .title_in_form {
  display: block;
  width: 100%;
  border: none !important;
  position: absolute !important;
  top: -180px !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #9F5F40;
  font-size: 20px !important;
  font-weight: bold !important;
  letter-spacing: 0.05em;
  line-height: 1.3;
  padding: 0 !important;
  background-color: #F6F6F6 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(2) {
  margin-top: 0 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(2) .name {
  background-color: #3B4043 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(2) .value {
  border: 1px solid #3B4043 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(4) {
  position: absolute;
  top: -120px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block !important;
  width: 100%;
  max-width: 300px;
  padding: 0;
  margin-top: 0 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .name {
  display: block !important;
  width: auto;
  max-width: unset;
  text-align: center;
  background-color: #F6F6F6;
  text-align: center;
  font-size: 14px;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.3;
  height: auto;
  font-weight: 500 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value {
  padding: 0 !important;
  border: none;
  background-color: #F6F6F6;
  margin-top: 15px;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value input[type=radio] {
  display: none;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value input[type=radio]:checked + span {
  color: #9F5F40;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value input[type=radio]:checked + span::after {
  opacity: 1;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value input[type=radio]:checked + span::before {
  border: 1px solid #707070;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value label:nth-of-type(1) {
  margin-bottom: 15px;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value .radio_title {
  display: inline-block;
  font-weight: normal;
  font-size: 14px;
  position: relative;
  padding-left: 30px;
  line-height: 20px;
  height: 20px;
  cursor: pointer;
  margin: 0 !important;
  font-weight: 500 !important;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value .radio_title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #707070;
}

#booking-package_inputFormPanel .row:nth-of-type(4) .value .radio_title::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 12px;
  height: 12px;
  background-color: #9F5F40;
  /* チェック時の中の色 */
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

#booking-package_inputFormPanel .row:nth-of-type(10) .name {
  display: none !important;
}

#booking-package_inputFormPanel .row:nth-of-type(10) .value {
  border: none !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #F6F6F6;
}

#booking-package_inputFormPanel .row:nth-of-type(10) label {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#booking-package_inputFormPanel .row:nth-of-type(10) .radio_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#booking-package_inputFormPanel .row:nth-of-type(10) input[type=checkbox] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  vertical-align: -5px;
  background-color: #fff;
}

#booking-package_inputFormPanel .row:nth-of-type(10) input[type=checkbox]:checked {
  background-color: #9F5F40;
}

#booking-package_inputFormPanel .row:nth-of-type(10) input[type=checkbox]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 24px;
  height: 18px;
  content: "";
  background: url(../img/icon-booking-check.svg) no-repeat center center;
  background-size: contain;
}

#booking-package_inputFormPanel .row.error_empty_value {
  background-color: unset !important;
}

#booking-package_inputFormPanel .row.error_empty_value .name {
  background-color: #C71818 !important;
}

#booking-package_inputFormPanel .row.error_empty_value .radio_title {
  color: #C71818 !important;
}

#booking-package_myBookingDetailsFroVisitor {
  position: relative;
}

#booking-package_myBookingDetailsFroVisitor .titlePanel {
  position: absolute;
  top: -45px;
}

#booking-package_myBookingDetailsFroVisitor .titlePanel .title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

#booking-package_myBookingDetailsFroVisitor .row:nth-of-type(2),
#booking-package_myBookingDetailsFroVisitor .row:nth-of-type(3) {
  display: none !important;
}

#booking-package_myBookingDetailsFroVisitor .buttonPanel {
  position: absolute;
  bottom: -100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#booking-package_myBookingDetailsFroVisitor .buttonPanel .return_button {
  display: none;
}

#booking-package_myBookingDetailsFroVisitor .buttonPanel .cancel_booking_button {
  width: 240px;
  height: 50px;
  margin: 0 auto;
  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: 0 !important;
  font-size: 16px;
  letter-spacing: 0.05em;
  background-color: #fff;
  font-weight: 500;
  border: 1px solid #9F5F40;
  cursor: pointer;
  position: relative;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  -webkit-box-shadow: 3px 3px 0px #9F5F40;
  box-shadow: 3px 3px 0px #9F5F40;
  white-space: nowrap;
  border-radius: 36px;
}

#booking-package_myBookingDetailsFroVisitor .buttonPanel .cancel_booking_button::after {
  content: "";
  display: block;
  width: 8.4px;
  height: 13.7px;
  background-image: url(../img/icon-btn-greater-than.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.case__filter {
  margin-top: 40px;
}

.case__filter-label {
  width: clamp(
    100px,
    calc(100px + (128 - 100) * ((100vw - 393px) / (1000 - 393))),
    128px
  );
  border-radius: 8px 0 0 8px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  font-weight: bold;
  color: #fff;
  background-color: #9F5F40;
  font-size: clamp(
    14px,
    calc(14px + (18 - 14) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.case__filter-category {
  border-radius: 0 8px 8px 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: clamp(
    10px,
    calc(10px + (16 - 10) * ((100vw - 393px) / (1000 - 393))),
    16px
  ) clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  color: #9F5F40;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 1.7142857143;
  font-weight: bold;
  letter-spacing: 0.1em;
  border: 1px solid #9F5F40;
  background-color: #fff;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.case__list {
  margin: clamp(
    40px,
    calc(40px + (80 - 40) * ((100vw - 393px) / (1000 - 393))),
    80px
  ) auto 0;
}

.case__item {
  margin-top: clamp(
    32px,
    calc(32px + (40 - 32) * ((100vw - 393px) / (1000 - 393))),
    40px
  );
  border-radius: 20px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  padding: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) 0;
}

.case__image-block .splide__arrow svg {
  display: none !important;
}

.case__image-block .splide__arrow {
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  cursor: pointer;
  background: transparent;
}

.case__image-block .splide__track {
  overflow: hidden;
  border-radius: 12px;
}

.case__image-block .splide__arrow--prev {
  left: 0;
  background-image: url(../img/icon-btn-arrow-left-orange.svg);
  background-position: center;
  background-size: contain;
}

.case__image-block .splide__arrow--next {
  right: 0;
  background-image: url(../img/icon-btn-arrow-right-orange.svg);
  background-position: center;
  background-size: contain;
}

.case__image-block .splide__pagination {
  background-color: #fff;
  height: 24px;
  bottom: 0;
  border: 1px solid #E17905;
  border-radius: 0 0 12px 12px;
}

.case__image-block .splide__pagination__page {
  background-color: transparent;
  border: 1px solid #E17905;
}

.case__image-block .splide__pagination__page.is-active {
  background-color: #E17905;
}

.case__repair-block {
  margin-top: clamp(
    32px,
    calc(32px + (64 - 32) * ((100vw - 393px) / (1000 - 393))),
    64px
  );
}

.case__voice-block .case__voice-title {
  font-size: clamp(
    20px,
    calc(20px + (22 - 20) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #E17905;
  margin-bottom: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
}

.case__voice-block .c-voice-card__stars {
  gap: 8px;
}

.case .repair-compare__label {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(
    32px,
    calc(32px + (40 - 32) * ((100vw - 393px) / (1000 - 393))),
    40px
  );
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  color: #E17905;
}

.case .repair-compare__slider {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (450 - 364) * ((100vw - 393px) / (1000 - 393))),
    450px
  );
  aspect-ratio: 364/273;
  margin: 0 auto;
  border-radius: 12px;
}

.case .repair-compare__slider figure {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (450 - 364) * ((100vw - 393px) / (1000 - 393))),
    450px
  );
  aspect-ratio: 364/273;
  border-radius: 12px;
  overflow: hidden;
}

.case .repair-compare__slider figure img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.case .repair-compare__arrow {
  width: 50px;
  height: 31px;
  margin: 16px auto 24px;
}

.case .repair-compare__arrow img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.case__repair-title {
  font-size: clamp(
    20px,
    calc(20px + (22 - 20) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
}

.case__repair-container {
  margin-top: 8px;
}

.case__repair-container .l-table {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.case__repair-container .l-row {
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: auto;
  margin-top: 8px;
}

.case__repair-container .l-row:first-child {
  margin-top: 0;
}

.case__repair-container .l-th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #9F5F40;
  padding-left: 6px;
  position: relative;
}

.case__repair-container .l-th::before {
  content: "";
  width: 2px;
  height: 12px;
  background-color: #9F5F40;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 1px;
}

.case__repair-container .l-td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.case .case-tag-scroll__button {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #fff;
  background-color: #9F5F40;
  padding: 6px 18px;
  border-radius: 6px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.case .case__repair-method {
  margin-top: 24px;
}

.case .case__repair-method .label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
  padding-left: 6px;
  position: relative;
}

.case .case__repair-method .label::before {
  content: "";
  width: 2px;
  height: 12px;
  background-color: #9F5F40;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 1px;
}

.case .case__repair-method .comment {
  margin-top: 8px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.case__divider {
  border: none;
  border-top: 2px dashed #E17905;
  margin: 40px auto 30px;
}

.case-tag__button {
  margin: 32px auto 0;
}

.faq-popularity h3 {
  font-size: clamp(
    18px,
    calc(18px + (24 - 18) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #9F5F40;
  margin-top: clamp(
    28px,
    calc(28px + (32 - 28) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
}

.faq__item {
  margin-top: 32px;
}

.faq__item-question {
  width: 100%;
  max-width: 800px;
  margin: 32px auto 0;
  height: auto;
  padding: clamp(
    10px,
    calc(10px + (15 - 10) * ((100vw - 393px) / (1000 - 393))),
    15px
  ) clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  background-color: #fff;
  border-radius: 16px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.faq__item-question:first-child {
  margin-top: 0;
}

.faq__item-question:hover {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}

.faq__item-question .title {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.5714285714;
  font-weight: 500;
  max-width: clamp(
    305px,
    calc(305px + (700 - 305) * ((100vw - 393px) / (1000 - 393))),
    700px
  );
}

.faq__item-question .button {
  position: relative;
}

.faq__item-question .button::before,
.faq__item-question .button::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: #9F5F40;
  position: absolute;
  width: 12px;
  height: 2px;
}

.faq__item-question .button::before {
  right: 0;
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.faq__item-question .button::after {
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.faq__item .js-toggle__title.is-open .top-faq__item-button::before,
.faq__item .js-toggle__title.is-open .button::before {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.faq__item-answer {
  display: none;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 24px 0 24px 38px;
  position: relative;
}

.faq__item-answer .label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #9F5F40;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 15px;
}

.faq__item-answer .text {
  line-height: 1.2857142857;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.8571428571;
}

.faq__item-answer .text a {
  color: #9F5F40;
  text-decoration: underline;
}

.faq__item-answer .text a:hover {
  opacity: 0.8;
}

.faq-category__title,
.faq-category-category__title {
  font-size: clamp(
    22px,
    calc(22px + (24 - 22) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  letter-spacing: 0.1em;
  text-align: center;
  color: #9F5F40;
  font-weight: bold;
  line-height: 1.3;
}

.faq-category__list,
.faq-category-category__list {
  margin-top: 40px;
  grid-template-columns: auto;
  gap: 24px;
  place-items: center;
}

.faq-category__item,
.faq-category-category__item {
  width: 100%;
  max-width: clamp(
    300px,
    calc(300px + (320 - 300) * ((100vw - 393px) / (1000 - 393))),
    320px
  );
  height: clamp(
    50px,
    calc(50px + (60 - 50) * ((100vw - 393px) / (1000 - 393))),
    60px
  );
  border: 1px solid #9F5F40;
  border-radius: 12px;
  background-color: #fff;
}

.faq-category__item a,
.faq-category-category__item a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  color: #9F5F40;
  line-height: 1.3;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.faq-category__item:hover,
.faq-category-category__item:hover {
  background-color: #9F5F40;
}

.faq-category__item:hover a,
.faq-category-category__item:hover a {
  color: #fff;
}

.flow ul {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.flow li {
  margin-top: clamp(
    45px,
    calc(45px + (50 - 45) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  background-color: #fff;
  padding: clamp(
    40px,
    calc(40px + (55 - 40) * ((100vw - 393px) / (1000 - 393))),
    55px
  ) 0;
  border-radius: 12px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
}

.flow li:first-child {
  margin-top: 0;
}

.flow li:not(:last-child)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 40px;
  height: 25px;
  background: url(../img/icon-triangle-down-brown.svg) no-repeat center/contain;
  bottom: -13px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow .l-flex {
  gap: clamp(
    32px,
    calc(32px + (48 - 32) * ((100vw - 393px) / (1000 - 393))),
    48px
  );
}

.flow .l-grid {
  grid-template-columns: 1fr;
  grid-template-areas: "item-1" "item-2" "item-3";
}

.flow .l-grid .image {
  margin-top: 32px;
  margin-left: auto;
}

.flow .l-grid .flow-cta {
  margin: 24px auto 0;
}

.flow .l-grid__item--1 {
  grid-area: item-1;
}

.flow .l-grid__item--2 {
  grid-area: item-2;
}

.flow .l-grid__item--3 {
  grid-area: item-3;
}

.flow .label {
  width: 286px;
  height: 30px;
}

.flow .label picture {
  height: 100%;
}

.flow .label img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.flow .title {
  font-size: clamp(
    18px,
    calc(18px + (24 - 18) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  font-weight: bold;
  margin-top: 24px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
}

.flow .description {
  width: 100%;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  margin-top: 24px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.flow .image {
  width: clamp(
    300px,
    calc(300px + (400 - 300) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 1.5151515152;
  -ms-flex-item-align: end;
  align-self: flex-end;
  border-radius: 12px;
  overflow: hidden;
}

.flow .image picture {
  height: 100%;
}

.flow .image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.for-women-overview__bg {
  background-color: rgba(248, 138, 138, 0.06);
  padding: 50px 0;
}

.for-women-overview__inner {
  text-align: center;
  position: relative;
}

.for-women-overview__lead {
  font-family: "ten-mincho", serif;
  font-size: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  font-weight: normal;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

.for-women-overview__lead .wrap {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 4px;
}

.for-women-overview__lead .decoration {
  width: clamp(
    26px,
    calc(26px + (32 - 26) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
  height: clamp(
    26px,
    calc(26px + (35 - 26) * ((100vw - 393px) / (1000 - 393))),
    35px
  );
  background-color: #F88A8A;
  font-size: clamp(
    18px,
    calc(18px + (24 - 18) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  color: #fff;
  letter-spacing: 0.05em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.for-women-overview__description {
  font-family: "ten-mincho", serif;
  margin-top: clamp(
    38px,
    calc(38px + (50 - 38) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
}

.for-women-overview__image {
  width: 100%;
  max-width: clamp(
    189px,
    calc(189px + (350 - 189) * ((100vw - 393px) / (1000 - 393))),
    350px
  );
  aspect-ratio: 188/163;
  position: absolute;
  top: 25px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
}

.for-women-overview__image picture {
  height: 100%;
}

.for-women-overview__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

.for-women-banner__lead {
  font-size: clamp(
    18px,
    calc(18px + (26 - 18) * ((100vw - 393px) / (1000 - 393))),
    26px
  );
  font-weight: bold;
  text-align: center;
  color: #9F5F40;
  letter-spacing: 0.1em;
  line-height: 1.5555555556;
}

.for-women-banner__bg {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  padding: 40px 0;
  background-color: #F6F6F6;
  border-radius: 20px;
}

.for-women-banner__image {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (500 - 364) * ((100vw - 393px) / (1000 - 393))),
    500px
  );
  aspect-ratio: 364/775;
  margin-inline: auto;
}

.for-women-banner__image picture {
  height: 100%;
}

.for-women-banner__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.for-women-points__lead {
  width: 100%;
  max-width: clamp(
    387px,
    calc(387px + (655 - 387) * ((100vw - 393px) / (1000 - 393))),
    655px
  );
  aspect-ratio: 387/59;
  margin-inline: auto;
}

.for-women-points__lead picture {
  height: 100%;
}

.for-women-points__lead img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

.for-women-points__content {
  margin-top: clamp(
    50px,
    calc(50px + (80 - 50) * ((100vw - 393px) / (1000 - 393))),
    80px
  );
}

.for-women-points ul {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.for-women-points li {
  margin-top: 50px;
}

.for-women-points li:first-child {
  margin-top: 0;
}

.for-women-points .l-flex {
  gap: 40px;
}

.for-women-points .label {
  width: 320px;
  height: 34px;
  padding-left: 10px;
}

.for-women-points .label picture {
  height: 100%;
}

.for-women-points .label img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.for-women-points .title {
  font-size: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  font-weight: bold;
  margin-top: clamp(
    24px,
    calc(24px + (24 - 24) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
  padding-left: 10px;
}

.for-women-points .description {
  width: 100%;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  margin-top: clamp(
    32px,
    calc(32px + (32 - 32) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.for-women-points .image {
  width: 100%;
  max-width: clamp(
    320px,
    calc(320px + (400 - 320) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
  aspect-ratio: 1.5023474178;
  -ms-flex-item-align: end;
  align-self: flex-end;
  border-radius: 12px;
  overflow: hidden;
}

.for-women-points .image picture {
  height: 100%;
}

.for-women-points .image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.for-women-voice__bg {
  margin-top: 50px;
  padding: 30px 0;
  background-color: rgba(112, 127, 137, 0.1);
  height: 470px;
}

.for-women-voice .c-voice-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}

.for-women-voice .c-voice-card__item {
  width: 330px;
  height: 410px;
  padding: 30px 17px;
  background-color: #F6F6F6;
  border-radius: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.for-women-voice .c-voice-card__item-inner {
  position: relative;
  height: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.for-women-voice .c-voice-card__avatar {
  width: 60px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: initial;
  -webkit-box-shadow: none;
  box-shadow: none;
  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;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden;
  background-color: rgba(159, 95, 64, 0.2);
}

.for-women-voice .c-voice-card__avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.for-women-voice .c-voice-card__voice-title {
  width: 235px;
  min-height: 40px;
  font-size: 14px;
  line-height: 1.5714285714;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.for-women-voice .c-voice-card__personal {
  font-size: 12px;
  line-height: 1.3;
  margin-top: 8px;
  font-weight: 500;
}

.for-women-voice .c-voice-card__comment {
  font-size: 14px;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
  font-weight: normal;
  margin-top: 16px;
}

.for-women-voice .c-voice-card__table {
  margin-top: 0;
}

.for-women-voice .c-voice-card__table .l-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  -webkit-column-gap: 16px;
  -moz-column-gap: 16px;
  column-gap: 16px;
  margin-top: 8px;
}

.for-women-voice .c-voice-card__table .l-row:first-child {
  margin-top: 0;
}

.for-women-voice .c-voice-card__table .l-th,
.for-women-voice .c-voice-card__table .l-td {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.for-women-voice .c-voice-card__table .l-th {
  font-weight: 500;
  color: #E17905;
  padding-left: 6px;
  position: relative;
}

.for-women-voice .c-voice-card__table .l-th::before {
  content: "";
  width: 2px;
  height: 12px;
  background-color: #E17905;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 1px;
}

.for-women-image-banner {
  height: auto;
}

.for-women-image-banner__container {
  position: relative;
  height: clamp(
    390px,
    calc(390px + (442 - 390) * ((100vw - 393px) / (1000 - 393))),
    442px
  );
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.for-women-image-banner__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 12px;
}

.for-women-image-banner__bg picture {
  height: 100%;
}

.for-women-image-banner__bg img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.for-women-image-banner__logo {
  width: clamp(
    80px,
    calc(80px + (130 - 80) * ((100vw - 393px) / (1000 - 393))),
    130px
  );
  aspect-ratio: 80/35;
  height: auto;
  position: absolute;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.for-women-image-banner__logo picture {
  height: 100%;
}

.for-women-image-banner__logo img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.for-women-image-banner__text-block {
  position: absolute;
  top: 170px;
  left: 15px;
}

.for-women-image-banner__lead {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
}

.for-women-image-banner__text {
  font-size: 18px;
  line-height: 1.7777777778;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  margin-top: 16px;
}

.menu__bg {
  background-color: #fff;
  padding: clamp(
    50px,
    calc(50px + (100 - 50) * ((100vw - 393px) / (1000 - 393))),
    100px
  ) 0;
  border-radius: 12px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.menu__list {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.menu .l-grid {
  grid-template-columns: 1fr;
  grid-template-areas: "item-1" "item-2" "item-3" "item-4";
  gap: 32px;
}

.menu .l-grid__item--1 {
  grid-area: item-1;
}

.menu .l-grid__item--2 {
  grid-area: item-2;
}

.menu .l-grid__item--3 {
  grid-area: item-3;
}

.menu .l-grid__item--4 {
  grid-area: item-4;
}

.menu__item {
  margin-top: clamp(
    60px,
    calc(60px + (80 - 60) * ((100vw - 393px) / (1000 - 393))),
    80px
  );
}

.menu__item:first-child {
  margin-top: 0;
}

.menu__title {
  font-size: clamp(
    20px,
    calc(20px + (22 - 20) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  color: #9F5F40;
  font-weight: bold;
  padding-left: 8px;
  position: relative;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.menu__title::before {
  content: "";
  width: 2px;
  height: 16px;
  background-color: #707F89;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 2px;
}

.menu__title small {
  font-size: 16px;
}

.menu__lead {
  margin-top: clamp(
    8px,
    calc(8px + (16 - 8) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.menu__image {
  width: 100%;
  max-width: clamp(
    364px,
    calc(364px + (450 - 364) * ((100vw - 393px) / (1000 - 393))),
    450px
  );
  aspect-ratio: 364/273;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 12px;
}

.menu__image picture,
.menu__image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.menu__description-block .menu__label {
  display: inline-block;
  font-size: clamp(
    16px,
    calc(16px + (18 - 16) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #fff;
  background-color: #9F5F40;
  padding: clamp(
    6px,
    calc(6px + (10 - 6) * ((100vw - 393px) / (1000 - 393))),
    10px
  ) clamp(
    18px,
    calc(18px + (24 - 18) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  border-radius: 6px;
}

.menu__description-block dl {
  margin-top: 16px;
}

.menu__description-block dt {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  color: #9F5F40;
  font-weight: 500;
}

.menu__description-block dd {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.menu__description-block p {
  margin-top: 16px;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}

.thankyou-desc-area,
.cancel-desc-area {
  margin-top: 80px;
}

.thankyou-desc-area .icon,
.cancel-desc-area .icon {
  width: clamp(
    60px,
    calc(60px + (100 - 60) * ((100vw - 393px) / (1000 - 393))),
    100px
  );
  height: clamp(
    60px,
    calc(60px + (100 - 60) * ((100vw - 393px) / (1000 - 393))),
    100px
  );
}

.thankyou-desc-area .icon img,
.cancel-desc-area .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.thankyou-desc-area h3,
.cancel-desc-area h3 {
  font-size: clamp(
    20px,
    calc(20px + (26 - 20) * ((100vw - 393px) / (1000 - 393))),
    26px
  );
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: bold;
  margin-top: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  line-height: 1.3;
}

.thankyou-desc-area p,
.cancel-desc-area p {
  font-size: clamp(
    14px,
    calc(14px + (18 - 14) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 2;
  margin-top: 50px;
  font-weight: 500;
}

.thankyou-overview__bg {
  margin-top: 45px;
  background-color: #F6F6F6;
  padding: 40px 0;
}

.thankyou-overview__box {
  width: calc(100% - clamp(
    30px,
    calc(30px + (60 - 30) * ((100vw - 393px) / (1000 - 393))),
    60px
  ));
  margin: 0 auto;
}

.thankyou-overview__text {
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  text-align: center;
  font-weight: 500;
}

.thankyou-overview__note {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.thankyou-overview__note li {
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 12px;
}

.thankyou-overview__note li:first-child {
  margin-top: 0;
}

.privacypolicy-desc-area h3 {
  font-size: clamp(
    18px,
    calc(18px + (22 - 18) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 500;
  line-height: 1.5555555556;
}

.privacypolicy {
  margin-top: 50px !important;
}

.privacypolicy__bg {
  width: calc(100% - 30px);
  padding: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) clamp(
    16px,
    calc(16px + (140 - 16) * ((100vw - 393px) / (1000 - 393))),
    140px
  );
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 14px;
  margin: 0 auto;
}

.privacypolicy p {
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  letter-spacing: 0.05em;
  line-height: 2;
  font-weight: normal;
  margin-top: 25px;
}

.privacypolicy p:first-child {
  margin-top: 0;
}

.c-404 p {
  font-size: clamp(
    14px,
    calc(14px + (18 - 14) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
  font-weight: 500;
}

.price-table table {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border-collapse: separate;
  table-layout: fixed;
  /* 固定レイアウトにする */
  border-spacing: 0 0;
}

.price-table thead {
  width: 100%;
}

.price-table thead th {
  width: clamp(
    155px,
    calc(155px + (220 - 155) * ((100vw - 393px) / (1000 - 393))),
    220px
  );
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  height: clamp(
    48px,
    calc(48px + (70 - 48) * ((100vw - 393px) / (1000 - 393))),
    70px
  );
  line-height: 1.3;
  border: 1px solid #fff;
  font-size: clamp(
    14px,
    calc(14px + (16 - 14) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
}

.price-table thead .cell-first {
  background: #E17905;
}

.price-table thead .other {
  background: #9F5F40;
}

.price-table tbody th,
.price-table tbody td {
  height: clamp(
    34px,
    calc(34px + (50 - 34) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #fff;
}

.price-table tbody th {
  width: clamp(
    150px,
    calc(150px + (302 - 150) * ((100vw - 393px) / (1000 - 393))),
    302px
  );
}

.price-table tbody td {
  width: clamp(
    155px,
    calc(155px + (220 - 155) * ((100vw - 393px) / (1000 - 393))),
    220px
  );
  letter-spacing: 0.05em;
  background-color: rgba(225, 121, 5, 0.1);
}

.price-table tbody td.cell-first {
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  color: #3B4043;
  line-height: 1.3;
  border: 1px solid #fff;
  font-weight: 500;
}

.price-table tbody td.cell-second {
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  color: #9F5F40;
  line-height: 1.3;
  border: 1px solid #fff;
  font-weight: bold;
}

.price-table tbody td.other {
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  color: #3B4043;
  line-height: 1.3;
  border: 1px solid #fff;
  font-weight: 500;
}

.price-table__image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 12px 0 0 12px;
  position: relative;
}

.price-table__image picture,
.price-table__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  border-radius: 12px 0 0 12px;
}

.price-table__image figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  padding: clamp(
    6px,
    calc(6px + (10 - 6) * ((100vw - 393px) / (1000 - 393))),
    10px
  ) clamp(
    12px,
    calc(12px + (20 - 12) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  background: #E17905;
  color: #fff;
  font-size: clamp(
    12px,
    calc(12px + (14 - 12) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  font-weight: 500;
  text-align: center;
  border-radius: 0 12px 0 12px;
  letter-spacing: 0.1em;
}

.price-table .sticky-col {
  position: sticky;
  left: 0;
  -webkit-box-shadow: 2px 0 3px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 0 3px rgba(0, 0, 0, 0.1);
}

.price-table .cell-radius--left {
  border-radius: 12px 0 0 0;
}

.price-table .cell-radius--all-left {
  border-radius: 12px 0 0 12px;
}

.price-table .cell-radius--lower-left {
  border-radius: 0 0 0 12px;
}

.price-table .cell-radius--right {
  border-radius: 0 12px 0 0;
}

.price-table .cell-radius--lower-right {
  border-radius: 0 0 12px 0;
}

.price-table .cell-initial {
  background-color: initial;
  border: initial;
  -webkit-box-shadow: initial;
  box-shadow: initial;
}

.price-table__note {
  display: block;
  margin-top: 30px;
  font-size: clamp(
    12px,
    calc(12px + (14 - 12) * ((100vw - 393px) / (1000 - 393))),
    14px
  );
  letter-spacing: 0.1em;
  line-height: 2;
}

.reason-overview {
  height: auto;
}

.reason-overview__container {
  position: relative;
  height: clamp(
    173px,
    calc(173px + (400 - 173) * ((100vw - 393px) / (1000 - 393))),
    400px
  );
}

.reason-overview__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 12px;
}

.reason-overview__bg picture {
  height: 100%;
}

.reason-overview__bg img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.reason-overview__logo {
  width: clamp(
    80px,
    calc(80px + (205 - 80) * ((100vw - 393px) / (1000 - 393))),
    205px
  );
  aspect-ratio: 80/35;
  height: auto;
  position: absolute;
  top: 33.5260115607%;
  left: 3.8167938931%;
}

.reason-overview__logo picture {
  height: 100%;
}

.reason-overview__logo img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.reason-overview__text {
  font-size: clamp(
    14px,
    calc(14px + (24 - 14) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 64.7398843931%;
  left: 3.8167938931%;
}

.shop__image .splide__track {
  overflow: hidden;
  border-radius: 12px;
}

.shop__image .splide__slide {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 364/224;
  border-radius: 12px;
}

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

.shop__image .splide__arrow svg {
  display: none !important;
}

.shop__image .splide__arrow {
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  cursor: pointer;
  background: transparent;
}

.shop__image .splide__arrow--prev {
  left: 0;
  background-image: url(../img/icon-btn-arrow-left-brown.svg);
  background-position: center;
  background-size: contain;
}

.shop__image .splide__arrow--next {
  right: 0;
  background-image: url(../img/icon-btn-arrow-right-brown.svg);
  background-position: center;
  background-size: contain;
}

.shop__image .splide__pagination {
  bottom: -32px;
}

.shop__image .splide__pagination__page {
  background-color: transparent;
  border: 1px solid #9F5F40;
}

.shop__image .splide__pagination__page.is-active {
  background-color: #9F5F40;
}

.shop .l-grid__item--1 {
  grid-area: image;
}

.shop .l-grid__item--2 {
  grid-area: title;
}

.shop .l-grid__item--3 {
  grid-area: information;
}

.shop .l-grid__item--4 {
  grid-area: guarantee;
}

.shop__title {
  font-size: clamp(
    18px,
    calc(18px + (22 - 18) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  letter-spacing: 0.05em;
  color: #9F5F40;
  font-weight: bold;
  margin-top: 90px;
  line-height: 1.3;
}

.shop__infomation {
  margin-top: 50px;
  font-weight: 500;
}

.shop__infomation-container {
  border-top: 1px solid #707F89;
  position: relative;
}

.shop__infomation-container::before {
  content: "店舗データ";
  position: absolute;
  font-size: clamp(
    16px,
    calc(16px + (18 - 16) * ((100vw - 393px) / (1000 - 393))),
    18px
  );
  color: #9F5F40;
  letter-spacing: 0.05em;
  line-height: 1;
  top: -25px;
}

.shop .l-table .l-row {
  display: grid;
  grid-template-columns: 65px 1fr;
  border-bottom: 1px #707F89 dashed;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}

.shop .l-table .l-td,
.shop .l-table .l-th {
  font-size: 12px;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  padding: 16px 0px;
  font-weight: 500;
}

.shop .l-table .l-th {
  white-space: nowrap;
  color: #9F5F40;
}

.shop .l-table .cell-review--td {
  gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.shop .l-table .cell-review--td .value {
  display: inline-block;
  color: #E17905;
  font-weight: bold;
  text-decoration: underline;
  font-size: clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
}

.shop .l-table .cell-review--td .c-stars .rating .stars {
  font-size: 21px;
}

.shop .l-table .cell-review--td .counts {
  display: inline-block;
  font-weight: bold;
}

.shop .l-table .cell-review--th {
  -ms-flex-item-align: center;
  align-self: center;
}

.shop__guarantee {
  margin: 32px auto 0;
  width: clamp(
    353px,
    calc(353px + (360 - 353) * ((100vw - 393px) / (1000 - 393))),
    360px
  );
  height: auto;
  border-radius: 12px;
  overflow: hidden;
}

.shop__guarantee img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 12px;
}

.shop-campaign-banner {
  margin-top: 32px;
}

.shop-map__bg {
  background-color: rgba(0, 0, 0, 0.2);
  padding: 20px 20px;
  border-radius: 12px;
}

.shop-map__content {
  position: relative;
  width: auto;
  aspect-ratio: 353/203;
}

.shop-map__content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

.c-case__button--shop {
  margin: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) auto 0;
}

.staff-introduction__list {
  margin-top: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  gap: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.staff-introduction__item {
  width: 100%;
  height: auto;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 12px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  max-width: clamp(
    365px,
    calc(365px + (410 - 365) * ((100vw - 393px) / (1000 - 393))),
    410px
  );
  background-color: #fff;
}

.staff-introduction__image {
  width: 100%;
  aspect-ratio: 364/231;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.staff-introduction__image img {
  border-radius: 12px 12px 0 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.staff-introduction__info {
  padding-top: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 200px;
  aspect-ratio: 364/200;
  background-color: #fff;
  border-radius: 0 0 12px 12px;
}

.staff-introduction__info-inner {
  width: clamp(
    330px,
    calc(330px + (370 - 330) * ((100vw - 393px) / (1000 - 393))),
    370px
  );
}

.staff-introduction__position {
  display: block;
  font-size: 12px;
  color: #E17905;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 4px;
}

.staff-introduction__name {
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.3;
  color: #9F5F40;
}

.staff-introduction__comment {
  font-size: 12px;
  margin-top: 8px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: normal;
}

.tag__bg {
  background-color: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  padding: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) 0;
}

.tag__title {
  width: 174px;
  height: 30px;
  font-size: 14px;
  font-weight: 500;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 6px;
  color: #9F5F40;
}

.tag__title .icon {
  width: 24px;
  height: 24px;
  display: inline-block;
  -o-object-fit: contain;
  object-fit: contain;
  margin-right: 4px;
}

.tag__cloud {
  margin-top: clamp(
    16px,
    calc(16px + (24 - 16) * ((100vw - 393px) / (1000 - 393))),
    24px
  );
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* ← 横幅いっぱいで折り返す */
  gap: 20px 10px;
}

.tag__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  /* ← サイズ固定で自然に折り返し */
}

.tag__item a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 6px 18px;
  border-radius: 6px;
  background: #9F5F40;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  white-space: nowrap;
  /* 長いタグでも1行に収める */
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.tag__item a:hover {
  opacity: 0.8;
}

.tag__button {
  margin: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) auto 0;
}

.top-mv__inner {
  position: relative;
  padding-top: 110px;
}

.top-mv__catch-container {
  height: auto;
  padding: 24px 0;
  position: relative;
}

.top-mv__catch-container::before,
.top-mv__catch-container::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  max-width: clamp(
    373px,
    calc(373px + (550 - 373) * ((100vw - 393px) / (1000 - 393))),
    550px
  );
  border-top: 4px solid transparent;
  -webkit-border-image: url("../img/border.png") 10 stretch;
  -o-border-image: url("../img/border.png") 10 stretch;
  border-image: url("../img/border.png") 10 stretch;
}

.top-mv__catch-container::before {
  top: 0;
}

.top-mv__catch-container::after {
  bottom: 0;
  border-top: none;
  border-bottom: 4px solid transparent;
}

.top-mv__title {
  font-size: clamp(
    32px,
    calc(32px + (48 - 32) * ((100vw - 393px) / (1000 - 393))),
    48px
  );
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #9F5F40;
  margin-inline: auto;
}

.top-mv__title .highlight {
  position: relative;
}

.top-mv__title .highlight::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: clamp(
    6px,
    calc(6px + (8 - 6) * ((100vw - 393px) / (1000 - 393))),
    8px
  );
  left: 0;
  z-index: -1;
  display: inline-block;
  width: 100%;
  height: clamp(
    5px,
    calc(5px + (8 - 5) * ((100vw - 393px) / (1000 - 393))),
    8px
  );
  background-color: #F3B80A;
  border-radius: 5px;
}

.top-mv__title small {
  font-size: clamp(
    21px,
    calc(21px + (32 - 21) * ((100vw - 393px) / (1000 - 393))),
    32px
  );
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.top-mv__lead {
  margin-top: 8px;
  font-size: clamp(
    16px,
    calc(16px + (30 - 16) * ((100vw - 393px) / (1000 - 393))),
    30px
  );
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  color: #9F5F40;
}

.top-mv__description {
  margin: clamp(
    24px,
    calc(24px + (30 - 24) * ((100vw - 393px) / (1000 - 393))),
    30px
  ) auto 0;
  font-size: clamp(
    14px,
    calc(14px + (20 - 14) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: clamp(
    50px,
    calc(50px + (60 - 50) * ((100vw - 393px) / (1000 - 393))),
    60px
  );
  text-align: center;
}

.top-mv__description::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  height: clamp(
    40px,
    calc(40px + (50 - 40) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
  background: url("../img/icon-cone.png") no-repeat center/contain;
}

.top-mv__guarantee {
  width: clamp(
    250px,
    calc(250px + (352 - 250) * ((100vw - 393px) / (1000 - 393))),
    352px
  );
  aspect-ratio: 250/88;
  border-radius: 12px;
  overflow: hidden;
  margin: clamp(
    24px,
    calc(24px + (50 - 24) * ((100vw - 393px) / (1000 - 393))),
    50px
  ) auto 0;
}

.top-mv__guarantee img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.top-mv__image-container {
  margin-top: 32px;
  position: relative;
}

.top-mv__image {
  width: 100%;
  max-width: clamp(
    393px,
    calc(393px + (600 - 393) * ((100vw - 393px) / (1000 - 393))),
    600px
  );
  aspect-ratio: 393/400;
  border-radius: 24px;
  overflow: hidden;
  margin-inline: auto;
}

.top-mv__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  border-radius: 24px;
}

.top-mv__numbers {
  width: 100%;
  max-width: clamp(
    278px,
    calc(278px + (380 - 278) * ((100vw - 393px) / (1000 - 393))),
    380px
  );
  aspect-ratio: 278/131;
  overflow: hidden;
  position: absolute;
  right: 15px;
  bottom: -65px;
  z-index: 1;
}

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

.top-about-overview-mt {
  margin-top: clamp(
    115px,
    calc(115px + (165 - 115) * ((100vw - 393px) / (1000 - 393))),
    165px
  );
}

.top-about__bg {
  background-color: #F6F6F6;
  border-radius: 40px 40px 0 0;
  padding: clamp(
    50px,
    calc(50px + (80 - 50) * ((100vw - 393px) / (1000 - 393))),
    80px
  ) 0;
}

.top-about ul {
  margin-top: clamp(
    50px,
    calc(50px + (65 - 50) * ((100vw - 393px) / (1000 - 393))),
    65px
  );
  gap: 50px;
}

.top-about__item .l-flex {
  gap: 40px;
}

.top-about__item .label {
  width: 320px;
  height: 34px;
}

.top-about__item .label picture {
  height: 100%;
}

.top-about__item .label img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

.top-about__item .title {
  font-size: clamp(
    16px,
    calc(16px + (22 - 16) * ((100vw - 393px) / (1000 - 393))),
    22px
  );
  font-weight: bold;
  margin-top: clamp(
    24px,
    calc(24px + (26 - 24) * ((100vw - 393px) / (1000 - 393))),
    26px
  );
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
  white-space: nowrap;
}

.top-about__item .image {
  width: 320px;
  aspect-ratio: 1.5023474178;
  -ms-flex-item-align: end;
  align-self: flex-end;
  border-radius: 12px;
  overflow: hidden;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.top-about__item .image picture {
  height: 100%;
}

.top-about__item .image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.top-reason__list-wrapper {
  margin-top: clamp(
    50px,
    calc(50px + (80 - 50) * ((100vw - 393px) / (1000 - 393))),
    80px
  );
}

.top-menu__card {
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  padding: clamp(
    50px,
    calc(50px + (64 - 50) * ((100vw - 393px) / (1000 - 393))),
    64px
  ) 0;
  margin-top: 60px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.top-menu__image {
  width: 100%;
  max-width: clamp(
    178px,
    calc(178px + (300 - 178) * ((100vw - 393px) / (1000 - 393))),
    300px
  );
  aspect-ratio: 178/134;
  -o-object-fit: cover;
  object-fit: cover;
  margin-inline: auto;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.top-menu__image picture,
.top-menu__image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px;
}

.top-menu__image figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  padding: clamp(
    8px,
    calc(8px + (10 - 8) * ((100vw - 393px) / (1000 - 393))),
    10px
  ) clamp(
    16px,
    calc(16px + (20 - 16) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  background: #E17905;
  color: #fff;
  font-size: clamp(
    12px,
    calc(12px + (16 - 12) * ((100vw - 393px) / (1000 - 393))),
    16px
  );
  font-weight: 500;
  text-align: center;
  border-radius: 0 12px 0 12px;
  letter-spacing: 0.1em;
}

.top-price__list {
  margin-top: clamp(
    50px,
    calc(50px + (50 - 50) * ((100vw - 393px) / (1000 - 393))),
    50px
  );
}

.top-price__list h3 {
  font-size: clamp(
    18px,
    calc(18px + (20 - 18) * ((100vw - 393px) / (1000 - 393))),
    20px
  );
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: #9F5F40;
  padding: 0 16px;
  -ms-flex-item-align: center;
  align-self: center;
  position: relative;
  margin-bottom: 32px;
}

.top-price__list h3::before,
.top-price__list h3::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
  height: 1px;
  background-color: #9F5F40;
}

.top-price__list h3::after {
  right: 0;
}

.top-price__list h3::before {
  left: 0;
}

.top-price__item {
  border-radius: 12px;
}

.top-price__image-block {
  width: 247px;
  height: 152px;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.top-price__image-block picture,
.top-price__image-block img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}

.top-price__text-block {
  width: 247px;
  height: 152px;
  border-radius: 0 0 12px 12px;
  background-color: #fff;
}

.top-price__text-block h4 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #9F5F40;
}

.top-price__text-block div {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 8px;
  gap: 10px;
}

.top-price__text-block div span {
  display: inline-block;
}

.top-price__text-block p {
  margin-top: 12px;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  position: relative;
  z-index: 4;
  position: relative;
}

.top-price__text-block p small {
  font-size: 16px;
}

.top-price__text-block p::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 5px;
  z-index: -1;
  width: 105%;
  height: 5px;
  background-color: rgba(243, 184, 10, 0.6);
  border-radius: 5px;
}

.top-flow__bg {
  background-color: #F6F6F6;
  padding: clamp(
    50px,
    calc(50px + (80 - 50) * ((100vw - 393px) / (1000 - 393))),
    80px
  ) 0;
  border-radius: 40px 40px 0 0;
}

.top-access__bg {
  background-color: #F6F6F6;
  padding: clamp(
    50px,
    calc(50px + (80 - 50) * ((100vw - 393px) / (1000 - 393))),
    80px
  ) 0;
  border-radius: 40px 40px 0 0;
}

.top-staff__wrapper {
  background-color: #fff;
  padding: clamp(
    30px,
    calc(30px + (42 - 30) * ((100vw - 393px) / (1000 - 393))),
    42px
  ) 0;
  border-radius: 20px;
  margin-top: 50px;
}

@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 768px;
  }

  .thankyou-overview__box {
    max-width: 768px;
  }
}

@media screen and (min-width: 1000px) {
  .js-simplebar--compare .simplebar-track.simplebar-horizontal,
  .js-simplebar--price .simplebar-track.simplebar-horizontal {
    visibility: hidden !important;
  }

  .js-simplebar--compare .simplebar-scrollbar::before,
  .js-simplebar--price .simplebar-scrollbar::before {
    visibility: hidden;
  }

  .c-booking-steps__list {
    gap: 20px;
  }

  .c-booking-steps__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .c-booking-steps__background {
    -webkit-clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
    height: 140px;
    padding-bottom: 0;
    padding-right: 30px;
  }

  .c-booking-steps__item--2 .c-booking-steps__box {
    aspect-ratio: 156/85;
  }

  .c-booking-steps__item--3 .c-booking-steps__box {
    aspect-ratio: 156/104;
  }

  .c-booking-steps__item--4 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .c-booking-steps__item--4 .c-booking-steps__background {
    width: 212px;
    height: 140px;
    padding-right: 0;
  }

  .c-booking-steps__item--4 .c-booking-steps__box {
    aspect-ratio: 104/91;
  }

  .c-booking-steps__text {
    margin-top: 0;
  }

  .c-booking-steps__note {
    padding-right: 30px;
  }

  .c-campaign-banner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .c-campaign-banner__container {
    width: 800px;
  }

  .c-case .l-inner--0 {
    width: 100%;
    max-width: initial;
  }

  .c-case .splide__slide {
    width: 600px !important;
  }

  .c-case__image img {
    border-radius: 12px 0 0 12px;
  }

  .c-case__stars {
    border-radius: 0px 12px 0px 12px;
  }

  .c-case__text-block {
    border-radius: 0 12px 12px 0px;
  }

  .c-compare thead th {
    width: 208px;
  }

  .c-compare thead .own {
    font-size: 14px;
  }

  .c-compare .sticky-col {
    position: unset;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .c-compare .cell-initial {
    width: 170px;
  }

  .c-compare .cell-mark {
    font-size: 16px !important;
  }

  .c-compare small {
    font-size: 14px;
  }

  .c-compare .note {
    font-size: 14px;
    margin-top: 15px;
  }

  .c-cta .l-inner--1040 {
    width: 100%;
    max-width: 1040px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .c-cta .promise {
    gap: 20px;
  }

  .c-cta .promise__image {
    margin-left: initial;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .c-cta .promise__description {
    max-width: 620px;
    margin-top: initial;
    line-height: 2;
  }

  .c-cta .promise__title-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }

  .c-cta .promise-item {
    line-height: 1.5;
    padding-left: 53px;
  }

  .c-cta .promise-item::before {
    font-size: 22px;
    width: 37px;
    height: 37px;
  }

  .c-cta__container {
    width: 1000px;
    padding: 30px 0;
    border-radius: 107px;
  }

  .c-cta__content {
    gap: 16px;
  }

  .c-cta__content-inner {
    gap: 48px;
  }

  .c-cta h3 {
    padding-left: 53px;
  }

  .c-cta h3::before {
    width: 37px;
    height: 41px;
  }

  .c-cta__list {
    width: auto;
  }

  .c-cta__item {
    padding-left: 30px;
  }

  .c-cta__item::before {
    width: 22px;
    height: 22px;
  }

  .c-numbers__inner {
    width: 100%;
    max-width: 950px;
  }

  .c-numbers__list {
    grid-template-columns: repeat(3, 300px);
    grid-template-rows: repeat(2, 200px);
  }

  .c-reasons .l-inner--1140 {
    width: 100%;
    max-width: 1140px;
  }

  .c-reasons__item {
    margin-top: 40px;
  }

  .c-reasons__item-container {
    gap: initial;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .c-reasons__title {
    line-height: 1.6;
  }

  .c-reasons__description {
    line-height: 1.75;
    width: 600px;
  }

  .c-reasons__image {
    margin-inline: initial;
    margin-left: auto;
  }

  .c-staff-slider__item {
    width: 370px !important;
    height: 260px;
  }

  .c-staff__comment {
    line-height: 2;
  }

  .for-women-voice .c-voice-card__stars {
    margin-top: 24px;
  }

  .c-btn__cta {
    width: 310px;
    height: 66px;
  }

  .c-card__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 40px;
  }

  .c-desc-area p {
    width: 800px;
  }

  .c-header-area .l-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "item-1 item-2" "item-3 item-2" "item-4 item-2";
    gap: initial;
    row-gap: 40px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }

  .c-header-area__image {
    margin-inline: initial;
    margin-left: auto;
  }

  .c-header-area__image--about {
    margin-inline: initial;
    margin-left: auto;
    -ms-flex-item-align: center;
    align-self: center;
  }

  .c-header-area__lead {
    width: 640px;
    line-height: 1.75;
  }

  .c-heading--sub__box::before,
  .c-heading--sub__box::after {
    width: 250px;
  }

  .c-voice-card__avatar {
    right: 315px;
  }

  .c-voice-card__voice-title {
    min-height: initial;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7777777778;
  }

  .c-voice-card__rating {
    grid-template-columns: repeat(4, minmax(-webkit-max-content, -webkit-max-content));
    grid-template-columns: repeat(4, minmax(max-content, max-content));
    grid-template-rows: 20px;
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
    row-gap: unset;
  }

  .l-header {
    height: 130px;
    border-radius: 0 0 50px 50px;
  }

  .l-footer {
    border-radius: 120px 120px 0 0;
  }

  .l-footer .l-inner--1070 {
    width: 100%;
    max-width: 1070px;
    margin-right: auto;
    padding-left: 30px;
  }

  .l-footer__hr {
    margin: 10px 0;
  }

  .l-footer__flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: initial;
  }

  .l-footer .l-grid {
    gap: 16px 115px;
    grid-template-areas: "item-1 item-2" "item-3 item-4" "item-5 item-6" "item-7 ." "item-8 item-9";
  }

  .l-footer .l-grid__item--9 {
    justify-self: start;
    margin-top: 0;
  }

  .l-footer__company-tel {
    letter-spacing: 0.1em;
  }

  .l-inner--sm {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }

  .l-inner--md {
    width: 100%;
    max-width: 1139px;
    margin: 0 auto;
  }

  .l-inner--lg {
    width: 100%;
    max-width: 1284px;
    margin: 0 auto;
  }

  .l-inner--xl {
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
  }

  .l-flex--block-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .l-flex--column-sp {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .about-overview__bg {
    background: url("../img/top-about-bg.png") no-repeat center/cover;
    padding-top: 35px;
    padding-bottom: 50px;
  }

  .about-overview__container {
    width: 100%;
    max-width: 800px;
  }

  .about-overview__description {
    line-height: 1.75;
  }

  .about-overview__description--1 {
    margin-top: 16px;
  }

  .about-overview__description--2 {
    width: auto;
    float: none;
    margin-top: 0;
  }

  .about-overview__box {
    position: relative;
  }

  .about-overview__illust {
    float: initial;
    position: absolute;
    bottom: -50px;
    left: 100%;
  }

  .about-3points .l-inner--1160 {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
  }

  .about-3points .l-flex {
    gap: initial;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .about-3points .text-block {
    width: 640px;
  }

  .about-3points .label {
    padding-left: 0;
  }

  .about-3points .title {
    padding-left: 0;
  }

  .about-3points .description {
    line-height: 1.75;
  }

  .booking-main__inner {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
  }

  .js-booking__bg.active {
    padding: 300px 0 200px 0;
  }

  .js-booking__insert-phone {
    text-align: right;
  }

  .js-booking__insert-terms {
    margin-top: 50px;
    font-size: 1.4rem;
  }

  .booking-cancel-overview__text {
    font-size: 18px;
    line-height: 1.7777777778;
  }

  .booking-cancel-main__bg {
    margin-bottom: 280px;
  }

  .booking-cancel-main__inner {
    width: 100%;
    max-width: 935px;
  }

  #booking-package_calendarPage .calendar {
    font-size: 1.6rem;
  }

  #booking-package_calendarPage .calendar .available_day:hover {
    background-color: #E17905 !important;
    cursor: pointer;
    color: #fff;
  }

  #booking-package_calendarPage .calendar .available_day:hover .dateField::after {
    background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%27%E3%82%B3%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E5%86%86%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27512%27%20height%3D%27512%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20id%3D%27%E3%83%91%E3%82%B9_4503%27%20data-name%3D%27%E3%83%91%E3%82%B9%204503%27%20d%3D%27M256%2C64c105.875%2C0%2C192%2C86.125%2C192%2C192S361.875%2C448%2C256%2C448C150.141%2C448%2C64%2C361.875%2C64%2C256S150.141%2C64%2C256%2C64m0-64C114.609%2C0%2C0%2C114.625%2C0%2C256%2C0%2C397.391%2C114.609%2C512%2C256%2C512c141.375%2C0%2C256-114.609%2C256-256C512%2C114.625%2C397.375%2C0%2C256%2C0Z%27%20fill%3D%27%23FFFFFF%27%2F%3E%3C%2Fsvg%3E") no-repeat center center;
    background-size: contain;
  }

  #booking-package_schedulePage {
    font-size: 1.6rem;
  }

  #booking-package_schedulePage .bottomPanelForPositionInherit .return_button {
    font-size: 16px;
    bottom: -115px;
  }

  #booking-package_schedulePage .bottomPanelForPositionInherit .return_button::before {
    width: 8.3px;
    height: 13.7px;
  }

  #booking-package_inputFormPanel .row {
    margin-top: 32px !important;
  }

  #booking-package_inputFormPanel .name {
    width: 200px;
    max-width: unset;
    height: 50px;
    font-size: 1.6rem;
  }

  #booking-package_inputFormPanel .value {
    height: 50px;
    font-size: 1.6rem;
  }

  #booking-package_inputFormPanel .cartPanel .bottomBarPanel .book_now_button {
    height: 72px;
    font-size: 20px;
  }

  #booking-package_inputFormPanel .cartPanel .bottomBarPanel .book_now_button:hover {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  #booking-package_inputFormPanel .return_form_button {
    bottom: -140px;
    font-size: 16px;
  }

  #booking-package_inputFormPanel .return_form_button::before {
    width: 8.3px;
    height: 13.7px;
  }

  #booking-package_inputFormPanel .title_in_form {
    font-size: 26px !important;
    top: -200px !important;
  }

  #booking-package_inputFormPanel .row:nth-of-type(4) {
    max-width: unset;
    top: -125px;
  }

  #booking-package_inputFormPanel .row:nth-of-type(4) .name {
    font-size: 1.6rem;
    text-align: left;
  }

  #booking-package_inputFormPanel .row:nth-of-type(4) .value .radio_title {
    font-size: 1.6rem;
  }

  #booking-package_myBookingDetailsFroVisitor .titlePanel {
    top: -50px;
  }

  #booking-package_myBookingDetailsFroVisitor .titlePanel .title {
    font-size: 2rem;
  }

  #booking-package_myBookingDetailsFroVisitor .buttonPanel .cancel_booking_button {
    width: 345px;
    height: 72px;
    font-size: 20px;
  }

  #booking-package_myBookingDetailsFroVisitor .buttonPanel .cancel_booking_button:hover {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .case__item .l-inner--1100 {
    width: 1100px;
    max-width: initial;
  }

  .case__repair-block .l-flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10px;
  }

  .case__repair-block .l-flex_item--1 {
    width: 390px;
  }

  .case__repair-block .l-flex_item--2 {
    width: 500px;
  }

  .case .repair-compare__label {
    margin-bottom: 10px;
  }

  .case .repair-compare__arrow {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin: 0;
    -ms-flex-item-align: center;
    align-self: center;
  }

  .case__repair-container {
    margin-top: 0;
  }

  .case .case__repair-method {
    margin-top: 0;
  }

  .case__divider {
    margin: 32px auto;
  }

  .faq__item-question .title {
    line-height: 1.75;
  }

  .faq-category__list,
  .faq-category-category__list {
    grid-template-columns: repeat(3, 320px);
    gap: 30px 20px;
  }

  .flow li:not(:last-child)::after {
    width: 50px;
    height: 31px;
    bottom: -20px;
  }

  .flow .l-inner--1162 {
    width: 100%;
    max-width: 1162px;
    margin: 0 auto;
  }

  .flow .l-flex {
    gap: initial;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .flow .l-grid {
    grid-template-columns: 600px auto;
    grid-template-areas: "item-1 item-2" "item-3 item-2";
  }

  .flow .l-grid .image {
    margin-top: 0;
  }

  .flow .l-grid .flow-cta {
    margin: 32px auto 0 0;
  }

  .flow .text-block {
    width: 100%;
    max-width: 600px;
  }

  .flow .title {
    margin-top: 16px;
  }

  .flow .description {
    line-height: 1.75;
    margin-top: 16px;
  }

  .for-women-overview__inner {
    width: 900px;
    max-width: initial;
  }

  .for-women-overview__lead {
    line-height: 1.5833333333;
  }

  .for-women-overview__description {
    line-height: 1.75;
  }

  .for-women-overview__image {
    top: 0;
    left: 0;
    -webkit-transform: none;
    transform: none;
  }

  .for-women-banner__bg {
    padding: 32px 0;
  }

  .for-women-banner__image {
    max-width: initial;
    aspect-ratio: 1280/279;
  }

  .for-women-points .l-inner--1160 {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
  }

  .for-women-points .l-flex {
    gap: initial;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .for-women-points .text-block {
    width: 640px;
  }

  .for-women-points .label {
    padding-left: 0;
  }

  .for-women-points .title {
    padding-left: 0;
  }

  .for-women-points .description {
    line-height: 1.75;
  }

  .for-women-voice__bg {
    padding: 40px 0;
  }

  .for-women-voice .c-voice-card__inner {
    width: 100%;
    max-width: initial;
  }

  .for-women-voice .c-voice-card__list {
    gap: 16px;
  }

  .for-women-voice .c-voice-card__item {
    width: 645px;
    height: 390px;
    padding: 30px 40px;
  }

  .for-women-voice .c-voice-card__avatar {
    width: 100px;
  }

  .for-women-voice .c-voice-card__voice-title {
    width: 445px;
    min-height: initial;
    font-size: 18px;
    line-height: 1.5555555556;
  }

  .for-women-voice .c-voice-card__personal {
    font-size: 14px;
    margin-top: 12px;
  }

  .for-women-voice .c-voice-card__comment {
    font-size: 16px;
    margin-top: 26px;
    line-height: 1.75;
  }

  .for-women-image-banner__text-block {
    top: 240px;
    left: 40px;
  }

  .for-women-image-banner__lead {
    font-size: 28px;
  }

  .for-women-image-banner__text {
    font-size: 32px;
  }

  .menu .l-grid {
    grid-template-columns: 600px 1fr;
    grid-template-areas: "item-1 item-2" "item-3 item-2" "item-4 item-2";
    gap: initial;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .menu__lead {
    line-height: 1.75;
  }

  .menu__image {
    margin-inline: initial;
    justify-self: flex-end;
  }

  .menu__description-block .menu__label {
    margin-top: 32px;
  }

  .menu__description-block dl {
    margin-top: 10px;
  }

  .menu__description-block dd {
    line-height: 1.75;
  }

  .menu__description-block p {
    line-height: 1.75;
  }

  .menu .c-btn__primary {
    margin-top: 32px;
  }

  .thankyou-desc-area,
  .cancel-desc-area {
    margin-top: 45px;
  }

  .thankyou-desc-area p,
  .cancel-desc-area p {
    line-height: 1.7777777778;
  }

  .thankyou-overview__bg {
    margin-top: 100px;
    padding: 60px 0;
  }

  .thankyou-overview__box {
    width: 100%;
  }

  .thankyou-overview__text {
    line-height: 2;
  }

  .privacypolicy p {
    line-height: 1.75;
  }

  .c-404 p {
    line-height: 1.7777777778;
  }

  .price-table .l-inner--965 {
    width: 100%;
    max-width: 965px;
    margin: 0 auto;
  }

  .price-table .sticky-col {
    position: unset;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .price-table__note {
    margin-top: 24px;
    line-height: 2.2857142857;
    padding-left: 20px;
  }

  .reason-overview__logo {
    top: initial;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .reason-overview__text {
    top: 50%;
    left: 60px;
    left: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    line-height: 1.6666666667;
  }

  .shop .l-grid {
    grid-template-columns: 425px 500px;
    grid-template-rows: 80px 310px auto;
    -webkit-column-gap: 75px;
    -moz-column-gap: 75px;
    column-gap: 75px;
    height: 585px;
    grid-template-areas: "title ." "information image" "information guarantee";
  }

  .shop__title {
    margin-top: 0;
    letter-spacing: 0.1em;
  }

  .shop__infomation {
    margin-top: 0;
  }

  .shop__infomation-container {
    width: 425px;
  }

  .shop__infomation-container::before {
    letter-spacing: 0.1em;
  }

  .shop .l-table .l-row {
    grid-template-columns: 76px 1fr;
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
  }

  .shop .l-table .l-td,
  .shop .l-table .l-th {
    font-size: 14px;
    line-height: 1.4285714286;
  }

  .shop .l-table .cell-review--td .counts {
    font-weight: normal;
  }

  .shop__guarantee {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: end;
    align-self: flex-end;
  }

  .shop-campaign-banner {
    margin-top: 80px;
  }

  .shop-map__bg {
    height: 390px;
    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: 0;
  }

  .shop-map__content {
    width: 780px;
    height: 288px;
    aspect-ratio: initial;
    margin: 0;
  }

  .case__list--shop {
    gap: 30px;
  }

  .staff-introduction__item {
    max-width: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 320px;
  }

  .staff-introduction__inner {
    width: 800px;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
  }

  .staff-introduction__image {
    width: 250px;
    height: 176px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 12px;
    aspect-ratio: initial;
  }

  .staff-introduction__info {
    padding-top: 0;
    height: auto;
    background-color: transparent;
    border-radius: 0;
    aspect-ratio: initial;
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
  }

  .staff-introduction__info-inner {
    width: auto;
  }

  .staff-introduction__position {
    font-size: 12px;
    margin-top: 8px;
  }

  .staff-introduction__comment {
    font-size: 16px;
    line-height: 1.75;
    margin-top: 16px;
  }

  .top-mv {
    width: 100%;
    max-width: 100%;
    padding: 210px 20px 55px 20px;
  }

  .top-mv__wrapper {
    width: 100%;
    max-width: 1775px;
    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;
    margin: 0 auto;
    gap: 0;
  }

  .top-mv__inner {
    padding-top: 0;
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    max-width: 640px;
  }

  .top-mv__guarantee {
    position: absolute;
    margin: initial;
    bottom: -175px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .top-mv__image-container {
    margin-top: 0;
    width: auto;
    max-width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .top-mv__image {
    width: 100%;
    max-width: 1138px;
    height: auto;
    aspect-ratio: initial;
  }

  .top-mv__numbers {
    right: initial;
    left: -95px;
    bottom: -85px;
  }

  .top-about ul {
    width: 100%;
    max-width: 1040px;
    gap: initial;
    margin-inline: auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .top-about__item .l-flex {
    gap: 36px;
  }

  .top-about__item .title {
    white-space: normal;
    line-height: 1.4545454545;
  }

  .top-reason__header-wrapper {
    width: 100%;
    max-width: 1212px;
    margin-left: auto;
  }

  .top-menu__card {
    margin: 50px auto 0;
    width: 100%;
    max-width: 1139px;
  }

  .top-menu__inner {
    padding: 0 10px;
  }

  .top-menu__image figcaption {
    font-weight: bold;
  }

  .top-price .l-inner--805 {
    width: 100%;
    max-width: 805px;
  }

  .top-price__scroll {
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
    column-gap: 32px;
  }
}

@media screen and (min-width: 1280px) {
  .js-simplebar--staff .simplebar-track.simplebar-horizontal {
    visibility: hidden !important;
  }

  .js-simplebar--staff .simplebar-scrollbar::before {
    visibility: hidden;
  }

  .c-benefits__inner {
    max-width: 1214px;
    width: 100%;
  }

  .c-benefits__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .c-benefits__subtitle {
    line-height: 1.3;
  }

  .c-benefits__text {
    line-height: 1.75;
  }

  .c-cta .promise__label {
    left: -50px;
  }

  .l-header__inner {
    padding: 0 30px;
  }

  .l-header__logo {
    width: 280px;
  }

  .l-header__nav-pc {
    display: block;
  }

  .l-header__nav-sp {
    display: none;
  }
}

@media screen and (min-width: 1440px) {
  .l-header__inner {
    padding: 0 60px;
  }

  .l-header__logo {
    width: 364px;
  }
}

@media screen and (max-width: 999px) {
  a[href^=tel] {
    text-decoration: underline;
    pointer-events: auto;
  }

  .c-breadcrumb {
    font-size: calc(100vw * 12 / 393);
    letter-spacing: 0.02em;
    margin-left: calc(100vw * 8 / 393);
  }

  .c-breadcrumb__separate {
    margin: 0 calc(100vw * 8 / 393);
  }

  .c-breadcrumb__separate::after {
    width: calc(100vw * 4 / 393);
    height: calc(100vw * 4 / 393);
    top: 52%;
    border-top: calc(100vw * 1 / 393) solid #707F89;
    border-right: calc(100vw * 1 / 393) solid #707F89;
  }

  .c-pagination {
    margin-top: calc(100vw * 55 / 393);
  }

  .c-pagination .page-numbers {
    gap: calc(100vw * 25 / 393);
  }

  .c-pagination .page-numbers li a {
    width: calc(100vw * 30 / 393);
    height: calc(100vw * 30 / 393);
    font-size: calc(100vw * 14 / 393);
  }

  .c-pagination .page-numbers li span.current {
    width: calc(100vw * 30 / 393);
    height: calc(100vw * 30 / 393);
    font-size: calc(100vw * 14 / 393);
  }

  .c-pagination .page-numbers li span.dots {
    width: calc(100vw * 30 / 393);
    height: calc(100vw * 30 / 393);
    font-size: calc(100vw * 14 / 393);
  }

  .c-pagination .page-numbers li .prev {
    width: calc(100vw * 30 / 393);
    height: calc(100vw * 30 / 393);
  }

  .c-pagination .page-numbers li .next {
    width: calc(100vw * 30 / 393);
    height: calc(100vw * 30 / 393);
  }

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

  .u-pc-flex {
    display: none !important;
  }

  .u-sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .l-inner--sp-init {
    width: 100%;
    margin: 0 auto;
  }

  .l-grid--block-sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  img {
    height: auto;
  }
}
/*# sourceMappingURL=style.css.map */
