@charset "UTF-8";
@property --root-font-size {
  syntax: "<length>";
  inherits: false;
  initial-value: 16px;
}
@font-face {
  font-family: "Local Noto Sans JP";
  src: local("Noto Sans JP");
}
:root {
  /* inner（sass変数を使用） */
  /* z-index */
  --z-index-header: 100;
  --z-index-modal: 200;
  --z-index-overlay: 900;
  /* color */
  --color-base: #fff;
  --color-text: #333;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #f0f0f0;
  --color-accent: #f97b9c;
  --color-primary: #f97b9c;
  --color-secondary: #171c61;
  --focus-ring-color: var(--color-secondary);
  --color-gray-20: #fbfbfb;
  --color-gray-40: #f9f9f9;
  --color-gray-120: #e0e0e1;
  --color-gray-170: #d4d4d4;
  --color-gray-270: #babbbc;
  --color-gray-600: #666;
  --color-pink-20: #fef6f8;
  --color-pink-40: #ffeff4;
  --color-pink-280: #fa7786;
  --color-pink-320: #f96172;
  --color-gold-450: #b99162;
  --color-brown-690: #604c3f;
  --color-lime-50: #f7fceb;
  --color-indigo-240: #babbcc;
  /* font-family */
  --ff-base: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
  --ff-en: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ff-serif: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
  --to-rem: calc(tan(atan2(1px, var(--root-font-size))) * 1rem);
  /* transition duration */
  --duration: 0.3s;
  /* radius */
  --radius: 6px;
  --radius-large: 20px;
  /* header height */
  --header-height: 180px;
}
@media screen and (max-width: 1023px) {
  :root {
    --header-height: 93px;
    --header-sticky-height: 65px;
  }
}

/*! kiso.css v1.2.4 | MIT License | https://github.com/tak-dcxi/kiso.css */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
::before,
::after {
  /*
  * Includes `padding` and `border` in the element's specified dimensions.
  * It is highly recommended to set `box-sizing: border-box;` by default, as it makes styling much easier, especially when specifying `width: 100%;`.
  */
  box-sizing: border-box;
}

/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
  font-family: sans-serif;
  /*
  * For accessibility, it is recommended to set the `line-height` to at least 1.5 times the text size within paragraphs.
  * @see https://waic.jp/translations/WCAG21/#visual-presentation
  */
  line-height: 1.5;
  /* Remove space when punctuation marks are adjacent, and also remove leading spaces in a line. */
  text-spacing-trim: trim-start;
  /* Improves readability by inserting a small space between Japanese and alphanumeric characters. */
  text-autospace: normal;
  /* Prevents misreading by applying strict line-breaking rules. */
  line-break: strict;
  /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
  overflow-wrap: anywhere;
  /*
  * Mobile browsers have an algorithm that automatically adjusts font sizes to prevent text from becoming too small.
  * This controls the auto-adjustment feature to prevent unwanted resizing.
  */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /*
  * Prevents layout shift caused by the appearance or disappearance of the scrollbar.
  * Starting with Chrome 145, specifying `scrollbar-gutter: stable` will cause vw to be calculated without considering the scrollbar, which will also prevent horizontal scrolling.
  */
  scrollbar-gutter: stable;
  /* Suppresses the tap highlight on iOS. */
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  /*
  * When creating a sticky footer, a minimum height is often required.
  * Setting the `min-block-size` to the dynamic viewport height ensures enough space for the footer.
  */
  min-block-size: 100dvb;
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

:where(h1) {
  /*
  * Adjusts user agent (UA) styles for `h1` elements within sectioning content.
  * This addresses DevTools warnings that appear when `h1` elements nested within sectioning content lack `font-size` and `margin` properties.
  * @see https://html.spec.whatwg.org/#sections-and-headings
  */
  margin-block: 0.67em;
  font-size: 2em;
}

:where(h2, h3, h4, h5, h6) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(search) {
  /*
  * The `<search>` element is supported from Safari 17.
  * This prevents it from being displayed as an inline element in unsupported environments.
  */
  display: block flow;
}

/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(blockquote, figure) {
  /* The `margin-inline` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline: unset;
}

:where(p:lang(en)) {
  /*
  * In English, a single word on the last line is called a "widow" or "orphan" and is considered something to avoid as it makes the text harder to read.
  * Therefore, when lang="en", this prevents the last line from ending with a single word.
  */
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(ul, ol, menu) {
  /* The `padding-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  padding-inline-start: unset;
  /*
  * In Safari, using `list-style: none` prevents screen readers from announcing lists.
  * `list-style-type: ""` is used to hide markers without affecting accessibility.
  * @see https://matuzo.at/blog/2023/removing-list-styles-without-affecting-semantics
  */
  list-style-type: "";
}

:where(dt) {
  /* It is common to display `<dt>` elements in bold, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(dd) {
  /* The `margin-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline-start: unset;
}

:where(pre) {
  /*
  * Since `text-spacing-trim` can affect spacing in `<pre>` elements even with its initial value, the final rendering may depend on the user's font settings.
  * To ensure consistent alignment, `space-all` is explicitly specified and inheritance is prevented.
  */
  text-spacing-trim: space-all;
  /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
  text-autospace: no-autospace;
}

@media print {
  :where(pre) {
    /* Prevent text wrapping in print media. */
    text-wrap-mode: unset;
  }
}
/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn):lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(u, s, del, ins) {
  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}

:where(code, kbd, samp) {
  /*
  * Set a monospace font family referencing Tailwind.
  * @see https://tailwindcss.com/docs/font-family
  */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* Font feature settings can have adverse effects on monospaced fonts, so their values are explicitly set to `initial` to prevent inheritance. */
  font-feature-settings: initial;
  font-variation-settings: initial;
  /* Resets the `font-size` specified in the UA stylesheet to allow inheritance. */
  font-size: unset;
  /*
  * Disables font ligatures for programming fonts (like Fira Code)
  * to prevent character combinations like `=>` from being rendered as a single symbol (e.g., `⇒`).
  */
  font-variant-ligatures: none;
}

:where(abbr[title]) {
  /*
  * The `<abbr>` element with the `title` attribute isn't helpful regarding accessibility because support is inconsistent, and it's only accessible to some users.
  * This rule shows a dotted underline on abbreviations in all browsers (there's a bug in Safari) and changes the cursor.
  * @see https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
  */
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-inset: auto;
  cursor: help;
}

:where(time) {
  /* Set to `no-autospace` because date notations in typography do not include spaces. */
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    /*
    * In forced-colors mode, the color of the mark element may not change, which can be problematic. Use system colors in forced-colors mode.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
    */
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    /*
    * Not all printers support color, and users might print in grayscale.
    * It's worth adding a non-disruptive style that scales with the text, as an alternative to relying only on background color.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkPrint
    */
    border-width: 1px;
    border-style: dotted;
  }
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a) {
  /*
  * The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance.
  * In Firefox on iOS, the user agent stylesheet’s text color is applied even when the text is not a link.
  * @see https://github.com/darkreader/darkreader/issues/9836
  */
  color: unset;
}

:where(a:any-link) {
  /*
  * While link underlines can be useful, they are often obstructive.
  * They are disabled by default.
  * If needed, restore them using `text-decoration-line: revert;`.
  */
  text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, audio, canvas, model, iframe, embed, object) {
  /* Prevents overflow by setting the maximum width to `100%`. */
  max-inline-size: 100%;
  /* Prevents extra space from appearing at the bottom of the element. */
  vertical-align: bottom;
}

:where(img, svg, picture, video, canvas, model, iframe, embed, object) {
  /*
  * Automatically adjust block size based on content.
  * Exclude the <audio> element as it disappears when block-size is auto.
  * @see https://github.com/tak-dcxi/kiso.css/issues/5
  */
  block-size: auto;
}

:where(iframe) {
  /* The `border` specified in the UA stylesheet is often unnecessary, so it is reset. */
  border: unset;
}

/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  /* Collapse borders for a more refined table design. */
  border-collapse: collapse;
}

:where(caption, th) {
  /* The `text-align` specified in the UA stylesheet is often unnecessary, so it is reset. */
  text-align: unset;
}

:where(caption:lang(en)) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

/* ======================================================
//  MARK: Forms
// ====================================================== */
:where(button, input, select, textarea),
::file-selector-button {
  /*
  * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
  * This ensures readability even for unstyled elements.
  * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
  */
  border-width: 1px;
  border-style: solid;
  /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:is([type=radio i], [type=checkbox i])) {
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

:where(input[type=file i]) {
  /* The `border` is often unnecessary, so it is reset here. */
  border: unset;
}

:where(input[type=search i]) {
  /* Remove the rounded corners of search inputs on macOS and normalize the background color. */
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type=search i]) {
    /* normalize the background color on iOS. */
    background-color: Canvas;
  }
}
:where(input:is([type=tel i],
[type=url i],
[type=email i],
[type=number i]):not(:placeholder-shown)) {
  /*
  * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
  * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
  * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
  */
  direction: ltr;
}

:where(textarea) {
  /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
  /* Allows vertical resizing for `<textarea>` elements. */
  resize: block;
}

:where(input:not([type=button i], [type=submit i], [type=reset i]),
textarea,
[contenteditable]) {
  /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
  text-autospace: no-autospace;
}

:where(button,
input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}

:where(button,
input:is([type=button i], [type=submit i], [type=reset i]),
[role=tab i],
[role=button i],
[role=option i]),
::file-selector-button {
  /*
  * On iOS, double-tapping a button can cause zooming, which harms usability.
  * `touch-action: manipulation` is specified to disable zooming on double-tap.
  * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
  */
  touch-action: manipulation;
}

:where(button:enabled,
label[for],
select:enabled,
input:is([type=button i],
[type=submit i],
[type=reset i],
[type=radio i],
[type=checkbox i]):enabled,
[role=tab i],
[role=button i],
[role=option i]),
:where(:enabled)::file-selector-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}

:where(fieldset) {
  /*
  * Prevent fieldset from causing overflow.
  * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
  * @see https://github.com/twbs/bootstrap/issues/12359
  */
  min-inline-size: 0;
  /* The following default styles are often unnecessary, so they are reset. */
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  /* The default `padding-inline` is often unnecessary, so it is reset. */
  padding-inline: unset;
}

:where(progress) {
  /* Resets the vertical alignment of the `<progress>` element to its initial value. */
  vertical-align: unset;
}

::placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  /* The default triangle marker is often unnecessary, so it is disabled. */
  list-style-type: "";
  /* Changing the cursor to a pointer clarifies the clickability of the element. */
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  /* In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed. */
  display: none;
}

:where(dialog, [popover]) {
  /*
  * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
  * Disabling block-direction scroll chaining is recommended.
  */
  overscroll-behavior-block: contain;
  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
  * These elements can be easily displayed by explicitly setting their `display` property.
  * To prevent them from appearing when not in an open state, they are forcibly hidden.
  */
  display: none !important;
}

:where(dialog) {
  /*
  * The max width and height of a `<dialog>` element are typically determined by the design.
  * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
  */
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg/30%);
}

:where([popover]) {
  /*
  * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
  * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
  */
  margin: unset;
}

/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}

/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled=true i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}

[hidden]:not([hidden=until-found i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
}

:where(p) {
  margin: 0;
}

html {
  font-size: 100%;
  scroll-padding-block-start: var(--header-height);
}

body {
  color: var(--color-text);
  font-family: var(--ff-base);
  font-weight: 400;
  background-color: var(--color-white);
}

a[href^=tel] {
  text-decoration: none;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
  transition: opacity var(--duration) ease;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}

img,
svg {
  vertical-align: middle;
}

picture {
  display: block;
}

video,
object {
  display: block;
  max-width: 100%;
  height: auto;
  border: none;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:focus:not(:focus-visible) {
  outline: none;
}

input[type=text] {
  font-size: 1rem;
  /* = 16px */
}

input,
textarea,
select {
  font: inherit;
}

input[type=submit],
input[type=button],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  outline: none;
}

button {
  margin: 0;
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

textarea {
  field-sizing: content;
}

:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}

.l-header {
  position: relative;
  z-index: var(--z-index-header);
}

.l-inner {
  width: min(100%, 73.75rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.c-anchor-bar {
  display: none;
  position: fixed;
  top: calc(var(--anchor-bar-top, 0px) + 0.5rem);
  left: 50%;
  z-index: 90;
  width: min(75rem, 100% - 2.5rem);
  translate: -50% -0.5rem;
  opacity: 0;
  visibility: hidden;
  transition: top var(--duration), translate var(--duration), opacity var(--duration), visibility var(--duration);
}
@media (width < 1734px) {
  .c-anchor-bar {
    display: block;
  }
}
@media (width < 768px) {
  .c-anchor-bar {
    width: calc(100% - 2rem);
  }
}
.c-anchor-bar.is-visible {
  translate: -50% 0;
  opacity: 1;
  visibility: visible;
}

@media (width < 1734px) {
  .c-anchor-bar--about {
    display: none;
  }
}
@media (width < 1620px) {
  .c-anchor-bar--about {
    display: block;
  }
}

.c-anchor-bar__box {
  padding-inline: 0.5rem;
  border: 1px solid var(--color-primary);
  border-radius: 0.375rem;
  background-color: var(--color-white);
}

.c-anchor-bar__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1rem 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}
@media (width < 768px) {
  .c-anchor-bar__toggle {
    padding-block: 0.875rem;
    font-size: 0.875rem;
  }
}

.c-anchor-bar__icon {
  position: relative;
  flex-shrink: 0;
  width: 0.875rem;
  aspect-ratio: 1;
}
.c-anchor-bar__icon::before, .c-anchor-bar__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-primary);
  translate: 0 -50%;
  transition: rotate var(--duration);
}
.c-anchor-bar__icon::after {
  rotate: 90deg;
}
.is-open .c-anchor-bar__icon::after {
  rotate: 0deg;
}

.c-anchor-bar__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--duration);
}
.is-open .c-anchor-bar__panel {
  grid-template-rows: 1fr;
}

.c-anchor-bar__list {
  min-height: 0;
  overflow: hidden;
}
.is-open .c-anchor-bar__list {
  padding-bottom: 0.75rem;
}

.c-anchor-bar__link {
  display: flex;
  gap: 0.5rem;
  padding: 0.625rem 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-anchor-bar__link::before {
  content: "-";
  color: var(--color-primary);
}
.c-anchor-bar__link.is-active {
  color: var(--color-pink-320);
}
@media (width < 768px) {
  .c-anchor-bar__link {
    font-size: 0.875rem;
  }
}

.c-arrow-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 17.5rem;
  min-height: 4.375rem;
  padding: 0.625rem 1.25rem 0.625rem 1.5rem;
  border-radius: var(--radius);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-arrow-button {
    min-width: 0;
  }
}

.c-arrow-button__text {
  word-break: auto-phrase;
}

.c-arrow-button__arrow {
  flex-shrink: 0;
  width: 1.625rem;
}
.c-arrow-button__arrow img {
  display: block;
  width: 100%;
  height: auto;
}

.c-arrow-button--navy {
  min-width: 14.375rem;
  padding-inline-start: 2rem;
  border: 1px solid var(--color-secondary);
  background-color: var(--color-white);
  color: var(--color-text);
  transition: opacity var(--duration) ease, background-color var(--duration) ease;
}
.c-arrow-button--navy .c-arrow-button__arrow {
  width: 1.5rem;
}
@media (any-hover: hover) {
  .c-arrow-button--navy:hover {
    background-color: #d5f2ff;
    opacity: 1;
  }
}

.c-bar-heading {
  position: relative;
  padding-block-end: 1.875rem;
  padding-inline-start: 1.125rem;
  border-block-end: 1px solid #a6a6a7;
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .c-bar-heading {
    padding-block-end: 1.25rem;
    padding-inline-start: 0.5rem;
    font-size: 1.25rem;
  }
}
.c-bar-heading::after {
  content: "";
  position: absolute;
  bottom: -0.125rem;
  left: 0;
  width: 14.0625rem;
  height: 3px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .c-bar-heading::after {
    width: 8.75rem;
  }
}

.c-belongings {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .c-belongings {
    flex-direction: column;
    gap: 0;
  }
}

.c-belongings__item {
  display: flex;
  flex: 1 1 calc(50% - 1rem);
  align-items: flex-start;
  gap: 0.875rem;
  min-width: min(100%, 15rem);
  padding-block: 1rem 1.25rem;
  background-image: linear-gradient(to right, var(--color-primary) 3px, transparent 3px);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 6px 1px;
}
@media screen and (max-width: 767px) {
  .c-belongings__item {
    flex: none;
  }
}

.c-belongings__icon {
  flex-shrink: 0;
  width: 1.375rem;
  margin-block-start: 0.1875rem;
}
.c-belongings__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-belongings__body {
  flex: 1;
  min-width: 0;
}

.c-belongings__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.625rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-belongings__title {
    font-size: 1rem;
  }
}

.c-belongings__tag {
  padding: 0 0.5rem;
  border-radius: 0.1875rem;
  background-color: #A90011;
  color: var(--color-white);
  font-size: 0.75rem;
  line-height: 1.7;
}

.c-belongings__text {
  margin-block-start: 0.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .c-belongings__text {
    font-size: 0.875rem;
  }
}

/**
 * パンくずリスト（c-breadcrumb）
 *
 * 構造:
 *   .c-breadcrumb（外枠）
 *   .c-breadcrumb__inner（l-inner）
 *   .c-breadcrumb__nav > .c-breadcrumb__list > .c-breadcrumb__item
 * 区切りは .c-breadcrumb__item + .c-breadcrumb__item::before で表示
 */
.c-breadcrumb {
  padding-block: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding-block: 0.625rem;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
}

.c-breadcrumb__inner {
  width: min(100%, 87.5rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__inner {
    width: fit-content;
    margin-inline: 0;
    padding-inline: 1.25rem;
  }
}

.c-breadcrumb__list {
  display: flex;
  align-items: flex-start;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__list {
    width: max-content;
  }
}

.c-breadcrumb__item {
  display: inline-flex;
  flex-shrink: 0;
  align-items: baseline;
  max-width: 100%;
  color: var(--color-text);
  font-size: 0.875rem;
  white-space: nowrap;
  /* 2番目以降の項目の前に矢印を表示 */
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    max-width: none;
    font-size: 0.75rem;
  }
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: ">";
  display: inline-block;
  margin: 0 0.25rem;
  flex-shrink: 0;
}
.c-breadcrumb__item:last-child {
  flex-shrink: 1;
  min-width: 0;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item:last-child {
    flex-shrink: 0;
    white-space: nowrap;
  }
}

.c-breadcrumb__link {
  color: var(--color-primary);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .c-breadcrumb__link:hover {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}

.c-button {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  box-sizing: border-box;
  width: min(17.5rem, 100%);
  height: 4.375rem;
  padding-block: 1.5625rem 0;
  padding-inline: 1.5625rem 3.3125rem;
  border-radius: 0.3125rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: opacity var(--duration) ease;
}
@media (any-hover: hover) {
  .c-button:hover {
    opacity: 0.7;
  }
}

.c-button__text {
  display: block;
}

.c-button__arrow {
  position: absolute;
  top: 1.375rem;
  right: 1.3125rem;
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2018%2018'%20fill='none'%20aria-hidden='true'%3e%3ccircle%20cx='9'%20cy='9'%20r='9'%20fill='%23fff'/%3e%3cpath%20stroke='%23F97B9C'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M7.4%205.8%2010.8%209%207.4%2012.2'/%3e%3c/svg%3e") center/contain no-repeat;
}
.c-button__arrow:has(img) {
  background: none;
}
.c-button__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-check-list {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-check-list {
    gap: 0.875rem;
  }
}

.c-check-list--cols {
  flex-flow: row wrap;
  gap: 1.125rem 2.5rem;
  max-width: 45rem;
}
@media screen and (max-width: 767px) {
  .c-check-list--cols {
    flex-direction: column;
    max-width: none;
    gap: 0.875rem;
  }
}

.c-check-list__item {
  display: flex;
  align-items: flex-start;
  gap: 0.9375rem;
  width: fit-content;
  max-width: 100%;
  padding-block-end: 0.625rem;
  background-image: linear-gradient(to right, var(--color-primary) 3px, transparent 3px);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 6px 1px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  .c-check-list__item {
    font-size: 0.875rem;
    line-height: 1.57;
  }
}

.c-check-list__icon {
  flex-shrink: 0;
  width: 1.5625rem;
}
.c-check-list__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-check-list__icon--small {
  width: 1.3125rem;
}

.c-check-pill {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr));
  gap: 0.9375rem 1rem;
}

.c-check-pill--soft > .c-check-pill__item {
  background-color: var(--color-gray-40);
}

.c-check-pill__item {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
  padding: 1.0625rem 1.5rem 1.0625rem 1.375rem;
  border-radius: 1.8125rem;
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-check-pill__item {
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }
}
.c-check-pill__item img {
  flex-shrink: 0;
  width: 1.3125rem;
  height: auto;
}

.c-dash-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-dash-list {
    gap: 0.125rem 1rem;
  }
}

.c-dash-list__item {
  display: flex;
  flex: 1 1 calc(50% - 0.75rem);
  align-items: center;
  gap: 0.625rem;
  min-width: min(100%, 11.25rem);
  padding-block: 0.5rem;
  border-block-end: 1px solid #e3e3e5;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-dash-list__item {
    font-size: 0.875rem;
  }
}
.c-dash-list__item::before {
  content: "";
  flex-shrink: 0;
  width: 0.75rem;
  height: 2px;
  background-color: var(--color-primary);
}

.c-dash-list--column {
  flex-direction: column;
  gap: 0;
}
.c-dash-list--column .c-dash-list__item {
  flex: none;
}

.c-dash-list--dot .c-dash-list__item::before {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: var(--color-primary);
}

@media screen and (max-width: 767px) {
  .c-data-table-scroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--color-indigo-240);
    border-radius: var(--radius);
  }
}
@media screen and (max-width: 767px) {
  .c-data-table-scroll:has(tr > :nth-child(3)) {
    width: fit-content;
    max-width: 100%;
  }
}

.c-data-table {
  width: 100%;
  border: 1px solid var(--color-indigo-240);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .c-data-table {
    font-size: 0.875rem;
  }
}
.c-data-table th,
.c-data-table td {
  padding: 1rem 1.5rem;
  border-block-end: 1px solid var(--color-indigo-240);
  text-align: start;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-data-table th,
  .c-data-table td {
    padding: 0.75rem;
  }
}
.c-data-table tbody th {
  width: 15rem;
  border-inline-end: 1px solid var(--color-indigo-240);
  background-color: var(--color-pink-20);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-data-table tbody th {
    width: 6rem;
  }
}
.c-data-table tbody tr:last-child th,
.c-data-table tbody tr:last-child td {
  border-block-end: 0;
}

.c-data-table--head thead th {
  border-inline-end: 1px solid var(--color-white);
  font-weight: 500;
  background-color: var(--color-primary);
  color: var(--color-white);
}
.c-data-table--head th:last-child,
.c-data-table--head td:last-child {
  border-inline-end: 0;
}
.c-data-table--head td {
  border-inline-end: 1px solid var(--color-indigo-240);
}
@media screen and (max-width: 1023px) and (width >= 768px) {
  .c-data-table--head:has(tr > :nth-child(3)) thead th:first-child,
  .c-data-table--head:has(tr > :nth-child(3)) tbody th {
    width: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-data-table--head {
    width: 100%;
    overflow: visible;
    border: 0;
    border-radius: 0;
  }
  .c-data-table--head:has(tr > :nth-child(3)) {
    width: max-content;
  }
  .c-data-table--head:has(tr > :nth-child(3)) thead th:first-child,
  .c-data-table--head:has(tr > :nth-child(3)) tbody th {
    width: 5.5rem;
  }
  .c-data-table--head:has(tr > :nth-child(3)) th:not(:first-child),
  .c-data-table--head:has(tr > :nth-child(3)) td {
    width: auto;
    max-width: 16.25rem;
  }
  .c-data-table--head thead th:first-child,
  .c-data-table--head tbody th {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 7rem;
  }
  .c-data-table--head thead th:first-child {
    z-index: 2;
    border-start-start-radius: var(--radius);
  }
  .c-data-table--head tbody tr:last-child th {
    border-end-start-radius: var(--radius);
  }
  .c-data-table--head tbody th {
    border-inline-end: 1px solid var(--color-indigo-240);
  }
}

.c-data-table__empty {
  color: #aaa;
}

.c-data-table__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.c-doctor-card {
  position: relative;
  display: block;
  height: 100%;
  padding: 1.4375rem 1.5rem 2.5rem 1.8125rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
  transition: background-color var(--duration) ease;
}
@media (any-hover: hover) {
  .c-doctor-card:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}
@media screen and (max-width: 767px) {
  .c-doctor-card {
    padding: 1.125rem 3rem 1.5rem 1.125rem;
  }
}
.c-doctor-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2.5rem;
  aspect-ratio: 1;
  border-radius: var(--radius) 0 var(--radius) 0;
  background-color: var(--color-pink-280);
}
.c-doctor-card::before {
  content: "";
  position: absolute;
  right: 1rem;
  bottom: 1.1875rem;
  z-index: 1;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  transform: rotate(45deg);
}

.c-doctor-card__role {
  margin-block-start: 1.1875rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}

.c-doctor-card__name {
  margin-block-start: 0.3125rem;
  font-size: 1.3125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-doctor-card__name {
    font-size: 1.1875rem;
  }
}

.c-doctor-profile {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 2.6875rem;
  overflow: hidden;
  padding: 3.1875rem 2.625rem 4.8125rem 3.375rem;
  background: radial-gradient(ellipse 55% 70% at 100% 100%, #eef6c8 0%, rgba(238, 246, 200, 0) 100%), linear-gradient(90deg, #fbf9fb 0%, #fff4f5 55%, #feeff2 100%);
}
@media screen and (max-width: 1023px) {
  .c-doctor-profile {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    padding: 2.5rem 1.5rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-doctor-profile {
    padding: 1.75rem 1rem 2.25rem;
  }
}

.c-doctor-profile__wreath {
  position: absolute;
  top: 3.1875rem;
  right: 1.25rem;
  width: 15.8125rem;
  pointer-events: none;
  scale: -1 1;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__wreath {
    top: 1rem;
    right: -1.5rem;
    width: 10rem;
  }
}
.c-doctor-profile__wreath img {
  display: block;
  width: 100%;
  height: auto;
}

.c-doctor-profile__media {
  position: relative;
  flex: 0 1 23.125rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .c-doctor-profile__media {
    flex: none;
    align-self: center;
    width: min(100%, 23.125rem);
  }
}

.c-doctor-profile__slider {
  margin-block-start: 1rem;
  overflow: hidden;
  border-radius: var(--radius-large);
}
.c-doctor-profile__slider img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

.c-doctor-profile__dots {
  display: flex;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
  margin-inline-start: 0.1875rem;
}

.c-doctor-profile__dot {
  width: 0.9375rem;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #909091;
  cursor: pointer;
}
.c-doctor-profile__dot.is-active {
  background-color: var(--color-primary);
}

.c-doctor-profile__body {
  position: relative;
  flex: 1 1 43.125rem;
  min-width: 0;
  margin-block-start: 0.1875rem;
}
@media screen and (max-width: 1023px) {
  .c-doctor-profile__body {
    flex: none;
    margin-block-start: 0;
  }
}

.c-doctor-profile__role {
  font-family: var(--ff-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.26;
  word-break: auto-phrase;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__role {
    font-size: 0.875rem;
  }
}

.c-doctor-profile__name {
  margin-block-start: 1.3125rem;
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__name {
    margin-block-start: 0.75rem;
    font-size: 1.75rem;
  }
}
.c-doctor-profile__name span {
  margin-inline-start: 1.3125rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__name span {
    margin-inline-start: 0.75rem;
    font-size: 0.75rem;
  }
}

.c-doctor-profile__text {
  max-width: 39.375rem;
  margin-block-start: 1.6875rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.74;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__text {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.c-doctor-profile__spec {
  margin-block-start: 4.5625rem;
  padding: 0.9375rem 2.125rem 3.625rem 2.375rem;
  border: 1px solid var(--color-gray-270);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__spec {
    margin-block-start: 1.75rem;
    padding: 0.5rem 0.875rem 1.5rem;
  }
}

.c-doctor-profile__row {
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__row {
    flex-direction: column;
  }
}
.c-doctor-profile__row dt {
  display: flex;
  flex: 0 0 10rem;
  align-items: center;
  padding-inline-start: 0.75rem;
  border-block-end: 4px solid var(--color-gold-450);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__row dt {
    flex: none;
    padding-block: 1rem 0.375rem;
    padding-inline-start: 0;
    border-block-end-width: 3px;
    font-size: 0.875rem;
  }
}
.c-doctor-profile__row dd {
  flex: 1;
  min-width: 0;
  padding: 1.125rem 0 1.125rem 1.25rem;
  border-block-end: 1px solid var(--color-gray-270);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.65;
}
@media screen and (max-width: 767px) {
  .c-doctor-profile__row dd {
    padding: 0.625rem 0 0.875rem;
    font-size: 0.875rem;
  }
}

.c-dots-heading {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-family: var(--ff-serif);
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .c-dots-heading {
    gap: 0.5625rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}

.c-dots-heading__icon {
  flex-shrink: 0;
  width: 1.875rem;
  margin-block-start: -0.9375rem;
}
@media screen and (max-width: 767px) {
  .c-dots-heading__icon {
    width: 1.3125rem;
    margin-block-start: -0.5625rem;
  }
}
.c-dots-heading__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-faq {
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  overflow: hidden;
  padding-block-start: 0.4375rem;
  border-radius: var(--radius);
  background-color: var(--color-white);
  box-shadow: 0 0 10px 0 rgb(244, 198, 220);
}
@media screen and (max-width: 767px) {
  .c-faq {
    gap: 0;
    padding-block-start: 0.5rem;
  }
}

.c-faq__item {
  padding-block: 1.25rem 1.625rem;
  padding-inline: 3.375rem 2.9375rem;
}
.c-faq__item:nth-child(even) {
  background-color: #f7f7f7;
}
.c-faq__item:last-child {
  padding-block-end: 2.875rem;
}
@media screen and (max-width: 767px) {
  .c-faq__item {
    padding: 0.875rem 0.875rem 0.9375rem;
  }
  .c-faq__item:last-child {
    padding-block-end: 1.375rem;
  }
}

.c-faq__q {
  width: min(100%, 68.75rem);
  padding-block-end: 0.875rem;
  padding-inline-start: 0.0625rem;
  border-block-end: 1px solid #cbcccd;
}
@media screen and (max-width: 1023px) {
  .c-faq__q {
    width: 100%;
    padding-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-faq__q {
    padding-block-end: 1rem;
  }
}

.c-faq__q-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .c-faq__q-inner {
    align-items: center;
    gap: 0.875rem;
  }
}

.c-faq__q-mark {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 2.625rem;
  aspect-ratio: 1;
  margin-block-start: -0.0625rem;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-faq__q-mark {
    margin-block-start: 0;
  }
}

.c-faq__q-mark-text {
  line-height: 1;
  translate: 0.1em -0.15em;
}

.c-faq__q-text {
  flex: 1;
  min-width: 0;
  padding-block-start: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-faq__q-text {
    padding-block-start: 0;
    line-height: 1.38;
  }
}

.c-faq__a {
  display: flex;
  align-items: flex-start;
  gap: 0.8125rem;
  margin-block-start: 0.8125rem;
  margin-inline-start: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-faq__a {
    gap: 0.9375rem;
    margin-block-start: 0.875rem;
  }
}

.c-faq__a-mark {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-faq__a-mark {
    font-weight: 500;
  }
}

.c-faq__a-text {
  flex: 1;
  min-width: 0;
  padding-block-start: 0.0625rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-faq__a-text {
    line-height: 1.63;
  }
}

.c-flow-steps {
  --step-count: 4;
  --step-gap: 1.0625rem;
  position: relative;
  display: flex;
  gap: var(--step-gap);
  max-width: 70.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-flow-steps {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.c-flow-steps::before {
  content: "";
  position: absolute;
  top: 1.4375rem;
  right: calc((100% - var(--step-gap) * (var(--step-count) - 1)) / (var(--step-count) * 2));
  left: calc((100% - var(--step-gap) * (var(--step-count) - 1)) / (var(--step-count) * 2));
  height: 0.3125rem;
  background: linear-gradient(90deg, #f9b48d 0%, #f88285 50%, #f5517d 100%);
}
@media screen and (max-width: 767px) {
  .c-flow-steps::before {
    top: 0;
    right: auto;
    bottom: 0;
    left: calc(3.125rem / 2);
    width: 0.25rem;
    height: auto;
    background: linear-gradient(180deg, #f9b48d 0%, #f88285 50%, #f5517d 100%);
    transform: translateX(-50%);
  }
}

.c-flow-steps__item {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .c-flow-steps__item {
    flex: none;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
  }
  .c-flow-steps__item:first-child::after, .c-flow-steps__item:last-child::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    width: 3.125rem;
    background-color: var(--color-white);
  }
  .c-flow-steps__item:first-child::after {
    top: 0;
    height: 50%;
  }
  .c-flow-steps__item:last-child::before {
    top: 50%;
    bottom: 0;
  }
}

.c-flow-steps__num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 3.125rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}

.c-flow-steps__box {
  flex: 1;
  align-self: stretch;
  margin-block-start: 1.25rem;
  padding: 2.5rem clamp(1rem, calc(5.3333333333 / 16 * 1rem) + 1.3888888889vw, 2rem) 3.5rem;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 1023px) {
  .c-flow-steps__box {
    padding: 2rem 1rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-flow-steps__box {
    flex: 1 1 auto;
    margin-block-start: 0;
    padding: 1.5rem 1.25rem;
  }
}

.c-flow-steps__title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .c-flow-steps__title {
    font-size: 1.125rem;
  }
}

.c-flow-steps__text {
  width: fit-content;
  margin-block-start: 1.375rem;
  margin-inline: auto;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-flow-steps__text {
    margin-block-start: 0.75rem;
    font-size: 0.875rem;
  }
}

.c-gold-tag {
  display: inline-flex;
  padding: 0.1875rem 0.3125rem;
  background: linear-gradient(90deg, #d7b16a 0%, #c29a64 100%);
}

.c-gold-tag__text {
  padding: 0.4375rem 0.6875rem;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-gold-tag__text {
    padding: 0.3125rem 0.625rem;
    font-size: 0.875rem;
  }
}

.c-hours-table {
  width: min(37.125rem, 100%);
  border: 1px solid var(--color-indigo-240);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  overflow: hidden;
  table-layout: fixed;
  font-size: 0.875rem;
}
@media screen and (max-width: 1023px) {
  .c-hours-table {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-hours-table {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    font-size: 0.875rem;
    box-sizing: border-box;
  }
}
.c-hours-table th,
.c-hours-table td {
  padding: 0 0.25rem;
  text-align: center;
  border: 0;
  border-inline-end: 1px solid var(--color-indigo-240);
  border-block-end: 1px solid var(--color-indigo-240);
  vertical-align: middle;
}
.c-hours-table th:last-child,
.c-hours-table td:last-child {
  border-inline-end: 0;
}
.c-hours-table tbody tr:last-child th,
.c-hours-table tbody tr:last-child td {
  border-block-end: 0;
}
.c-hours-table thead th {
  height: 3.125rem;
  border-inline-end-color: var(--color-white);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
}
.c-hours-table thead th.c-hours-table__corner {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-hours-table thead th {
    height: 2.5rem;
    padding-block: 0.0625rem 0;
    font-size: 0.875rem;
    line-height: 1.15;
  }
}
.c-hours-table tbody th,
.c-hours-table tbody td {
  height: 3rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-hours-table tbody th,
  .c-hours-table tbody td {
    height: 3.1875rem;
  }
}
.c-hours-table tbody td {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-hours-table tbody td {
    font-size: 0.875rem;
    font-weight: 500;
  }
}

.c-hours-table__corner {
  width: 10rem;
}
@media screen and (max-width: 767px) {
  .c-hours-table__corner {
    width: 4.5rem;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .c-hours-table__sun-line {
    display: block;
    font-size: 0.8125rem;
    line-height: 0.85;
  }
}

th.c-hours-table__label {
  padding-inline: 0.3125rem 0.625rem;
  padding-block-end: 0.1875rem;
  background-color: var(--color-white);
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  th.c-hours-table__label {
    padding: 0.1875rem 0.25rem 0.125rem;
    font-size: 0.875rem;
    font-weight: 500;
    vertical-align: top;
  }
}

.c-hours-table__pill {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 3rem;
  height: 1.5rem;
  min-width: 2.75rem;
  padding: 0.125rem 0.625rem 0.125rem;
  margin-inline-end: 0.375rem;
  border-radius: 100vmax;
  background-color: #fef0f4;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-hours-table__pill {
    width: 2.5625rem;
    height: 1.5rem;
    min-width: 2.5625rem;
    padding: 0.25rem 0.25rem 0.125rem;
    margin-inline-end: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.2;
    transform: none;
    vertical-align: top;
  }
}

.c-hours-table__hours {
  display: inline-block;
  position: relative;
  margin-inline-start: -0.1875rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-hours-table__hours {
    top: 0;
    margin-inline-start: 0;
    font-size: 0.5625rem;
    line-height: 1.2;
  }
}

.c-hours-table__mark {
  display: block;
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.1;
  -webkit-text-stroke: 0.5px currentColor;
}

.c-hours-table__note {
  display: block;
  margin-block-start: 0.0625rem;
  color: var(--color-gray-600);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-hours-table__note {
    font-size: 0.5625rem;
    color: var(--color-text);
  }
}
@media screen and (max-width: 389px) {
  .c-hours-table__note {
    font-size: 0.5rem;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }
}

.c-hours-table--wide {
  width: 100%;
}

.c-info-list__row {
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-info-list__row {
    flex-direction: column;
  }
}

.c-info-list__label {
  display: flex;
  flex: 0 0 8.125rem;
  align-items: center;
  padding-inline-start: 0.75rem;
  border-block-end: 4px solid var(--color-gold-450);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-info-list__label {
    flex: none;
    padding: 1rem 0 0.375rem;
    padding-inline-start: 0;
    border-block-end-width: 3px;
    font-size: 0.875rem;
  }
}

.c-info-list__value {
  flex: 1;
  min-width: 0;
  padding: 1.25rem 0 1.25rem 1.25rem;
  border-block-end: 1px solid var(--color-gray-270);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .c-info-list__value {
    padding: 0.625rem 0 0.875rem;
    font-size: 0.875rem;
  }
}

.c-info-list__tel {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-info-list__tel {
    font-size: 1.25rem;
  }
}

.c-line-heading {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  color: var(--color-text);
  font-size: 1.3125rem;
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-line-heading {
    gap: 0.75rem;
    font-size: 1.125rem;
  }
}
.c-line-heading::before {
  content: "";
  flex-shrink: 0;
  width: 0.25rem;
  height: 3.125rem;
  border-radius: 100vmax;
  background-color: var(--color-gold-450);
}
@media screen and (max-width: 767px) {
  .c-line-heading::before {
    height: 2.25rem;
  }
}

.c-mark-heading {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
  font-family: var(--ff-serif);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .c-mark-heading {
    gap: 0.75rem;
    font-size: 1.1875rem;
    line-height: 1.4;
  }
}
.c-mark-heading::before {
  content: "";
  flex-shrink: 0;
  align-self: stretch;
  width: 0.25rem;
  min-height: 2.4375rem;
  background-color: #b50d45;
}
@media screen and (max-width: 767px) {
  .c-mark-heading::before {
    min-height: 1.875rem;
  }
}

.c-matrix-table {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-indigo-240);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.6;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .c-matrix-table {
    font-size: 0.75rem;
  }
}
.c-matrix-table th,
.c-matrix-table td {
  padding: 0.75rem 0.625rem;
  border-inline-end: 1px solid var(--color-indigo-240);
  border-block-end: 1px solid var(--color-indigo-240);
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-matrix-table th,
  .c-matrix-table td {
    padding: 0.5rem 0.25rem;
  }
}
.c-matrix-table th:last-child,
.c-matrix-table td:last-child {
  border-inline-end: 0;
}
.c-matrix-table thead th {
  border-inline-end-color: var(--color-white);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: 500;
}
.c-matrix-table tbody th {
  padding-inline: 1rem;
  background-color: var(--color-pink-20);
  font-weight: 500;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .c-matrix-table tbody th {
    padding-inline: 0.5rem;
  }
}
.c-matrix-table tbody tr:last-child > * {
  border-block-end: 0;
}

.c-matrix-table__col-label {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .c-matrix-table__col-label {
    width: 38%;
  }
}

.c-matrix-table__price {
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-matrix-table__price {
    font-size: 0.6875rem;
    white-space: normal;
  }
}

.c-matrix-table__num {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-matrix-table__num {
    display: block;
  }
}

.c-menu-card {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-large);
  background-color: var(--color-white);
  color: var(--color-text);
  box-shadow: 0 0 7px rgb(244, 198, 220);
}

.c-menu-card__image {
  display: block;
  overflow: hidden;
}
.c-menu-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.c-menu-card__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.375rem 1.25rem 1.125rem 1.375rem;
}
@media screen and (max-width: 767px) {
  .c-menu-card__body {
    padding: 1rem 0.875rem 0.875rem 1rem;
  }
}
.c-menu-card__body::before {
  content: "";
  position: absolute;
  top: 1.625rem;
  left: 0;
  width: 3px;
  height: 1.75rem;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .c-menu-card__body::before {
    top: 1.125rem;
    height: 1.375rem;
  }
}

.c-menu-card__title {
  color: var(--color-brown-690);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-menu-card__title {
    font-size: 1rem;
  }
}

.c-menu-card__text {
  margin-block-start: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-menu-card__text {
    font-size: 0.8125rem;
  }
}

.c-menu-card__more {
  display: block;
  width: 1.625rem;
  margin-block-start: auto;
  margin-inline-start: auto;
  padding-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .c-menu-card__more {
    width: 1.375rem;
    padding-block-start: 0.75rem;
  }
}
.c-menu-card__more img {
  display: block;
  width: 100%;
  height: auto;
}

.c-method-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.75rem 1.875rem 2rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-method-card {
    padding: 1.375rem 1.125rem 1.5rem;
  }
}

.c-method-card__label {
  padding: 0.1875rem 0.75rem;
  border-radius: var(--radius);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.c-method-card__title {
  margin-block-start: 0.875rem;
  font-family: var(--ff-serif);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-method-card__title {
    margin-block-start: 0.625rem;
    font-size: 1.1875rem;
  }
}
.c-method-card__title:first-child {
  margin-block-start: 0;
}

.c-method-card__title--compact {
  font-size: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .c-method-card__title--compact {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .c-method-card__title--compact {
    font-size: 1.1875rem;
  }
}

.c-method-card__lead {
  margin-block-start: 0.625rem;
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-method-card__lead {
    font-size: 0.9375rem;
  }
}

.c-method-card__text {
  margin-block-start: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-method-card__text {
    font-size: 0.875rem;
  }
}

.c-method-card__list {
  align-self: stretch;
  margin-block-start: 0.5rem;
}

.c-method-card__action {
  align-self: stretch;
  margin-block-start: auto;
  padding-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-method-card__action {
    padding-block-start: 1.125rem;
  }
}
.c-method-card__action .c-reserve-button,
.c-method-card__action .c-outline-button {
  width: 100%;
  min-width: 0;
}

.c-method-card__action--stack {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-method-card__action--stack {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.c-method-card__action--stack .c-reserve-button,
.c-method-card__action--stack .c-outline-button {
  width: auto;
  min-width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .c-method-card__action--stack .c-reserve-button,
  .c-method-card__action--stack .c-outline-button {
    width: 100%;
    min-width: 0;
  }
}

.c-method-card__tel {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.2;
}

.c-method-card__tel-label {
  font-size: clamp(1.125rem, calc(3.1594202899 / 16 * 1rem) + 1.4492753623vw, 1.375rem);
}

.c-method-card__tel-value {
  font-size: clamp(1.5rem, calc(9.1594202899 / 16 * 1rem) + 1.4492753623vw, 1.75rem);
  letter-spacing: 0.08em;
}

.c-method-card__note {
  margin-block-start: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-method-card__note {
    font-size: 0.8125rem;
  }
}

.c-notice__item {
  border: 1px solid var(--color-gray-120);
  border-radius: 0.375rem;
  overflow: hidden;
}

.c-notice__item.is-opened .c-notice__item-summary-inner::after {
  rotate: 90deg;
}

.c-notice__item-summary {
  display: block;
  width: 100%;
  color: var(--color-text);
  transition: background-color var(--duration);
}
@media (any-hover: hover) {
  .c-notice__item-summary:hover {
    cursor: pointer;
    background-color: color-mix(in srgb, var(--color-primary) 5%, white);
  }
}
.c-notice__item-summary::-webkit-details-marker {
  display: none;
}

.c-notice__item-summary-inner {
  display: block;
  position: relative;
  padding: 1.25rem 1.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-notice__item-summary-inner {
    padding: 1.25rem;
  }
}
.c-notice__item-summary-inner::before, .c-notice__item-summary-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  border-radius: 100vmax;
  background: var(--color-text);
  translate: 0 -50%;
}
.c-notice__item-summary-inner::before {
  right: 2.5rem;
  width: 1rem;
  height: 0.125rem;
}
@media screen and (max-width: 767px) {
  .c-notice__item-summary-inner::before {
    right: 1.25rem;
    width: 1.25rem;
  }
}
.c-notice__item-summary-inner::after {
  right: 2.9375rem;
  width: 0.125rem;
  height: 1rem;
  rotate: 0deg;
  transition: rotate 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-notice__item-summary-inner::after {
    right: 1.8125rem;
    height: 1.25rem;
  }
}

.c-notice__item-summary-text {
  display: inline-block;
  position: relative;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .c-notice__item-summary-text {
    padding-inline: 1.875rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.c-notice__item-content {
  overflow: hidden;
}

.c-notice__item-content-inner {
  padding: 1.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-notice__item-content-inner {
    padding: 1rem 1.25rem;
  }
}

.c-notice__item-content-text {
  position: relative;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9285714286;
}
@media screen and (max-width: 767px) {
  .c-notice__item-content-text {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

.c-notice__item-content-text-item {
  position: relative;
  padding-inline-start: 1rem;
}
.c-notice__item-content-text-item::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: var(--color-text);
}

.c-num-heading {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-family: var(--ff-serif);
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-num-heading {
    gap: 0.75rem;
    font-size: 1.375rem;
  }
}

.c-num-heading__num {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 2.75rem;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-num-heading__num {
    font-size: 2.125rem;
  }
}

.c-outline-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-width: 15.625rem;
  min-height: 4.0625rem;
  padding: 0.625rem 2.875rem 0.625rem 1.875rem;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.43;
  transition: background-color var(--duration) ease, color var(--duration) ease;
}
@media screen and (max-width: 767px) {
  .c-outline-button {
    min-width: 0;
    padding-inline: 0.875rem 1.375rem;
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .c-outline-button:hover {
    opacity: 1;
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .c-outline-button:hover::after {
    background-color: var(--color-white);
  }
  .c-outline-button:hover .c-outline-button__icon img {
    filter: brightness(0) invert(1);
  }
}
.c-outline-button::after {
  content: "";
  position: absolute;
  inset-block: 0;
  right: 1.0625rem;
  width: 0.75rem;
  height: 1rem;
  margin-block: auto;
  background-color: var(--color-primary);
  transition: background-color var(--duration) ease;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .c-outline-button::after {
    right: 0.625rem;
  }
}

.c-outline-button--navy {
  border-color: var(--color-secondary);
}
.c-outline-button--navy::after {
  background-color: var(--color-secondary);
}
@media (any-hover: hover) {
  .c-outline-button--navy:hover {
    background-color: #d5f2ff;
    color: inherit;
  }
  .c-outline-button--navy:hover::after {
    background-color: var(--color-secondary);
  }
  .c-outline-button--navy:hover .c-outline-button__icon img {
    filter: none;
  }
}

.c-outline-button--blank::after {
  width: 0.9375rem;
  height: 0.8125rem;
  -webkit-mask-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%23fff'%20d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z'/%3e%3cpath%20fill='%23fff'%20d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z'/%3e%3c/svg%3e");
  mask-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%23fff'%20d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z'/%3e%3cpath%20fill='%23fff'%20d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z'/%3e%3c/svg%3e");
}

.c-outline-button--small {
  min-width: 12.5rem;
  min-height: 3.25rem;
  padding: 0.5rem 2rem 0.5rem 1.25rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-outline-button--small {
    min-width: 10rem;
    min-height: 2.875rem;
    padding-inline: 1rem 2.25rem;
  }
}
.c-outline-button--small::after {
  right: 0.75rem;
}
@media screen and (max-width: 767px) {
  .c-outline-button--small::after {
    right: 0.875rem;
  }
}

.c-outline-button--wide {
  min-width: 17.375rem;
}
@media screen and (max-width: 767px) {
  .c-outline-button--wide {
    min-width: 0;
  }
}

.c-outline-button__icon {
  flex-shrink: 0;
  width: 1.875rem;
  margin-inline-end: 0.6875rem;
}
.c-outline-button__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-outline-button__icon--stomach {
  width: 1.9375rem;
  margin-inline: 0 1.25rem;
}

.c-outline-button__icon--colon {
  width: 2.0625rem;
  margin-inline: -0.125rem 1.1875rem;
}

.c-outline-button__icon--polyp {
  width: 2.5rem;
  margin-inline: -0.625rem 0.4375rem;
}

.c-outline-button__icon--flow {
  width: 1.625rem;
  margin-inline: -0.4375rem 0.8125rem;
}

.c-outline-button--large {
  min-width: 16.875rem;
  min-height: 4.6875rem;
  padding-inline-start: 1.5625rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-outline-button--large {
    min-width: 0;
    min-height: 3.75rem;
    padding-inline-start: 0.875rem;
    font-size: 0.9375rem;
  }
}

.c-page-nav {
  position: sticky;
  top: calc(50% - 1.875rem);
  z-index: 2;
  width: 0;
  height: 0;
  overflow: visible;
}
@media (width < 1734px) {
  .c-page-nav {
    display: none;
  }
}

.c-page-nav__list {
  display: flex;
  flex-direction: column;
  gap: 2.375rem;
  width: 16.6875rem;
  padding: 3.0625rem 1.625rem 3.1875rem 1.875rem;
  border-radius: 0 0.75rem 0.75rem 0;
  background-color: #fef3f4;
  translate: 0 -50%;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--duration), visibility var(--duration);
}

.c-page-nav.is-visible .c-page-nav__list {
  opacity: 1;
  visibility: visible;
}

.c-page-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  word-break: auto-phrase;
}
@media (any-hover: hover) {
  .c-page-nav__link:hover {
    color: var(--color-pink-320);
  }
}
.c-page-nav__link.is-active {
  color: var(--color-pink-320);
}

.c-page-nav__circle {
  position: relative;
  flex-shrink: 0;
  width: 1.75rem;
  aspect-ratio: 1;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  background-color: var(--color-white);
}
.c-page-nav__circle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 1px);
  width: 0.4375rem;
  height: 0.4375rem;
  border-right: 1.5px solid var(--color-pink-320);
  border-bottom: 1.5px solid var(--color-pink-320);
  transform: translate(-55%, -50%) rotate(-45deg);
}

.c-page-nav--compact .c-page-nav__list {
  gap: 1.6875rem;
}

.c-page-nav__sub {
  display: block;
  font-size: 0.625rem;
  line-height: 1.5;
}

/**
 * ページネーション共通コンポーネント
 *
 * 親（プロジェクト）から上書きする場合:
 *   - 呼び出し元で親クラスで wrap する（例: <div class="p-archive__pagination">...</div>）
 *   - プロジェクトの SCSS ではその wrapper クラスに --_pagination-* を設定する
 *   - 親の CSS ファイルに c-pagination のクラス名は書かない（コンポーネントのカプセル化）
 *
 * 上書き可能な変数: --_pagination-bg, --_pagination-text, --_pagination-text-hover,
 *   --_pagination-bg-hover, --_pagination-active-bg, --_pagination-active-text,
 *   --_pagination-border, --_pagination-border-hover
 */
.c-pagination {
  /* 色（ローカル変数。親の wrapper で上書き可能） */
  --_pagination-bg: var(--color-white);
  --_pagination-text: var(--color-text);
  --_pagination-text-hover: var(--color-text);
  --_pagination-bg-hover: var(--color-pink-40);
  --_pagination-active-bg: var(--color-primary);
  --_pagination-active-text: var(--color-white);
  --_pagination-border: var(--color-primary);
  --_pagination-border-hover: var(--color-primary);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.c-pagination__item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2.75rem;
  min-width: 2.75rem;
  padding: 0 0.75rem;
  border: 1px solid var(--_pagination-border);
  border-radius: var(--radius);
  background-color: var(--_pagination-bg);
  color: var(--_pagination-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--duration) ease;
}
@media screen and (max-width: 767px) {
  .c-pagination__item {
    height: 2.5rem;
    min-width: 2.5rem;
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .c-pagination__item:hover:not([data-state=current]) {
    opacity: 1;
    border-color: var(--_pagination-border-hover);
    background-color: var(--_pagination-bg-hover);
    color: var(--_pagination-text-hover);
  }
}

.c-pagination__item[data-state=current] {
  border-color: var(--_pagination-active-bg);
  background-color: var(--_pagination-active-bg);
  color: var(--_pagination-active-text);
}

.c-pagination__item[data-state=dots] {
  border-color: transparent;
  background-color: transparent;
  cursor: default;
}
.c-pagination__item[data-state=dots]:hover {
  border-color: transparent;
  background-color: transparent;
}

.c-pagination__item[data-state=prev],
.c-pagination__item[data-state=next] {
  font-weight: 500;
}

.c-pagination__item[data-state=disabled] {
  opacity: 0.6;
  cursor: default;
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=disabled]:hover {
    border-color: var(--_pagination-border);
    background-color: var(--_pagination-bg);
    color: var(--_pagination-text);
  }
}

.c-photo-point {
  position: relative;
  padding-block-start: 2.5625rem;
  padding-inline-start: 2.5625rem;
}

.c-photo-point__badge {
  position: absolute;
  top: 0;
  left: 0;
  width: 4.625rem;
  aspect-ratio: 1;
  padding: 0.8125rem 0 0 1.125rem;
  border: 1px solid var(--color-pink-280);
  border-radius: 50%;
  color: var(--color-pink-280);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.2;
}
.c-photo-point__badge span {
  display: block;
  font-size: 0.875rem;
  line-height: 1.2;
}

.c-photo-point__photo {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
}
.c-photo-point__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 315/235;
  object-fit: cover;
}

.c-photo-point__title {
  margin-block-start: 1.25rem;
  color: var(--color-pink-280);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.c-photo-point__text {
  margin-block-start: 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.73;
}
@media screen and (max-width: 767px) {
  .c-photo-point__text {
    font-size: 0.875rem;
  }
}

.c-photo-point__links {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-block-start: 1rem;
}

.c-photo-point__note {
  margin-block-start: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}

.c-pill-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  width: 13.375rem;
  height: 2.8125rem;
  padding: 0.375rem 1.125rem 0.375rem 1.125rem;
  border: 1px solid var(--color-primary);
  border-radius: 62.4375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color var(--duration) ease;
}
@media (any-hover: hover) {
  .c-pill-link:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}
@media screen and (max-width: 767px) {
  .c-pill-link {
    width: auto;
    height: auto;
    padding: 0.3125rem 0.75rem 0.3125rem 0.75rem;
    font-size: 0.75rem;
  }
}

.c-pill-link__label {
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.c-pill-link__arrow {
  display: inline-flex;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.c-pill-link__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-pill-list {
    gap: 0.5rem;
  }
}

.c-pill-list__item {
  padding: 0.5625rem 1.25rem;
  border: 1px solid var(--color-pink-280);
  border-radius: 62.4375rem;
  background-color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-pill-list__item {
    padding: 0.4375rem 0.875rem;
    font-size: 0.875rem;
  }
}

.c-point-card {
  display: flex;
  align-items: flex-start;
  gap: 1.8125rem;
  width: 100%;
  height: 100%;
  padding: 1.5rem 2.25rem 3.5625rem 1.75rem;
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-point-card {
    gap: 1rem;
    padding: 1.25rem 1.125rem 1.75rem;
  }
}

.c-point-card__badge {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4.375rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-pink-280);
  border-radius: 50%;
  color: var(--color-pink-280);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-point-card__badge {
    width: 3.5rem;
    font-size: 1.125rem;
  }
}
.c-point-card__badge span {
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-point-card__badge span {
    font-size: 0.75rem;
  }
}

.c-point-card__body {
  flex: 1;
  min-width: 0;
}

.c-point-card__title {
  margin-block-start: 1.25rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  .c-point-card__title {
    margin-block-start: 0.75rem;
    font-size: 1.0625rem;
  }
}

.c-point-card__text {
  margin-block-start: 1.1875rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.73;
}
@media screen and (max-width: 767px) {
  .c-point-card__text {
    margin-block-start: 0.75rem;
    font-size: 0.875rem;
  }
}

.c-point-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 28.75rem), 1fr));
  gap: 2.1875rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-point-list {
    gap: 1rem;
  }
}
.c-point-list > li {
  display: flex;
  min-width: 0;
}

.c-reserve-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 18.5rem;
  height: 4.75rem;
  padding: 0.875rem 1rem 0.875rem 1.5625rem;
  border: 0;
  border-radius: var(--radius);
  background: linear-gradient(90deg, #ff87a2, #f85681);
  color: var(--color-white);
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-reserve-button {
    width: 100%;
    height: auto;
    gap: 0.625rem;
    padding: 0.875rem 1rem;
  }
}

.c-reserve-button__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.0625rem;
  height: 1.875rem;
}
.c-reserve-button__icon img {
  display: block;
  width: 2.0625rem;
  height: 1.875rem;
}

.c-reserve-button__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
  min-width: 0;
}

.c-reserve-button__text {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-reserve-button__text {
    font-size: 1.5rem;
  }
}

.c-reserve-button__note {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3;
  opacity: 0.95;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-reserve-button__note {
    font-size: 0.75rem;
  }
}

.c-reserve-button__external {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  align-self: center;
  justify-content: center;
  width: 1.0625rem;
  height: 1rem;
  margin-inline-start: auto;
}
.c-reserve-button__external img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.c-reserve-button--large {
  flex: 1 1 14.5rem;
  gap: 1rem;
  width: auto;
  min-width: 0;
  height: 5.875rem;
  padding: 0.875rem 1rem 0.875rem 1.9375rem;
}

.c-reserve-button--large .c-reserve-button__icon {
  width: 2.375rem;
  height: 2.0625rem;
}
.c-reserve-button--large .c-reserve-button__icon img {
  width: 2.375rem;
  height: 2.0625rem;
}

.c-reserve-button--large .c-reserve-button__text {
  font-size: 1.625rem;
  letter-spacing: 0;
}

.c-reserve-button--large .c-reserve-button__note {
  font-weight: 700;
  letter-spacing: 0;
}

.c-reserve-button--compact {
  justify-content: flex-start;
  gap: 1.125rem;
  width: auto;
  min-width: 15.3125rem;
  height: auto;
  min-height: 4.0625rem;
  padding: 0.625rem 1.25rem 0.625rem 1.375rem;
}
@media screen and (max-width: 767px) {
  .c-reserve-button--compact {
    width: 100%;
  }
}

.c-reserve-button--compact .c-reserve-button__text {
  font-size: 1.25rem;
  line-height: 1.2;
}

.c-schedule-table {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-indigo-240);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .c-schedule-table {
    font-size: 0.8125rem;
  }
}
.c-schedule-table th,
.c-schedule-table td {
  padding: 0.8125rem 0.5rem;
  border-inline-end: 1px solid var(--color-indigo-240);
  border-block-end: 1px solid var(--color-indigo-240);
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-schedule-table th,
  .c-schedule-table td {
    padding: 0.625rem 0.125rem;
  }
}
.c-schedule-table th:last-child,
.c-schedule-table td:last-child {
  border-inline-end: 0;
}
.c-schedule-table tbody tr:last-child > * {
  border-block-end: 0;
}
.c-schedule-table tbody tr:nth-last-child(2) > th[rowspan="2"] {
  border-block-end: 0;
}
.c-schedule-table thead th {
  border-inline-end-color: var(--color-white);
  background-color: var(--color-primary);
  color: var(--color-white);
}
.c-schedule-table tbody th {
  background-color: var(--color-pink-20);
  text-align: start;
}

.c-schedule-table__col-dept {
  width: 13.75rem;
}
@media screen and (max-width: 767px) {
  .c-schedule-table__col-dept {
    width: 4.75rem;
  }
}

.c-schedule-table__col-time {
  width: 8.75rem;
}
@media screen and (max-width: 767px) {
  .c-schedule-table__col-time {
    width: 3.5rem;
  }
}

.c-schedule-table__dept small {
  display: block;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .c-schedule-table__dept small {
    font-size: 0.6875rem;
  }
}

.c-schedule-table__time small {
  display: block;
  color: var(--color-gray-600);
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .c-schedule-table__time small {
    font-size: 0.625rem;
  }
}

.c-schedule-table__empty {
  color: #aaa;
}

.c-section-heading {
  display: grid;
  gap: 0;
  width: 100%;
  text-align: center;
}
.c-section-heading[data-align=center] {
  justify-items: center;
  text-align: center;
}
.c-section-heading[data-align=left] {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  justify-items: start;
  text-align: left;
}
.c-section-heading[data-align=left] .c-section-heading__en {
  grid-column: 1/-1;
}
.c-section-heading[data-align=left] .c-section-heading__title {
  grid-row: 2;
  grid-column: 1;
}
.c-section-heading[data-align=left] .c-section-heading__lead {
  grid-row: 2;
  grid-column: 2;
  align-self: end;
  max-width: none;
}
.c-section-heading[data-align=left] .c-section-heading__icon {
  margin-inline-start: 0.25rem;
}
.c-section-heading[data-align=left] .c-section-heading__title {
  margin-block-start: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-section-heading[data-align=left] .c-section-heading__title {
    margin-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-section-heading[data-align=left] .c-section-heading__lead {
    grid-row: 3;
    grid-column: 1/-1;
    align-self: start;
  }
}
.c-section-heading__en {
  display: inline-flex;
  align-items: flex-start;
  gap: 1.0625rem;
  font-family: var(--ff-serif);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.c-section-heading__icon {
  display: block;
  flex-shrink: 0;
  width: 2.375rem;
  height: 2.375rem;
}
.c-section-heading__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-section-heading__en-text {
  display: block;
  margin-block-start: 0.375rem;
}

.c-section-heading__title {
  margin-block-start: 0;
  font-family: var(--ff-serif);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-section-heading__title {
    font-size: 1.75rem;
  }
}

.c-section-heading[data-size=sm] .c-section-heading__title {
  font-size: clamp(1.25rem, calc(16 / 16 * 1rem) + 0.5208333333vw, 1.625rem);
}
@media screen and (max-width: 767px) {
  .c-section-heading[data-size=sm] .c-section-heading__title {
    font-size: 1.375rem;
  }
}

.c-section-heading__lead {
  margin-block-start: 0;
  max-width: 39.4375rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.375rem;
}
@media screen and (max-width: 767px) {
  .c-section-heading__lead {
    max-width: none;
    padding-inline: 0.5rem;
  }
}

.c-section-title {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  width: max-content;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-section-title {
    gap: 0.5rem;
  }
}
.c-section-title[data-align=center] {
  justify-items: center;
  text-align: center;
}
.c-section-title[data-align=left] {
  justify-items: start;
  text-align: left;
}
.c-section-title[data-align=right] {
  justify-items: end;
  text-align: right;
}

.c-section-title::after {
  content: "";
  display: block;
  width: 80%;
  height: 0.1875rem;
  background-color: var(--color-orange);
}
@media screen and (max-width: 767px) {
  .c-section-title::after {
    width: 60%;
  }
}

.c-section-title__main {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-section-title__main {
    font-size: 2rem;
  }
}

.c-section-title__sub {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-section-title__sub {
    font-size: 0.875rem;
  }
}

.c-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 25rem));
  gap: 2.5625rem 1.375rem;
}
@media screen and (max-width: 1023px) {
  .c-stats {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .c-stats {
    gap: 1.6875rem;
  }
}

.c-stats__item {
  position: relative;
  min-height: 7.5rem;
}
.c-stats__item::after {
  content: "";
  position: absolute;
  bottom: -0.9375rem;
  left: 0.25rem;
  width: 100%;
  height: 2px;
  background-color: #caccd0;
}
@media screen and (max-width: 1023px) {
  .c-stats__item::after {
    bottom: -0.75rem;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-stats__item::after {
    bottom: -0.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .c-stats__item {
    --stat-inset: max(0px, (100% - 21.875rem) / 2);
    min-height: auto;
    padding-inline: var(--stat-inset);
  }
}

.c-stats__icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(90deg, #faecf1 0%, #f0cedb 100%);
}
@media screen and (max-width: 767px) {
  .c-stats__icon {
    left: var(--stat-inset);
    width: 5.5rem;
  }
}
.c-stats__icon img {
  display: block;
  max-width: none;
  height: 2.625rem;
  width: auto;
  margin-block-start: 1.375rem;
  margin-inline-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-stats__icon img {
    height: 1.875rem;
    margin-block-start: 1rem;
    margin-inline-start: 1.0625rem;
  }
}

.c-stats__item--blue .c-stats__icon {
  background: linear-gradient(90deg, #f6fcff 0%, #bce8ff 100%);
}

.c-stats__item--peach .c-stats__icon {
  background: linear-gradient(90deg, #fff8f6 0%, #ffe6e2 100%);
}
.c-stats__item--peach .c-stats__icon img {
  margin-inline-start: 0.0625rem;
}

.c-stats__label {
  position: relative;
  margin-block-start: 1.6875rem;
  margin-inline-start: 4.875rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  .c-stats__label {
    margin-block-start: 1.25rem;
    margin-inline-start: 3.5625rem;
    font-size: 0.9375rem;
  }
}

.c-stats__label--regular {
  font-weight: 500;
}

.c-stats__value {
  position: relative;
  display: flex;
  align-items: flex-end;
  margin-block-start: 0.5rem;
  margin-inline-start: 4.1875rem;
}
@media screen and (max-width: 767px) {
  .c-stats__value {
    margin-block-start: 0.375rem;
    margin-inline-start: 3rem;
  }
}

.c-stats__num {
  display: block;
  width: auto;
  max-width: none;
  height: 4.5625rem;
}
@media screen and (max-width: 767px) {
  .c-stats__num {
    height: 3.3125rem;
  }
}

.c-stats__unit {
  flex-shrink: 0;
  margin-block-end: 0.75rem;
  margin-inline-start: 0.1875rem;
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.26;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-stats__unit {
    margin-block-end: 0.5625rem;
    margin-inline-start: 0.125rem;
    font-size: 1.5rem;
  }
}

.c-step-flow {
  display: flex;
  gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-step-flow {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.c-step-flow__item {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 1.25rem 1.125rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-step-flow__item {
    flex: none;
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
  }
}
.c-step-flow__item + .c-step-flow__item::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 0.8125rem);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid var(--color-primary);
  border-right: 2px solid var(--color-primary);
  rotate: 45deg;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .c-step-flow__item + .c-step-flow__item::before {
    top: auto;
    right: auto;
    bottom: calc(100% + 0.5625rem);
    left: 50%;
    rotate: 135deg;
    translate: -50% 0;
  }
}

.c-sub-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-inline-start: 0.625rem;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-sub-heading {
    font-size: 1.125rem;
  }
}

.c-sub-heading__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.8125rem;
}
.c-sub-heading__icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.c-sub-heading__text {
  letter-spacing: 0;
}

.c-tag-box {
  padding: 1.125rem 2.125rem 2.75rem 2.5rem;
  border: 1px dashed #5bafdc;
  border-radius: 0.75rem;
  background-color: #f1faff;
}
@media screen and (max-width: 767px) {
  .c-tag-box {
    padding: 1.125rem 1rem 1.75rem;
  }
}

.c-tag-box__title {
  position: relative;
  padding-block: 0.5625rem 0.5rem;
  border-radius: 1.3125rem;
  background-color: #036ea9;
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
}
.c-tag-box__title::after {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  width: 2.5rem;
  height: 1.5rem;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  translate: -50% 0;
}

.c-tag-box__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.5rem;
  margin-block-start: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .c-tag-box__list {
    justify-content: center;
  }
}

.c-tag-box__tag {
  min-width: 6.75rem;
  padding: 0.4375rem 1.1875rem 0.5rem;
  border-radius: 1.125rem;
  background-color: #d9ee64;
  color: var(--color-black);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

.c-tel-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 18.4375rem;
  height: 4.6875rem;
  padding: 0.75rem 1.125rem 0.75rem 1.75rem;
  border: 1px solid var(--color-text);
  border-radius: var(--radius);
  background-color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-tel-box {
    width: 100%;
    height: auto;
    padding: 0.75rem 0.875rem;
  }
}

.c-tel-box__number {
  line-height: 1.2;
  margin-block-end: 0.25rem;
}
.c-tel-box__number a {
  display: inline-block;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .c-tel-box__number a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-tel-box__number a {
    translate: 0.375rem 0;
    font-size: 1.5rem;
  }
}

.c-tel-box__label {
  font-family: var(--ff-serif);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
}

.c-tel-box__hours {
  margin-inline-start: 0.6875rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-tel-box__hours {
    translate: 1.1875rem 0;
    font-size: 0.75rem;
    white-space: nowrap;
    letter-spacing: 0.04em;
  }
}

.c-tel-box--large .c-tel-box__label {
  font-size: 1.375rem;
}

.c-tel-box--large .c-tel-box__number a {
  font-size: 1.875rem;
  letter-spacing: 0.02em;
}

.c-tel-box--large .c-tel-box__hours {
  margin-inline-start: 2rem;
  font-size: 0.9375rem;
}

.c-tel-box--plain {
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  background-color: transparent;
}

.c-tel-box--plain .c-tel-box__label {
  font-size: 1.625rem;
}

.c-tel-box--plain .c-tel-box__number a {
  font-size: 2.25rem;
  letter-spacing: 0.04em;
}

.c-tel-box--plain .c-tel-box__hours {
  margin-inline-start: 0;
  font-size: 1.125rem;
}

.c-tel-text--box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 4.0625rem;
  padding: 0.375rem 1.25rem;
  border: 1px solid var(--color-text);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
.c-tel-text--box .c-tel-text__label {
  font-size: 1rem;
}
.c-tel-text--box .c-tel-text__value {
  font-size: 1.25rem;
}
.c-tel-text--box .c-tel-text__hours {
  margin-block-start: 0.125rem;
  font-size: 0.75rem;
  line-height: 1.3;
}

.c-tel-text__link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.c-tel-text__label {
  font-size: clamp(1.125rem, calc(3.1594202899 / 16 * 1rem) + 1.4492753623vw, 1.375rem);
}

.c-tel-text__value {
  font-size: clamp(1.5rem, calc(9.1594202899 / 16 * 1rem) + 1.4492753623vw, 1.75rem);
  letter-spacing: 0.08em;
}

.c-tel-text__hours {
  margin-block-start: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-tel-text__hours {
    font-size: 0.8125rem;
  }
}

.c-text-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  padding-block-end: 0.25rem;
  border-block-end: 1px solid currentcolor;
  color: var(--color-text);
  font-weight: 500;
  line-height: 1.5;
  transition: color var(--duration) ease;
}
.c-text-link::before {
  content: "";
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.4375rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7'%3E%3Cpath fill='none' stroke='%23F97B9C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 3.5h12M10 .8l3 2.7-3 2.7'/%3E%3C/svg%3E") center/contain no-repeat;
  translate: 0 0.04em;
}
.c-text-link[target=_blank]::after {
  content: "";
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.8125rem;
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%23fff'%20d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z'/%3e%3cpath%20fill='%23fff'%20d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z'/%3e%3c/svg%3e") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2015%2013'%3e%3cpath%20fill='%23fff'%20d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z'/%3e%3cpath%20fill='%23fff'%20d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z'/%3e%3c/svg%3e") center/contain no-repeat;
}
@media (any-hover: hover) {
  .c-text-link:hover {
    opacity: 1;
    color: var(--color-primary);
  }
}

.c-text-link--inline {
  flex-direction: row-reverse;
  gap: 0.375rem;
  padding-block-end: 0;
  border-block-end: 0;
  color: var(--color-primary);
}
@media (any-hover: hover) {
  .c-text-link--inline:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

.c-timeline {
  --timeline-gap: 2.1875rem;
  --timeline-num: 3.125rem;
  display: flex;
  flex-direction: column;
  gap: var(--timeline-gap);
}
@media screen and (max-width: 767px) {
  .c-timeline {
    --timeline-gap: 1.25rem;
    --timeline-num: 2.5rem;
  }
}

.c-timeline__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.375rem;
  --from: calc(var(--i, 0) / max(var(--n, 2) - 1, 1) * 100%);
  --to: calc((var(--i, 0) + 1) / max(var(--n, 2) - 1, 1) * 100%);
}
@media screen and (max-width: 767px) {
  .c-timeline__item {
    gap: 0.75rem;
  }
}
.c-timeline__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--timeline-num) / 2);
  width: 0.3125rem;
  height: calc(100% + var(--timeline-gap));
  background: linear-gradient(180deg, color-mix(in srgb, #f5517d var(--from), #f9b48d), color-mix(in srgb, #f5517d var(--to), #f9b48d));
  translate: -50% 0;
}
.c-timeline__item:first-child::before {
  top: 50%;
  height: calc(50% + var(--timeline-gap));
}
.c-timeline__item:last-child::before {
  height: 50%;
}
.c-timeline__item:only-child::before {
  display: none;
}

.c-timeline__num {
  position: relative;
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: var(--timeline-num);
  aspect-ratio: 1;
  margin-block-end: 1.75rem;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-timeline__num {
    margin-block-end: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-timeline__num {
    font-size: 1rem;
  }
}

.c-timeline__box {
  flex: 1;
  min-width: 0;
  padding: 1.5625rem 2.4375rem 2.25rem;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-timeline__box {
    padding: 1.125rem 1rem 1.25rem;
  }
}

.c-timeline__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-timeline__title {
    font-size: 1rem;
  }
}

.c-timeline__text {
  margin-block-start: 1.0625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-timeline__text {
    margin-block-start: 0.625rem;
    font-size: 0.875rem;
  }
}

.c-timeline--media .c-timeline__box {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 1.5rem 2.25rem 1.5rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-timeline--media .c-timeline__box {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1rem 1.25rem;
  }
}

.c-timeline--simple .c-timeline__num {
  margin-block-end: 0;
}
.c-timeline--simple .c-timeline__box {
  padding: 1.25rem 2.4375rem;
}
@media screen and (max-width: 767px) {
  .c-timeline--simple .c-timeline__box {
    padding: 1rem;
  }
}

.c-timeline__media {
  flex: 0 1 15rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 767px) {
  .c-timeline__media {
    flex: none;
    width: 100%;
  }
}
.c-timeline__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.c-timeline__content {
  flex: 1 1 0;
  min-width: 0;
  padding-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-timeline__content {
    flex: none;
    padding-block-start: 0;
  }
}

.p-about-intro__nav {
  position: sticky;
  top: calc(50% - 8.125rem);
  z-index: 2;
  width: 0;
  height: 0;
  overflow: visible;
}
@media (width < 1620px) {
  .p-about-intro__nav {
    display: none;
  }
}

.p-about-intro__nav-list {
  display: flex;
  flex-direction: column;
  gap: 2.375rem;
  width: 16.6875rem;
  padding: 3.0625rem 1.625rem 3.1875rem 1.875rem;
  border-radius: 0 0.75rem 0.75rem 0;
  background-color: #fef3f4;
}
@media (width <= 1919px) {
  .p-about-intro__nav-list {
    gap: 1.375rem;
    width: 12.25rem;
    padding-inline: 1.125rem;
  }
}

.p-about-intro__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (width <= 1919px) {
  .p-about-intro__nav-link {
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.4;
  }
}
@media (any-hover: hover) {
  .p-about-intro__nav-link:hover {
    color: var(--color-pink-320);
  }
}
.p-about-intro__nav-link.is-active {
  color: var(--color-pink-320);
}

.p-about-intro__nav-circle {
  position: relative;
  flex-shrink: 0;
  width: 1.75rem;
  aspect-ratio: 1;
  border: 1px solid #b3b3b3;
  border-radius: 50%;
  background-color: var(--color-white);
}
@media (width <= 1919px) {
  .p-about-intro__nav-circle {
    width: 1.375rem;
  }
}
.p-about-intro__nav-circle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 1px);
  width: 0.4375rem;
  height: 0.4375rem;
  border-right: 1.5px solid var(--color-pink-320);
  border-bottom: 1.5px solid var(--color-pink-320);
  transform: translate(-55%, -50%) rotate(-45deg);
}
@media (width <= 1919px) {
  .p-about-intro__nav-circle::after {
    width: 0.3125rem;
    height: 0.3125rem;
  }
}

.p-about-intro {
  padding-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro {
    padding-block-start: 2rem;
  }
}

.p-about-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-about-intro__panel {
  position: relative;
  margin-block-start: 3.3125rem;
  padding: 1.8125rem clamp(1.5rem, calc(-31.1111111111 / 16 * 1rem) + 7.1759259259vw, 3.4375rem) 3.6875rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__panel {
    margin-block-start: 1.5rem;
    padding: 1.25rem 1rem 1.5rem;
  }
}

.p-about-intro__panel-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.p-about-intro__panel-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}

.p-about-intro__lead {
  position: relative;
  z-index: 1;
  max-width: 38rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2.86;
  text-spacing-trim: space-all;
}
@media screen and (max-width: 767px) {
  .p-about-intro__lead {
    max-width: none;
    line-height: 1.75;
  }
}

.p-about-intro__cards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, calc(-12.4444444444 / 16 * 1rem) + 3.7037037037vw, 2rem);
  margin-block-start: 1.1875rem;
  margin-inline-start: 0.4375rem;
}
.p-about-intro__cards > li {
  flex: 1 1 0;
  display: flex;
  min-width: 0;
  max-width: 21.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__cards {
    gap: 1rem;
    margin-inline-start: 0;
  }
  .p-about-intro__cards > li {
    flex: 1 1 100%;
    max-width: none;
  }
}

.p-about-intro__card {
  position: relative;
  display: block;
  padding: 1.875rem clamp(1rem, calc(1.7777777778 / 16 * 1rem) + 1.8518518519vw, 1.5rem) 3rem clamp(1rem, calc(-23.1111111111 / 16 * 1rem) + 5.0925925926vw, 2.375rem);
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-about-intro__card {
    padding: 1.25rem 1rem 3rem;
  }
}

.p-about-intro__card-title {
  color: var(--color-pink-280);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.44;
}

.p-about-intro__card-text {
  margin-block-start: 0.9375rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.64;
}

.p-about-intro__card-fold {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2.5rem;
  aspect-ratio: 1;
  border-radius: var(--radius) 0 var(--radius) 0;
  background-color: var(--color-pink-280);
}
.p-about-intro__card-fold::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  height: 0.625rem;
  margin-block-start: -0.375rem;
  margin-inline-start: -0.25rem;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  transform: rotate(45deg);
}

.p-about-intro__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 25rem));
  column-gap: 1.375rem;
  row-gap: 2.5625rem;
  margin-block-start: 3.0625rem;
  margin-inline-start: 8.125rem;
}
@media screen and (max-width: 1023px) {
  .p-about-intro__stats {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.375rem;
    margin-block-start: 2rem;
    margin-inline-start: 0;
  }
}

.p-about-intro__stat {
  position: relative;
  min-height: 7.5rem;
}
.p-about-intro__stat::after {
  content: "";
  position: absolute;
  bottom: -0.9375rem;
  left: 0.25rem;
  width: 100%;
  height: 2px;
  background-color: #caccd0;
}
@media screen and (max-width: 1023px) {
  .p-about-intro__stat::after {
    bottom: -0.75rem;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat {
    --stat-inset: max(0px, (100% - 21.875rem) / 2);
    min-height: auto;
    padding-block-end: 0.75rem;
    padding-inline: var(--stat-inset);
  }
}

.p-about-intro__stat--blue .p-about-intro__stat-icon {
  background: linear-gradient(90deg, #f6fcff 0%, #bce8ff 100%);
}

.p-about-intro__stat--peach .p-about-intro__stat-icon {
  background: linear-gradient(90deg, #fff8f6 0%, #ffe6e2 100%);
}

.p-about-intro__stat-icon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: visible;
  box-sizing: border-box;
  width: 7.5rem;
  aspect-ratio: 1;
  padding-block-start: 1.75rem;
  padding-inline-start: 1.75rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #faecf1 0%, #f0cedb 100%);
}
.p-about-intro__stat-icon img {
  display: block;
  width: 2.25rem;
  height: auto;
  max-width: none;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat-icon {
    left: calc(var(--stat-inset) + 0.5rem);
    width: 6.3125rem;
    padding-block-start: 1.5rem;
    padding-inline-start: 1.5rem;
  }
  .p-about-intro__stat-icon img {
    width: 1.875rem;
  }
}

.p-about-intro__stat:nth-child(1) .p-about-intro__stat-icon img {
  width: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat:nth-child(1) .p-about-intro__stat-icon img {
    width: 1.875rem;
  }
}

.p-about-intro__stat:nth-child(2) .p-about-intro__stat-icon img {
  width: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat:nth-child(2) .p-about-intro__stat-icon img {
    width: 1.8125rem;
  }
}

.p-about-intro__stat:nth-child(3) .p-about-intro__stat-icon img {
  width: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat:nth-child(3) .p-about-intro__stat-icon img {
    width: 2rem;
  }
}

.p-about-intro__stat:nth-child(4) .p-about-intro__stat-icon {
  padding-block-start: 1.75rem;
  padding-inline-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat:nth-child(4) .p-about-intro__stat-icon {
    padding-block-start: 1.5rem;
    padding-inline-start: 0.875rem;
  }
}

.p-about-intro__stat:nth-child(4) .p-about-intro__stat-icon img {
  width: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat:nth-child(4) .p-about-intro__stat-icon img {
    width: 3rem;
  }
}

.p-about-intro__stat-label {
  position: relative;
  z-index: 1;
  margin-block-start: 1.6875rem;
  margin-inline-start: 4.875rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.44;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat-label {
    margin-block-start: 1.375rem;
    margin-inline-start: 4.625rem;
    font-size: 1rem;
  }
}

.p-about-intro__stat-label--regular {
  font-weight: 500;
}

.p-about-intro__stat-value {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  margin-block-start: 0.5rem;
  margin-inline-start: 4.1875rem;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat-value {
    margin-block-start: -0.375rem;
    margin-inline-start: 4.0625rem;
  }
}

.p-about-intro__stat-num {
  display: block;
  width: auto;
  max-width: none;
  height: 4.5625rem;
  object-fit: contain;
  object-position: left bottom;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat-num {
    height: 3.5rem;
  }
}

.p-about-intro__stat-unit {
  flex-shrink: 0;
  margin-block-end: 0.75rem;
  margin-inline-start: 0.1875rem;
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.26;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-about-intro__stat-unit {
    margin-block-end: 0.5rem;
    margin-inline-start: 0;
    font-size: 1.625rem;
  }
}

.p-about-intro__note {
  position: relative;
  z-index: 1;
  margin-block-start: 1.375rem;
  margin-inline-start: 7.4375rem;
  color: #595757;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.86;
}
@media screen and (max-width: 1023px) {
  .p-about-intro__note {
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-about-intro__note {
    line-height: 1.57;
  }
}

.p-about-photos {
  position: relative;
  z-index: 1;
  margin-block-start: 4rem;
  margin-inline-start: -2.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-about-photos {
    margin-inline-start: 0;
  }
}

.p-about-photos__track {
  display: flex;
  width: max-content;
  animation: p-about-photos-marquee 60s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-photos__track {
    animation: none;
  }
}

.p-about-photos__slides {
  display: flex;
  flex-shrink: 0;
  gap: 1.0625rem;
  padding-inline-end: 1.0625rem;
}

.p-about-photos__frame {
  flex-shrink: 0;
  overflow: hidden;
  width: 31.25rem;
  aspect-ratio: 500/375;
  border-radius: var(--radius);
}
@media screen and (max-width: 767px) {
  .p-about-photos__frame {
    width: 83.3333333333vw;
    border-radius: 0;
  }
}

.p-about-photos__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-about-photos__frame--1 .p-about-photos__img {
  object-position: 30% 50%;
}

.p-about-photos__frame--4 .p-about-photos__img {
  object-position: 20% 50%;
}

@keyframes p-about-photos-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.p-about-reason {
  position: relative;
  z-index: 1;
  scroll-margin-block-start: 1.5rem;
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-about-reason {
    scroll-margin-block-start: 3.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about-reason {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}
.p-about-reason + .p-about-reason {
  margin-block-start: 3.1875rem;
}

.p-about-reason__card {
  --photo-w: clamp(15rem, calc(-67.9420289855 / 16 * 1rem) + 30.0724637681vw, 20.1875rem);
  --photo-top: 5.3125rem;
  --gap: 2.5rem;
  position: relative;
  min-height: calc(var(--photo-top) + var(--photo-w) + 3.5rem);
  padding: 2.8125rem calc(2.6875rem + var(--photo-w) + var(--gap)) 3.5rem 4.625rem;
  background: linear-gradient(90deg, var(--color-white) 74%, rgba(255, 255, 255, 0));
}
@media screen and (max-width: 1023px) {
  .p-about-reason__card {
    min-height: 0;
    padding: 2.8125rem 2.5rem 3.375rem;
    background: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .p-about-reason__card {
    padding: 2.875rem 1.0625rem 2.5rem;
  }
}

.p-about-reason--reverse .p-about-reason__card {
  --gap: clamp(2.5rem, calc(-230.8405797101 / 16 * 1rem) + 26.4492753623vw, 7.0625rem);
  padding-block-start: 3.5rem;
  padding-inline: calc(3.0625rem + var(--photo-w) + var(--gap)) 3.875rem;
  background: linear-gradient(270deg, var(--color-white) 74%, rgba(255, 255, 255, 0));
}
@media screen and (max-width: 1023px) {
  .p-about-reason--reverse .p-about-reason__card {
    padding-inline: 2.5rem;
    background: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .p-about-reason--reverse .p-about-reason__card {
    padding-inline: 1.0625rem;
  }
}

.p-about-reason__label {
  position: relative;
  isolation: isolate;
  color: var(--color-primary);
  font-family: var(--ff-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.26;
}

.p-about-reason__sakura {
  position: absolute;
  top: -1.875rem;
  left: -3.8125rem;
  z-index: -1;
  display: block;
  width: 8.125rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-about-reason__sakura {
    top: -0.875rem;
    left: -1.375rem;
    width: 3.125rem;
  }
}

.p-about-reason__title {
  position: relative;
  z-index: 1;
  margin-block-start: 1.0625rem;
  font-family: var(--ff-serif);
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .p-about-reason__title {
    margin-block-start: 0.75rem;
    font-size: 1.4375rem;
    line-height: 1.43;
  }
}

.p-about-reason__text {
  max-width: 40rem;
  margin-block-start: 2.3125rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-about-reason__text {
    margin-block-start: 0.5625rem;
  }
}

.p-about-reason__list {
  max-width: 45rem;
  margin-block-start: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-about-reason__list {
    margin-block-start: 2.0625rem;
  }
}

.p-about-reason__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0.875rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-about-reason__actions {
    gap: 0.6875rem;
    margin-block-start: 3.375rem;
  }
  .p-about-reason__actions > .c-outline-button {
    flex: 0 0 calc((100% - 0.6875rem) / 2);
    padding-inline-end: 1.625rem;
  }
}

.p-about-reason:not(.p-about-reason--reverse) .p-about-reason__actions {
  margin-inline-end: calc(-1 * (var(--photo-w) + var(--gap)));
}
@media screen and (max-width: 1023px) {
  .p-about-reason:not(.p-about-reason--reverse) .p-about-reason__actions {
    margin-inline-end: 0;
  }
}

.p-about-reason--reverse .p-about-reason__photo {
  right: auto;
  left: 3.0625rem;
}

.p-about-reason__photo {
  position: absolute;
  top: var(--photo-top);
  right: 2.6875rem;
  width: var(--photo-w);
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-about-reason__photo {
    position: static;
    width: min(100%, 17.5rem);
    margin: 2rem auto 0;
  }
}
.p-about-reason__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-about-reasons {
  position: relative;
  z-index: 0;
  margin-block-start: -7.0625rem;
  padding-block: 10.875rem 5.5625rem;
  overflow: hidden;
  background-color: #ffc67e;
}
@media screen and (max-width: 767px) {
  .p-about-reasons {
    margin-block-start: 0;
    padding-block: 3rem 2.5rem;
  }
}

.p-about-reasons__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../images/bg_reasons.webp");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}

.p-about {
  position: relative;
  padding-block-start: 2.5rem;
}

.p-access-faq {
  padding-block: 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-access-faq {
    padding-block: 3rem;
  }
}

.p-access-faq__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access-faq__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-access-faq__list {
  margin-block-start: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-access-faq__list {
    margin-block-start: 1.5rem;
  }
}

.p-access-hours {
  padding-block: 4rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-access-hours {
    padding-block: 2rem 3rem;
  }
}

.p-access-hours__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access-hours__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-access-hours__table {
  max-width: 62.5rem;
  margin-inline: auto;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-access-hours__table {
    max-width: none;
    margin-block-start: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access-hours__table .c-hours-table__corner {
    width: 5.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access-hours__table tbody th,
  .p-access-hours__table tbody td {
    height: 3.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access-hours__table .c-hours-table__label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1875rem;
    height: 3.375rem;
    padding: 0.375rem 0 0 0.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access-hours__table .c-hours-table__hours {
    font-size: 0.875rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-access-hours__table .c-hours-table__note {
    font-size: 0.5625rem;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: break-word;
  }
}

.p-access-hours__notes {
  max-width: 62.5rem;
  margin-inline: auto;
  margin-block-start: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-access-hours__notes {
    max-width: none;
  }
}
.p-access-hours__notes li {
  padding-inline-start: 1em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.83;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .p-access-hours__notes li {
    font-size: 0.8125rem;
  }
}

.p-access-map {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-access-map {
    padding-block: 3rem;
  }
}

.p-access-map__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access-map__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-access-map__body {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-access-map__body {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-block-start: 1.5rem;
  }
}

.p-access-map__map {
  flex: 1 1 35rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access-map__map {
    flex: none;
  }
}
.p-access-map__map iframe {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  height: auto;
  border: 0;
  border-radius: var(--radius);
}

.p-access-map__info {
  flex: 1 1 37rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access-map__info {
    flex: none;
  }
}

.p-access-map__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-access-map__actions {
    flex-direction: column;
    gap: 0.75rem;
    margin-block-start: 1.5rem;
  }
  .p-access-map__actions > * {
    width: 100%;
  }
}

.p-access-outline {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-access-outline {
    padding-block: 3rem;
  }
}

.p-access-outline__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access-outline__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-access-outline__table {
  max-width: 62.5rem;
  margin-inline: auto;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-access-outline__table {
    max-width: none;
    margin-block-start: 1.5rem;
  }
}

.p-access-page {
  position: relative;
}

.p-access-route {
  padding-block: 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-access-route {
    padding-block: 3rem;
  }
}

.p-access-route__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access-route__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-access-route__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-access-route__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-access-route__body {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-access-route__body {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-block-start: 1.5rem;
  }
}

.p-access-route__steps {
  flex: 1 1 42.5rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access-route__steps {
    flex: none;
  }
}

.p-access-route__photo {
  flex: 0 1 27.5rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access-route__photo {
    flex: none;
    align-self: center;
    width: min(100%, 27.5rem);
  }
}
.p-access-route__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.p-access-route__modes {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-access-route__modes {
    flex-direction: column;
    gap: 0.75rem;
    margin-block-start: 2rem;
  }
}

.p-access-route__modes > li {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access-route__modes > li {
    flex: none;
  }
}

.p-access-route__mode {
  height: 100%;
  padding: 1.5rem 1.75rem 1.625rem;
  border: 1px solid var(--color-indigo-240);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-access-route__mode {
    padding: 1.125rem 1rem 1.25rem;
  }
}

.p-access-route__mode-title {
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-access-route__mode-title {
    font-size: 1rem;
  }
}

.p-access-route__mode-text {
  margin-block-start: 0.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-access-route__mode-text {
    font-size: 0.875rem;
  }
}

.p-access {
  position: relative;
  z-index: 1;
  padding-block: 2.625rem 0;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-access {
    padding-block: 2.4375rem 3.0625rem;
    border-radius: var(--radius-large);
    background-color: #fef0f4;
  }
}

.p-access__container {
  width: 91.625rem;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-access__container {
    width: min(37.5rem, 100%);
    padding-inline: 1.25rem;
  }
}

.p-access__inner {
  position: relative;
  margin-inline: auto;
  padding: 3rem clamp(3.75rem, calc(-8.5714285714 / 16 * 1rem) + 6.6964285714vw, 7.5rem) 3.3125rem clamp(3.75rem, calc(-8.5714285714 / 16 * 1rem) + 6.6964285714vw, 7.5rem);
  background-color: #fef0f4;
  border-radius: var(--radius-large);
}
@media screen and (max-width: 1023px) {
  .p-access__inner {
    width: 100%;
    padding: 2.5rem 0;
    border-radius: var(--radius-large);
  }
}
@media screen and (max-width: 767px) {
  .p-access__inner {
    width: 100%;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
  }
}

.p-access__top {
  display: flex;
  align-items: stretch;
  gap: clamp(1.125rem, calc(-2.5714285714 / 16 * 1rem) + 2.0089285714vw, 2.25rem);
}
@media screen and (max-width: 1023px) {
  .p-access__top {
    flex-direction: column;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__top {
    gap: 2rem;
  }
}

.p-access__card {
  flex: 0 0 59.5026642984%;
  width: 59.5026642984%;
  min-height: 32.5rem;
  min-width: 0;
  padding: 1.5rem 2.5rem 1.75rem 2.25rem;
  border-radius: 1rem;
  background-color: var(--color-white);
  box-shadow: 0 0 7px rgb(244, 198, 220);
}
@media screen and (max-width: 1023px) {
  .p-access__card {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    padding: 1.5rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__card {
    width: min(37.5rem, 100%);
    height: auto;
    min-height: 0;
    margin-inline: auto;
    padding: 0 1.0625rem 2.25rem 1.1875rem;
    border-radius: var(--radius-large);
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--access {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--hours {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-block-start: 2.4375rem;
  }
}

.p-access__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-block-end: 0.875rem;
  border-bottom: 1px solid #cbcccd;
}
.p-access__head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 6.625rem;
  height: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-access__head {
    display: contents;
  }
  .p-access__head::after {
    content: none;
  }
}
.p-access__head .c-sub-heading {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-access__head .c-sub-heading {
    position: relative;
    flex: 0 0 auto;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;
    padding-block-end: 0.875rem;
    padding-inline-start: 0.375rem;
    border-bottom: 2px solid #dcdddd;
  }
  .p-access__head .c-sub-heading::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 3.5625rem;
    height: 2px;
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 767px) {
  .p-access__head .c-pill-link {
    order: 4;
    align-self: center;
    width: 13.375rem;
    height: 2.8125rem;
    margin-inline-start: 0.125rem;
    padding: 0.375rem 1.125rem 0.375rem 1.125rem;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--access .c-sub-heading {
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--access .p-access__address {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--access .p-access__station {
    order: 3;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--hours .c-sub-heading {
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--hours .p-access__table {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--hours .p-access__notes {
    order: 3;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--access .c-pill-link {
    margin-block-start: 1.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__block--hours .c-pill-link {
    order: 4;
    margin-block-start: 1.4375rem;
  }
}

.p-access__block--access .c-sub-heading {
  padding-block-start: 0.5625rem;
}
@media screen and (max-width: 767px) {
  .p-access__block--access .c-sub-heading {
    padding-block-start: 1.625rem;
  }
}

.p-access__block--hours .c-sub-heading {
  padding-block-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-access__block--hours .c-sub-heading {
    padding-block-start: 0;
  }
}

.p-access__block--hours .c-pill-link {
  padding-inline-end: 0.9375rem;
}

.p-access__address {
  margin-block-start: 1.5rem;
  margin-block-end: 0.375rem;
  padding-inline-start: 1.125rem;
  color: var(--color-text);
  font-size: clamp(1rem, calc(13.7142857143 / 16 * 1rem) + 0.2232142857vw, 1.125rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-access__address {
    margin-block-start: 1rem;
    margin-block-end: 0;
    padding-inline-start: calc(0.5625rem + 1em);
    text-indent: -1em;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.57;
  }
}

.p-access__station {
  padding-inline-start: 1.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin-block-end: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-access__station {
    margin-block-start: 0.125rem;
    margin-block-end: 0;
    padding-inline-start: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.p-access__table {
  margin-block-start: 1.125rem;
  margin-block-end: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-access__table {
    max-width: none;
    margin-block-start: 1.375rem;
    margin-block-end: 0;
    margin-inline-start: -0.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table .c-hours-table__corner {
    width: 5.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table thead th {
    height: 2.5625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table tbody th,
  .p-access__table tbody td {
    height: 3.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table .c-hours-table__label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1875rem;
    height: 3.375rem;
    padding: 0.375rem 0 0 0.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table .c-hours-table__hours {
    font-size: 0.875rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-access__table .c-hours-table__note {
    font-size: clamp(0.4375rem, calc(-17 / 16 * 1rem) + 6.6666666667vw, 0.5625rem);
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: break-word;
  }
}

.p-access__notes {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: 1rem;
  row-gap: 0;
  margin-block-start: 0.625rem;
  padding-inline-start: 0.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-access__notes {
    column-gap: 1em;
    margin-block-start: 0.625rem;
    margin-inline-start: -0.1875rem;
    padding-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1.59;
  }
  .p-access__notes p:nth-child(n+3) {
    grid-column: 1/-1;
  }
}

.p-access__map {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  min-width: 0;
  min-height: 32.5rem;
  border: 0;
  border-radius: var(--radius);
  align-self: stretch;
}
.p-access__map iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 1023px) {
  .p-access__map {
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
    aspect-ratio: 522/382;
    align-self: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-access__map {
    width: min(37.5rem, 100%);
    height: 12.5rem;
    min-height: 0;
    margin-inline: auto;
    border-radius: 0;
  }
}

.p-access__contact {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  max-width: 100%;
  height: 11.25rem;
  margin-block-start: 2.125rem;
  margin-inline-start: 0;
  border-radius: var(--radius-large);
  background-color: var(--color-white);
  box-shadow: 0 0 7px rgb(244, 198, 220);
}
@media (min-width: 1024px) {
  .p-access__contact {
    height: auto;
    min-height: 11.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-access__contact {
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-block-start: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__contact {
    flex-direction: column;
    width: min(37.5rem, 100%);
    height: auto;
    min-height: 0;
    margin-block-start: 1.9375rem;
    margin-inline: auto;
    overflow: hidden;
  }
}

.p-access__contact-image {
  flex: 0 0 clamp(12.5rem, calc(-52.5714285714 / 16 * 1rem) + 24.6651785714vw, 26.3125rem);
  overflow: hidden;
  border-radius: 1rem 0 0 1rem;
}
@media screen and (max-width: 1023px) {
  .p-access__contact-image {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    height: 10rem;
    border-radius: 1rem 1rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .p-access__contact-image {
    flex: 0 0 8.125rem;
    width: 100%;
    height: 8.125rem;
    border-radius: 0;
  }
}
.p-access__contact-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-access__contact-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  padding: 1.4375rem clamp(0.875rem, calc(-2 / 16 * 1rem) + 1.5625vw, 1.75rem) 2rem clamp(1.25rem, calc(-14.2857142857 / 16 * 1rem) + 3.3482142857vw, 3.125rem);
}
@media screen and (max-width: 1023px) {
  .p-access__contact-content {
    padding: 1.25rem 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__contact-content {
    flex: 1 1 auto;
    padding: 1.0625rem 1.6875rem 2.5rem 1.6875rem;
  }
}

.p-access__contact-text {
  margin-inline: 6.9375rem 0;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-align: left;
  white-space: nowrap;
}
@media (min-width: 1024px) and (max-width: 1180px) {
  .p-access__contact-text {
    margin-inline: 0;
  }
}
@media screen and (max-width: 1023px) {
  .p-access__contact-text {
    margin-inline: 0;
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .p-access__contact-text {
    padding-inline: 0;
    font-size: 1rem;
    line-height: 1.63;
    letter-spacing: 0.02em;
  }
}

.p-access__contact-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.25rem;
  margin-block-start: 1.4375rem;
}
.p-access__contact-actions .c-reserve-button {
  flex: 0 0 18.5rem;
  gap: 1rem;
}
.p-access__contact-actions .c-reserve-button__body {
  margin-block-end: 0.25rem;
}
@media (min-width: 1024px) and (max-width: 1180px) {
  .p-access__contact-actions {
    gap: 0.75rem;
    margin-block-start: 1rem;
  }
  .p-access__contact-actions .c-reserve-button {
    flex: 1 1 18.5rem;
    width: auto;
    min-width: 0;
    max-width: 18.5rem;
  }
  .p-access__contact-actions .c-tel-box {
    flex: 1 1 18.4375rem;
    width: auto;
    min-width: 0;
    max-width: 18.4375rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-access__contact-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .p-access__contact-actions .c-reserve-button {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    gap: 0.625rem;
  }
  .p-access__contact-actions .c-reserve-button__body {
    margin-block-end: 0;
    translate: 0;
  }
  .p-access__contact-actions .c-tel-box {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-access__contact-actions {
    flex-direction: column;
    align-items: center;
    gap: 1.1875rem;
    margin-block-start: 1.125rem;
  }
  .p-access__contact-actions .c-reserve-button {
    flex: 0 0 auto;
    width: 18.4375rem;
    height: 4.6875rem;
    gap: 1rem;
    padding: 0.875rem 1rem 0.875rem 1.3125rem;
    border: 0;
    box-sizing: border-box;
  }
  .p-access__contact-actions .c-reserve-button__text {
    font-size: 1.5rem;
  }
  .p-access__contact-actions .c-reserve-button__note {
    font-size: 0.75rem;
  }
  .p-access__contact-actions .c-tel-box {
    flex: 0 0 auto;
    width: 18.4375rem;
    height: 4.6875rem;
    padding: 0.75rem 1.125rem 0.75rem 1.75rem;
    border: 1px solid var(--color-text);
  }
  .p-access__contact-actions .c-tel-box__number a {
    font-size: 1.5rem;
  }
  .p-access__contact-actions .c-tel-box__hours {
    font-size: 0.75rem;
    white-space: nowrap;
  }
}

.p-access__contact-tel {
  flex: 0 0 auto;
}

.p-archive {
  padding-block: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive {
    padding-block: calc(80 * var(--to-rem));
  }
}

.p-archive__inner {
  max-width: calc(var(--inner) + var(--padding-inner) * 2);
}

.p-archive__header {
  margin-block-end: calc(40 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-archive__header {
    margin-block-end: calc(60 * var(--to-rem));
  }
}

.p-archive__title {
  margin-block-end: calc(16 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive__title {
    margin-block-end: calc(24 * var(--to-rem));
  }
}

.p-archive__description {
  margin-block-start: calc(16 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-archive__description {
    margin-block-start: calc(24 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

.p-archive__list {
  display: grid;
  gap: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(32 * var(--to-rem));
  }
}
@media screen and (max-width: 1023px) {
  .p-archive__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-archive__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: calc(16 * var(--to-rem));
  border: 1px solid var(--color-gray);
  border-radius: 12px;
  background-color: var(--color-white);
  text-decoration: none;
  transition: translate 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-archive__link {
    padding: calc(20 * var(--to-rem));
  }
}
@media (any-hover: hover) {
  .p-archive__link:hover {
    box-shadow: 0 8px 24px oklch(from var(--color-black) l c h/10%);
    translate: 0 calc(-4 * var(--to-rem));
  }
}

.p-archive__thumbnail {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
  margin-block-end: calc(16 * var(--to-rem));
  border-radius: 8px;
  background-color: var(--color-gray);
}
@media screen and (max-width: 767px) {
  .p-archive__thumbnail {
    margin-block-end: calc(20 * var(--to-rem));
  }
}

.p-archive__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.3s ease;
}

@media (any-hover: hover) {
  .p-archive__link:hover .p-archive__thumbnail img {
    scale: 1.05;
  }
}
.p-archive__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(12 * var(--to-rem));
}

.p-archive__item-title {
  margin: 0;
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-archive__item-title {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-archive__meta {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  color: var(--color-text);
  font-size: calc(12 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive__meta {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-archive__date {
  display: inline-block;
}

.p-archive__categories {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--to-rem));
}

.p-archive__category {
  display: inline-block;
  padding: calc(4 * var(--to-rem)) calc(12 * var(--to-rem));
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-size: calc(11 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive__category {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-archive__excerpt {
  color: var(--color-text);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-archive__excerpt {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-archive__pagination {
  margin-block-start: calc(48 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-archive__pagination {
    margin-block-start: calc(60 * var(--to-rem));
  }
}

.p-archive__empty {
  padding-block: calc(60 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-archive__empty {
    padding-block: calc(80 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
  }
}

.p-checkup {
  padding-block: 3.9375rem 5.125rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-checkup {
    padding-block: 3rem 3.625rem;
  }
}

.p-checkup__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-checkup__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-checkup__card {
  display: flex;
  overflow: hidden;
  border-radius: var(--radius-large);
  outline: 1px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-checkup__card {
    flex-direction: column;
  }
}

.p-checkup__body {
  flex: 0 1 32.5rem;
  min-width: 0;
  padding-block: 2.1875rem;
  padding-inline: 2.375rem 1.5rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-checkup__body {
    flex: none;
    padding: 1.375rem 1.25rem 2.75rem;
  }
}

.p-checkup__deco {
  display: block;
  width: 3.125rem;
  height: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-checkup__deco {
    width: 2.8125rem;
    height: 1.6875rem;
  }
}
.p-checkup__deco img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-checkup__title {
  margin-block-start: 0.5rem;
  margin-inline-start: 0.0625rem;
  font-family: var(--ff-serif);
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-checkup__title {
    margin-block-start: 1.125rem;
    margin-inline-start: 0;
    font-size: 1.5rem;
  }
}

.p-checkup__text {
  margin-block-start: 1.6875rem;
  margin-inline-start: 0.1875rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-checkup__text {
    margin-block-start: 1.625rem;
    margin-inline-start: 0;
    font-weight: 500;
  }
}

.p-checkup__button {
  margin-block-start: 1.6875rem;
  margin-inline-start: 0.0625rem;
}
@media screen and (max-width: 767px) {
  .p-checkup__button {
    margin-block-start: 1.625rem;
    margin-inline-start: 0;
  }
}

.p-checkup__slider {
  position: relative;
  flex: 1 1 42.5rem;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 680/387;
}
@media screen and (max-width: 767px) {
  .p-checkup__slider {
    flex: none;
    aspect-ratio: auto;
  }
}

.p-checkup__marquee-toggle {
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-start: 0;
}
.p-checkup__marquee-toggle:focus-visible {
  overflow: visible;
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.5rem 0.75rem;
  background-color: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  font-size: 0.875rem;
  white-space: nowrap;
}

.p-checkup__track {
  display: flex;
  width: max-content;
  height: 100%;
  pointer-events: none;
  animation: p-checkup-marquee 36s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-checkup__track {
    animation: none;
  }
}
.p-checkup__track.is-paused {
  animation-play-state: paused;
}

.p-checkup__slides {
  display: flex;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-checkup__slides {
    margin-inline-start: -1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-checkup__slides + .p-checkup__slides {
    margin-inline-start: 0;
  }
}

.p-checkup__slide {
  flex-shrink: 0;
  overflow: hidden;
  width: 36.25rem;
}
@media screen and (max-width: 767px) {
  .p-checkup__slide {
    width: 13.125rem;
    aspect-ratio: 210/270;
  }
}
.p-checkup__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes p-checkup-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.p-column-list {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-column-list {
    padding-block: 3rem 4rem;
  }
}

.p-column-list__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-column-list__filter-list {
    gap: 0.5rem;
  }
}

.p-column-list__filter-item {
  flex-shrink: 0;
}

.p-column-list__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  border: 1px solid var(--color-gray-170);
  border-radius: var(--radius);
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color var(--duration), color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-column-list__filter {
    padding-inline: 1rem;
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-column-list__filter:hover {
    opacity: 1;
    border-color: var(--color-primary);
    color: var(--color-primary);
  }
}

.p-column-list__filter.is-active {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media (any-hover: hover) {
  .p-column-list__filter.is-active:hover {
    opacity: 1;
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
  }
}

.p-column-list__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem 2.5rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 1023px) {
  .p-column-list__list {
    gap: 2.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-column-list__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    margin-block-start: 2rem;
  }
}

.p-column-list__item {
  display: flex;
  min-width: 0;
}

.p-column-list__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-column-list__card:hover {
    opacity: 1;
  }
  .p-column-list__card:hover .p-column-list__heading {
    color: #4ca495;
  }
  .p-column-list__card:hover .p-column-list__image {
    scale: 1.06;
  }
}

.p-column-list__visual {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 374/255;
  border: 1px solid var(--color-gray-170);
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
  line-height: 0;
}

.p-column-list__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-column-list__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-grow: 1;
  margin-block-start: 0.625rem;
}

.p-column-list__date {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-column-list__date {
    font-size: 0.875rem;
  }
}

.p-column-list__heading {
  display: -webkit-box;
  overflow: hidden;
  margin-block-start: 0.0625rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  transition: color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-column-list__heading {
    font-size: 1rem;
  }
}

.p-column-list__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 0.625rem;
}

.p-column-list__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 4.75rem;
  height: 1.75rem;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #bbe5d9;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-column-list__tag {
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.p-column-list__pagination {
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-column-list__pagination {
    margin-block-start: 2.5rem;
  }
}

.p-column-list__empty {
  margin-block-start: 3rem;
  padding-block: 3.75rem;
  color: var(--color-gray-600);
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-column-list__empty {
    margin-block-start: 2rem;
    padding-block: 2.5rem;
    font-size: 0.875rem;
  }
}

.p-commitment-faq {
  padding-block: 7.375rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-faq {
    padding-block: 4rem 1.25rem;
  }
}

.p-commitment-faq__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-faq__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-commitment-faq__list {
  margin-block-start: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-faq__list {
    margin-block-start: 1.5rem;
  }
}

.p-commitment-finding {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
  margin-block-start: 4.3125rem;
  padding: 3rem 2.625rem 2.6875rem 4.375rem;
  background: url("data:image/webp;base64,UklGRpAFAABXRUJQVlA4IIQFAACQLACdASpkAdwAPjEYikQiIYgKKhABglpbvxTGkVzidDOdP+V5BrPJ1ZiTbUmheB8+/gX//9c3wD//9HbvuAT8ZECrBxF0GWjQhMvXYg5ycHExZOb8Nr5A5o5YXF/3NioPwC0N0zwuj0xfz1lwKCQ/nTrf7UOM2bPmbNMbc0BUQGVlojrbtLjnn2nCySEKD+PPYcJNCFwW64Q3bOEL/hcWJ7dYbPTev3hhWzv3ashpeRJmQv2N2+7dJnC05nk57vle8Tk3Yus2Z+yd39Y7J0gdNx0/YmYfx8OcqlrQKGpjism4nHIXpYFUCgIiY4JRqPr6XOM+RcuCgH+XdIuq/GGG3jBsDit8ozuGy8L5zutBQSnYom8C2vlk1fGsIugcP6RciIzmIxD6CDxLBh9tz2yK9OKzPJIfS9WofDjc1w6V8m7ly7cTuh0OQVeipKtKaeVgvhDyBUdxzb0my/v3+JL7l8dLY4HJxXo/0UU34AD+/jm2qX4eryi/kFEfNZBA7zG2WwpvGSxwkSMwaw2oB6FQujI9318BOI2ztqaK9MiBdEISPzc3eywlk+SNnx+Kj1tlZ9NF/GlSh1U5W8muYcm9nFnN+IOpNTtuUvkmZorIgKFV6tqYv3YlPoP1CIN5vrGutOUg2MW9esHe+qIcfBFJVwN0A2TqknNX9/L6OfP7fC/pCu+k998sZYP1lSzh9spNwoYaVmBV4e8Ll3krmSQxQTXKdvkreYEYDwEk4adhso+PODmC8jqPIdU3DLpzlef9UUjEqBtj3/vklztKxrZfcxtBMlg/Lkero5pHJEzttbJYjGOfL4g46hdzdpDaWIAXQdodjze29chhge+ypY/rOjx3z516ThgZUoAb+n/0BzQJcfahE+NLf9WOM4LGzNo12AsclqyQEgGOG4VNoCmAbdheE7rHD5IbsbeNniv76SO12tKTjI8jKf2xpBZCPDKGTWE1rCa6UTEZIi9vp9MJNczMQp8KZB0giIQYgkkGTvEXlXhAMJ94b5eSRJrndaPAGcQMe1GhKMQMw7Xsarxi2M6dXOOTvKQz0ujw/qb15HlaEOeYGa3nbe9l/+xFia01MLXnuZI5tVOlS1+gBCzWfuSMEpkdNK5wDbPpFExmLEX0+zYIZb3B554AyaXw+wBYN/lK0D1LsVE0thC/teQKAzbBrethsxl+xlhKH22fSk6pAWSY7acKNRbSFSN303eJKECBP7v0Ap61UNxcdzCv1fT3lE+zxWgfLEU7ksx80tJanu71varAVeOFY5sFvommQR4RZjEvKc4IZ9IZBWVaNSemOMylXXuCy7/PE6blvr5kEx05DDoSYbgKoiwp5lTWF4s8/c5d8U98AbJTum9hJdDPCn8RTZEIkWom7QHbEf0AD0E4iW7sCHiTlgRZ1G1YRlGtSPVxKZsqZkT1SntwiVpOjoFqxmG5uDjOqRAtQmhP458EHcBEEouE0AbPXBscqW1tj9WeIgF5fu5AAe4sF3tsRGJe3XorO4OPZXQeUuFhvVAhZ29bRW+4i7IAAUG3AwRt/0uT/QXJOcTms8DcE/5JA/4M6so+6UhNVqW1WNfNESEKY76nAIrVVQJXvRbFI95VGJkL/ImyQsn49AIJ14hUYctRyDsmyQcacKKiOusgCFWA9ycoatfanMhLAeZCRGdmZIv03i5MY8lM5jFKoDwVQTH6X2RyZzExncYLu0LoyiCC/QfhyUngaLGMH9gHs3ZVFRvbi0+zV2lsPbHxX2A25HJ+dm48wpWR4VrAGByGBsi2+XiPWN6NctdXxxmvkhH9GZcH4EMCqI7hkFwbwk/mPMMDipfUbW07TYu01wXKtZc0ZuiLpooGd2+NesMVCUCUHMZTRsFv3m4hCEsohAAAAA==") center/cover no-repeat;
  scroll-margin-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-finding {
    flex-direction: column;
    align-items: stretch;
    padding: 2.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-finding {
    margin-block-start: 3rem;
    padding: 2rem 1rem;
  }
}

.p-commitment-finding__body {
  flex: 1 1 40rem;
  min-width: 0;
  max-width: 40rem;
}
@media screen and (max-width: 1023px) {
  .p-commitment-finding__body {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-finding__body {
    flex: none;
  }
}

.p-commitment-finding__title {
  color: #172661;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-commitment-finding__title::after {
  content: "";
  display: block;
  width: 2.6875rem;
  height: 2px;
  margin-block-start: 1.3125rem;
  background-color: #172661;
}

.p-commitment-finding__text {
  margin-block-start: 1rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-commitment-finding__text {
    font-size: 0.875rem;
  }
}

.p-commitment-finding__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 1.4375rem;
}

.p-commitment-finding__photo {
  flex: 0 1 clamp(20rem, calc(247.8195488722 / 16 * 1rem) + 9.3984962406vw, 23.125rem);
  min-width: 0;
  margin-block-start: -0.5rem;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 767px) {
  .p-commitment-finding__photo {
    flex: none;
    align-self: center;
    width: min(100%, 23.125rem);
    margin-block-start: 0;
  }
}
.p-commitment-finding__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-commitment-flow {
  padding-block-start: 6.375rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-flow {
    padding-block-start: 4rem;
  }
}

.p-commitment-flow__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-flow__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-commitment-flow__lead {
  margin-block-start: 1.25rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-commitment-flow__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-commitment-flow__steps {
  margin-block-start: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-flow__steps {
    margin-block-start: 2rem;
  }
}

.p-commitment-flow__button {
  display: flex;
  justify-content: center;
  margin-block-start: 2.6875rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-flow__button {
    margin-block-start: 2rem;
  }
}

.p-commitment-intro {
  padding-block-start: 6.1875rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro {
    padding-block-start: 2rem;
  }
}

.p-commitment-intro__inner {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__inner {
    flex-direction: column;
    align-items: stretch;
  }
}

.p-commitment-intro__body {
  flex: 1 1 40rem;
  min-width: 0;
  padding-inline-start: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__body {
    flex: none;
    padding-inline-start: 0;
  }
}

.p-commitment-intro__title {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

.p-commitment-intro__title-mark {
  text-decoration: underline 1px var(--color-primary);
  text-underline-offset: 0.3em;
}

.p-commitment-intro__worries {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-block-start: 2.5rem;
  margin-inline-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worries {
    align-items: center;
    gap: 1.25rem;
    margin-block-start: 1.75rem;
    margin-inline-start: 0;
  }
}

.p-commitment-intro__worry-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worry-row {
    gap: 1rem 0.625rem;
  }
}

.p-commitment-intro__worry-row--shift {
  margin-inline-start: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worry-row--shift {
    margin-inline-start: 1.25rem;
  }
}

.p-commitment-intro__worry {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.9375rem;
  padding: 1.0625rem clamp(1rem, calc(4.4511278195 / 16 * 1rem) + 1.5037593985vw, 1.5rem) 1.0625rem clamp(1rem, calc(3.007518797 / 16 * 1rem) + 1.6917293233vw, 1.5625rem);
  border-radius: 1.8125rem;
  background-color: #f4f4f4;
  font-size: clamp(0.875rem, calc(11.1127819549 / 16 * 1rem) + 0.3759398496vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worry {
    gap: 0.5rem;
    padding: 0.625rem 1rem 0.625rem 0.875rem;
    font-size: 0.75rem;
  }
}
.p-commitment-intro__worry::after {
  content: "";
  position: absolute;
  top: calc(100% - 0.3125rem);
  left: 1.4375rem;
  width: 1.3125rem;
  height: 1.375rem;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 81% 100%);
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worry::after {
    left: 1rem;
    width: 1rem;
    height: 1rem;
  }
}

.p-commitment-intro__worry-icon {
  flex-shrink: 0;
  width: 1.3125rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__worry-icon {
    width: 0.875rem;
  }
}

.p-commitment-intro__text {
  margin-block-start: 1.8125rem;
  margin-inline-start: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.14;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__text {
    margin-block-start: 1.75rem;
    margin-inline-start: 0;
    line-height: 1.86;
  }
}

.p-commitment-intro__promise {
  margin-block-start: 1.1875rem;
  margin-inline-start: 0.0625rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__promise {
    margin-inline-start: 0;
    font-size: 1rem;
  }
}
.p-commitment-intro__promise em {
  color: #f96677;
  font-style: normal;
}

.p-commitment-intro__photo {
  flex: 0 1 clamp(20rem, calc(60.1503759398 / 16 * 1rem) + 33.8345864662vw, 31.25rem);
  min-width: 0;
  margin-block-start: 0.1875rem;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 767px) {
  .p-commitment-intro__photo {
    flex: none;
    align-self: center;
    width: min(100%, 31.25rem);
    margin-block-start: 0;
  }
}
.p-commitment-intro__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-commitment-links {
  padding-block-start: 3.8125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-links {
    padding-block-start: 3.5rem;
  }
}

.p-commitment-links__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-links__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-commitment-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0625rem;
  margin-block-start: 2.6875rem;
  padding-inline: 2.125rem;
}
@media screen and (max-width: 1023px) {
  .p-commitment-links__list {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-links__list {
    gap: 0.625rem;
    margin-block-start: 1.5rem;
  }
}
.p-commitment-links__list > li {
  flex: 1 1 15rem;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-commitment-links__list > li {
    flex-basis: calc((100% - 0.625rem) / 2);
  }
}
.p-commitment-links__list .c-outline-button {
  flex: 1;
  min-width: 0;
}

.p-commitment-points {
  padding-block-start: 7.0625rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-points {
    padding-block-start: 4rem;
  }
}

.p-commitment-points__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-points__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-commitment-points__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 2.375rem 2.1875rem;
  margin-block-start: 2.5625rem;
  padding: 2.5rem 1.9375rem 3.25rem;
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
}
@media screen and (max-width: 767px) {
  .p-commitment-points__list {
    gap: 2rem;
    margin-block-start: 1.5rem;
    padding: 1.75rem 1rem 2.25rem;
  }
}

.p-commitment-stats {
  padding-block-start: 7.75rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-stats {
    padding-block-start: 4rem;
  }
}

.p-commitment-stats__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-commitment-stats__panel {
  position: relative;
  margin-block-start: 3.3125rem;
  padding: 5.125rem 3.25rem 2.625rem 5.875rem;
  background: url("../images/image_commitment_stats_bg.webp") center/cover no-repeat;
}
@media screen and (max-width: 1023px) {
  .p-commitment-stats__panel {
    padding: 2.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__panel {
    margin-block-start: 1.5rem;
    margin-inline: auto;
    padding: 1.3125rem 1.1875rem 2.8125rem;
  }
}

.p-commitment-stats__photo {
  position: absolute;
  top: 1.9375rem;
  right: 3.25rem;
  width: 20.1875rem;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
}
@media (width < 1300px) {
  .p-commitment-stats__photo {
    position: relative;
    top: auto;
    right: auto;
    float: right;
    width: min(40%, 15rem);
    margin-block-start: -1.25rem;
    margin-inline-start: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__photo {
    float: none;
    width: 14.0625rem;
    max-width: 100%;
    margin: 0 auto;
  }
}
.p-commitment-stats__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-commitment-stats__lead {
  position: relative;
  max-width: calc(100% - 20.1875rem);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media (width < 1300px) {
  .p-commitment-stats__lead {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__lead {
    margin-block-start: -2.1875rem;
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-commitment-stats__list {
  position: relative;
  clear: both;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__list {
    margin-block-start: 2rem;
  }
}

.p-commitment-stats__note {
  position: relative;
  margin-block-start: 2.3125rem;
  color: #595757;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.86;
}
@media screen and (max-width: 767px) {
  .p-commitment-stats__note {
    margin-block-start: 2.125rem;
    margin-inline: 0.5rem;
    line-height: 1.86;
  }
}

.p-commitment {
  position: relative;
}

.p-contact:has(.p-contact__form) {
  padding-block: 4.5rem;
}

.p-contact:has(.p-contact__form) .p-contact__title {
  display: grid;
  place-items: center;
}

.p-contact__form {
  margin-block-start: 4rem;
}

.p-contact {
  position: relative;
  z-index: 1;
  padding-block: 6rem 6.75rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-block: 2.25rem 2.5rem;
  }
}

.p-contact__bg {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: 100%;
  height: 78.6875rem;
  pointer-events: none;
  background: url("../images/image_contact_bg.webp") center top/100% 100% no-repeat;
  translate: -50% 0;
}
@media screen and (max-width: 1023px) {
  .p-contact__bg {
    width: 75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__bg {
    inset: 0;
    width: auto;
    height: auto;
    translate: none;
    background: url("../images/image_contact_bg_sp.webp") center top/100% 100% no-repeat;
  }
}

.p-contact__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 76.625rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    width: min(100%, 37.5rem);
    max-width: none;
    padding-inline: 1.25rem;
  }
}

.p-contact__intro {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: clamp(1.5rem, calc(-280.1584158416 / 16 * 1rem) + 29.702970297vw, 5.25rem);
  margin-inline-start: 0.5rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__intro {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__intro {
    gap: 0;
    margin-inline-start: 0;
  }
}

.p-contact__heading {
  flex: 0 1 clamp(17.5rem, calc(-490.5346534653 / 16 * 1rem) + 75.2475247525vw, 27rem);
  min-width: 0;
  max-width: 27rem;
  position: relative;
  min-height: 7.875rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__heading {
    flex: none;
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__heading {
    min-height: 0;
  }
}

.p-contact__wreath {
  position: absolute;
  top: -4.375rem;
  left: -14.125rem;
  z-index: 0;
  width: 16.4375rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-contact__wreath {
    top: -2.3125rem;
    left: 8.5625rem;
    z-index: -1;
    width: 13.3125rem;
    scale: -1 1;
  }
}
.p-contact__wreath img {
  display: block;
  width: 100%;
  height: auto;
}

.p-contact__label {
  position: relative;
  z-index: 1;
  padding-inline-start: 0.375rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__label {
    padding-inline-start: 0;
    font-size: 1rem;
    transform: translateY(-0.5rem);
  }
}

.p-contact__title {
  position: relative;
  z-index: 1;
  margin-block-start: 0.75rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: clamp(1.5rem, calc(-36.8316831683 / 16 * 1rem) + 5.9405940594vw, 2.25rem);
  font-weight: 500;
  line-height: 1.4722222222;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__title {
    margin-block-start: 0.625rem;
    font-size: 1.5625rem;
    line-height: 1.44;
    transform: translateY(-0.5rem);
  }
}

.p-contact__title-indent {
  padding-inline-start: clamp(2.5rem, calc(-122.2178217822 / 16 * 1rem) + 15.8415841584vw, 4.5rem);
}
@media screen and (max-width: 767px) {
  .p-contact__title-indent {
    padding-inline-start: 3.125rem;
  }
}

.p-contact__lead {
  flex: 1 1 0;
  min-width: 0;
  padding-block-start: 3.4375rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__lead {
    flex: none;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__lead {
    padding-block-start: 1.375rem;
  }
}

.p-contact__lead-text {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-contact__lead-text {
    line-height: 1.875;
  }
}

.p-contact__panel {
  overflow: hidden;
  margin-block-start: 5.1875rem;
  border-radius: var(--radius-large);
  background-color: var(--color-white);
  box-shadow: 0 0 0.75rem rgb(244, 198, 220);
}
@media screen and (max-width: 1023px) {
  .p-contact__panel {
    margin-block-start: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__panel {
    margin-block-start: 1.75rem;
    overflow: visible;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
  }
}

.p-contact__reserve {
  display: grid;
  grid-template-columns: clamp(11.25rem, calc(-453.6633663366 / 16 * 1rem) + 61.8811881188vw, 19.0625rem) minmax(0, 1fr);
  min-height: clamp(6.25rem, calc(-305.5445544554 / 16 * 1rem) + 39.603960396vw, 11.25rem);
}
@media screen and (max-width: 1023px) {
  .p-contact__reserve {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__reserve {
    overflow: hidden;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  }
}

.p-contact__photo {
  overflow: hidden;
  height: 11.25rem;
  border-radius: 0 0 var(--radius-large) 0;
}
@media screen and (max-width: 767px) {
  .p-contact__photo {
    height: 8.125rem;
    border-radius: 0;
  }
}
.p-contact__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-contact__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-contact__reserve-body {
  min-width: 0;
  padding: 2.375rem clamp(1.25rem, calc(-66.1782178218 / 16 * 1rem) + 8.4158415842vw, 2.3125rem) 0 clamp(1.25rem, calc(-50.9702970297 / 16 * 1rem) + 6.9306930693vw, 2.125rem);
}
@media screen and (max-width: 1023px) {
  .p-contact__reserve-body {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__reserve-body {
    padding: 1.25rem 1.625rem 2.0625rem 1.75rem;
  }
}

.p-contact__reserve-text {
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__reserve-text {
    font-size: 1rem;
    line-height: 1.38;
  }
}

.p-contact__actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.5rem;
  min-width: 0;
  margin-block-start: 1.625rem;
  margin-inline-start: -0.1875rem;
}
.p-contact__actions .c-reserve-button {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 22.75rem;
  height: 5.8125rem;
  padding-inline-start: 1.875rem;
}
.p-contact__actions .c-tel-box {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 22.75rem;
  height: 5.8125rem;
}
@media (min-width: 768px) and (max-width: 1180px) {
  .p-contact__actions {
    gap: clamp(0.75rem, calc(-10.3689320388 / 16 * 1rem) + 2.9126213592vw, 1.5rem);
  }
}
@media screen and (max-width: 767px) {
  .p-contact__actions {
    flex-direction: column;
    align-items: center;
    gap: 1.125rem;
    margin-block-start: 1.125rem;
    margin-inline-start: 0;
  }
  .p-contact__actions .c-reserve-button {
    flex: 0 0 auto;
    width: 18.4375rem;
    height: 4.6875rem;
    padding: 0.75rem 1rem 0.75rem 1.25rem;
  }
  .p-contact__actions .c-reserve-button__icon,
  .p-contact__actions .c-reserve-button__icon img {
    width: 2.1875rem;
    height: 1.875rem;
  }
  .p-contact__actions .c-reserve-button__text {
    font-size: 1.5rem;
  }
  .p-contact__actions .c-tel-box {
    flex: 0 0 auto;
    width: 18.4375rem;
    height: 4.6875rem;
  }
  .p-contact__actions .c-tel-box__label {
    font-size: 1.125rem;
  }
  .p-contact__actions .c-tel-box__number a {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
  }
  .p-contact__actions .c-tel-box__hours {
    font-size: 0.75rem;
  }
}

.p-contact__access {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: clamp(1rem, calc(-85.3861386139 / 16 * 1rem) + 9.900990099vw, 2.25rem);
  padding: clamp(1.5rem, calc(-158.495049505 / 16 * 1rem) + 17.8217821782vw, 3.75rem) clamp(1.25rem, calc(-86.4554455446 / 16 * 1rem) + 10.396039604vw, 2.5625rem) clamp(1.5rem, calc(-62.1782178218 / 16 * 1rem) + 8.4158415842vw, 2.5625rem) clamp(1.25rem, calc(-71.2475247525 / 16 * 1rem) + 8.9108910891vw, 2.375rem);
}
@media screen and (max-width: 1023px) {
  .p-contact__access {
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__access {
    flex-direction: column;
    gap: 2rem;
    margin-block-start: 1.4375rem;
    padding: 0;
  }
}

.p-contact__info {
  flex: 1 1 0;
  min-width: 0;
  max-width: 37.125rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__info {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__info {
    width: min(37.5rem, 100%);
    max-width: 100%;
    margin-inline: auto;
    padding: 0 1.0625rem 2.25rem 1.1875rem;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    box-shadow: 0 0 0.4375rem rgb(244, 198, 220);
  }
}

.p-contact__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-block-end: 0.875rem;
  padding-inline-end: 0.3125rem;
  border-bottom: 1px solid #cbcccd;
}
.p-contact__head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 6.625rem;
  height: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-contact__head {
    display: contents;
  }
  .p-contact__head::after {
    content: none;
  }
}
.p-contact__head .c-sub-heading {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__head .c-sub-heading {
    position: relative;
    flex: 0 0 auto;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;
    padding-block-end: 0.875rem;
    padding-inline-start: 0.375rem;
    border-bottom: 2px solid #dcdddd;
  }
  .p-contact__head .c-sub-heading::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 3.5625rem;
    height: 2px;
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 767px) {
  .p-contact__head .c-pill-link {
    order: 4;
    align-self: center;
    width: 13.375rem;
    height: 2.8125rem;
    margin-inline-start: 0.125rem;
    padding: 0.375rem 1.125rem;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}

.p-contact__block:not(.p-contact__block--hours) .c-sub-heading {
  padding-block-start: 0.5625rem;
}
@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) .c-sub-heading {
    order: 1;
    padding-block-start: 1.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) .p-contact__address {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) .p-contact__station {
    order: 3;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) .p-contact__pill {
    order: 4;
    margin-block-start: 1.3125rem;
  }
}

.p-contact__block--hours {
  margin-block-start: 2.1875rem;
}
.p-contact__block--hours .p-contact__head .c-sub-heading {
  padding-block-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-contact__block--hours {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-block-start: 2.4375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block--hours .c-sub-heading {
    order: 1;
    padding-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block--hours .p-contact__table {
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block--hours .p-contact__notes {
    order: 3;
  }
}

.p-contact__block--hours .p-contact__pill {
  padding-inline-end: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-contact__block--hours .p-contact__pill {
    order: 4;
    margin-block-start: 1.4375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block--hours .p-contact__head {
    display: contents;
  }
}

.p-contact__address {
  margin-block-start: 1.5rem;
  margin-block-end: 0.375rem;
  padding-inline-start: 1.125rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__address {
    margin-block-start: 1rem;
    margin-block-end: 0;
    padding-inline-start: calc(0.5625rem + 1em);
    text-indent: -1em;
    font-weight: 500;
    line-height: 1.57;
  }
}

.p-contact__station {
  padding-inline-start: 1.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin-block-end: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-contact__station {
    margin-block-start: 0.125rem;
    margin-block-end: 0;
    padding-inline-start: 0.5625rem;
  }
}

.p-contact__table {
  margin-block-start: 1.125rem;
  margin-block-end: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact__table {
    max-width: none;
    margin-block-start: 1.375rem;
    margin-block-end: 0;
    margin-inline-start: -0.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__table thead th {
    height: 2.5625rem;
  }
}

.p-contact__table tbody th,
.p-contact__table tbody td {
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .p-contact__table tbody th,
  .p-contact__table tbody td {
    height: 3.375rem;
  }
}

.p-contact__none {
  color: var(--color-text);
}

.p-contact__notes {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: 1rem;
  row-gap: 0;
  margin-block-start: 0.625rem;
  padding-inline-start: 0.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}
.p-contact__notes p:first-child {
  grid-column: 1/-1;
}
@media screen and (max-width: 767px) {
  .p-contact__notes {
    display: block;
    margin-block-start: 0.625rem;
    margin-inline-start: -0.1875rem;
    padding-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1.59;
  }
}

.p-contact__map {
  overflow: hidden;
  flex: 0 1 auto;
  width: clamp(17.5rem, calc(-429.702970297 / 16 * 1rem) + 69.3069306931vw, 26.25rem);
  min-width: 0;
  max-width: 26.25rem;
  aspect-ratio: 420/510;
  background-color: var(--color-white);
}
@media screen and (max-width: 1023px) {
  .p-contact__map {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    height: clamp(15rem, calc(-121.4117647059 / 16 * 1rem) + 47.0588235294vw, 22.5rem);
  }
}
@media screen and (max-width: 767px) {
  .p-contact__map {
    width: min(37.5rem, 100%);
    max-width: 100%;
    height: 12.5rem;
    min-height: 0;
    margin-inline: auto;
    border-radius: 0;
    aspect-ratio: auto;
  }
}
.p-contact__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-contact__head .c-sub-heading__text {
  font-size: 1.125rem;
}

.p-contact__tel .c-tel-box__label {
  margin-inline-end: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-contact__tel .c-tel-box__label {
    margin-inline-end: 0;
  }
}

.p-contact__tel .c-tel-box__number {
  translate: -0.75rem 0;
}
@media screen and (max-width: 767px) {
  .p-contact__tel .c-tel-box__number {
    translate: none;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__block:not(.p-contact__block--hours) .p-contact__head {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__table .c-hours-table__label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__table .c-hours-table__hours {
    font-size: 0.875rem;
    white-space: nowrap;
  }
}

.p-contact__table .c-hours-table__note {
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-contact__table .c-hours-table__note {
    display: block;
    font-size: clamp(0.4375rem, calc(-17 / 16 * 1rem) + 6.6666666667vw, 0.5625rem);
    line-height: 1.2;
    white-space: normal;
  }
}

.p-contact__tel .c-tel-box__hours {
  align-self: flex-start;
  margin-inline-start: 5.25rem;
}
@media screen and (max-width: 767px) {
  .p-contact__tel .c-tel-box__hours {
    align-self: auto;
    margin-inline-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__table .c-hours-table__corner {
    width: 5.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__table .c-hours-table__label {
    height: 3.375rem;
    padding: 0.375rem 0 0 0.25rem;
  }
}

.p-doctor-profile {
  padding-block-start: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-profile {
    padding-block-start: 2.5rem;
  }
}

.p-doctor-profile__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-profile__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-doctor-schedule {
  padding-block: 6.5rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-schedule {
    padding-block: 3.5rem 3rem;
  }
}

.p-doctor-schedule__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-schedule__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-doctor-schedule__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-doctor-schedule__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-doctor-schedule__table {
  margin-block-start: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-schedule__table {
    margin-block-start: 1.25rem;
  }
}

.p-doctor-schedule__note {
  margin-block-start: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.83;
}
@media screen and (max-width: 767px) {
  .p-doctor-schedule__note {
    font-size: 0.8125rem;
  }
}

.p-doctor-schedule__link {
  margin-block-start: 1.5rem;
}

.p-doctor-team {
  padding-block-start: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-team {
    padding-block-start: 2rem;
  }
}

.p-doctor-team__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-team__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-doctor-team__panel {
  margin-block-start: 2.625rem;
  padding: 3.0625rem 3.3125rem 3.8125rem 3.4375rem;
  background: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), url("../images/image_doctor_team_bg.webp") center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .p-doctor-team__panel {
    margin-block-start: 1.5rem;
    padding: 1.5rem 1rem 1.75rem;
  }
}

.p-doctor-team__lead {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  text-shadow: 0 0 0.25rem #fff, 0 0 0.75rem rgba(255, 255, 255, 0.85);
}
@media screen and (max-width: 767px) {
  .p-doctor-team__lead {
    font-size: 0.875rem;
  }
}

.p-doctor-team__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 2rem;
  margin-block-start: 1.625rem;
  padding-inline-start: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-team__list {
    gap: 0.875rem;
    margin-block-start: 1.25rem;
    padding-inline-start: 0;
  }
}

.p-doctor {
  position: relative;
}

.p-doctors {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-block: 3.4375rem 4.9375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-doctors {
    padding-block: 2.625rem 3.125rem;
    padding-inline: 0;
  }
}

.p-doctors__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: 137.5rem;
  pointer-events: none;
  background: radial-gradient(ellipse 45% 75% at 88% 100%, #eaf7c2 0%, rgba(234, 247, 194, 0) 100%), radial-gradient(ellipse 30% 45% at 85% 0%, #ffeff7 0%, rgba(255, 239, 247, 0) 100%), linear-gradient(180deg, #fff5f7 0%, #fef6f6 45%, #fbf9f1 100%);
  border-radius: 68.75rem 68.75rem 0 0 / 7.0625rem 7.0625rem 0 0;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .p-doctors__bg {
    left: 0;
    width: 100%;
    border-radius: 30rem 30rem 0 0 / 4rem 4rem 0 0;
    translate: none;
  }
}

.p-doctors__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.125rem;
  }
}

.p-doctors .c-section-heading__title {
  margin-block-start: 1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-doctors .c-section-heading__title {
    margin-block-start: 1rem;
    font-size: 2rem;
  }
}

.p-doctors .c-section-heading__lead {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-doctors .c-section-heading__lead {
    margin-block-start: 1.375rem;
    padding-inline: 0;
    line-height: 1.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-doctors .c-section-heading__en {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-doctors .c-section-heading__en-text {
    margin-block-start: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-doctors__slider {
    position: relative;
    overflow: hidden;
    width: 100vw;
  }
  .p-doctors__slider.swiper {
    margin-inline: calc(50% - 50vw);
  }
  .p-doctors__slider .swiper-slide {
    height: auto;
    flex-shrink: 0;
  }
}

.p-doctors__scroll-hint {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-doctors__scroll-hint.is-visible {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: min(21.875rem, 100vw - 2.5rem);
    pointer-events: none;
  }
}
.p-doctors__scroll-hint .scroll-hint-text {
  display: block;
}

.p-doctors__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, calc(11.3333333333 / 16 * 1rem) + 1.6493055556vw, 2.6875rem);
  width: 100%;
  max-width: 74.75rem;
  margin-block-start: 2.375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-doctors__list {
    display: flex;
    gap: 0;
    justify-content: flex-start;
    margin-block-start: 1.375rem;
  }
}

.p-doctors__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-doctors__card {
    flex: 0 0 min(21.875rem, 100vw - 2.5rem);
    width: min(21.875rem, 100vw - 2.5rem);
  }
}

.p-doctors__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

.p-doctors__photo {
  position: relative;
  width: 100%;
  max-width: 23.125rem;
  aspect-ratio: 1;
  height: auto;
  border-radius: var(--radius-large);
  box-shadow: 0 0 5px rgb(244, 198, 220);
}
@media screen and (max-width: 767px) {
  .p-doctors__photo {
    width: 100%;
    max-width: none;
    aspect-ratio: 1;
    height: auto;
  }
}
.p-doctors__photo img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-large);
  object-fit: cover;
}

.p-doctors__message {
  position: absolute;
  bottom: 0;
  left: -0.0625rem;
  box-sizing: border-box;
  width: min(20.5rem, 88.65%);
  padding: 0.9375rem 1rem 1.25rem clamp(1rem, calc(6 / 16 * 1rem) + 1.3020833333vw, 1.9375rem);
  border-radius: 0 var(--radius-large) 0 var(--radius-large);
  background-color: var(--color-white);
  color: var(--color-primary);
  font-size: clamp(0.875rem, calc(12.6666666667 / 16 * 1rem) + 0.1736111111vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__message {
    left: 0.125rem;
    width: min(19.375rem, 89%);
    padding: 0.9375rem 1rem 0.875rem 1.4375rem;
    font-size: clamp(0.875rem, calc(-10 / 16 * 1rem) + 6.6666666667vw, 1rem);
    line-height: 1.375rem;
  }
}

.p-doctors__badge {
  display: inline-flex;
  box-sizing: border-box;
  min-height: 2.3125rem;
  margin-block-start: 1.5rem;
  padding: 0.25rem 0.25rem;
  background: linear-gradient(90deg, #d7b16a 0%, #d7b16a 15%, var(--color-gold-450) 60%, var(--color-gold-450) 100%);
}
.p-doctors__card:nth-child(1) .p-doctors__badge {
  margin-inline-start: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__badge {
    margin-block-start: 1.75rem;
    margin-inline-start: 0.25rem;
  }
}

.p-doctors__badge-text {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 1.875rem;
  padding: 0.375rem 0.875rem 0.375rem;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-size: clamp(0.75rem, calc(9.3333333333 / 16 * 1rem) + 0.3472222222vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .p-doctors__badge-text {
    padding: 0.1875rem 0.875rem 0.3125rem;
    font-size: 1rem;
    white-space: nowrap;
    text-align: left;
  }
  .p-doctors__card:nth-child(3n+1) .p-doctors__badge-text {
    padding-inline: 1.1875rem 1rem;
  }
  .p-doctors__card:nth-child(3n) .p-doctors__badge-text {
    padding-inline: 0.6875rem 1.0625rem;
  }
}

.p-doctors__role {
  margin-block-start: 1rem;
  margin-inline-start: 0.8125rem;
  font-family: var(--ff-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-doctors__role {
    margin-block-start: 1.125rem;
    margin-inline-start: 0.6875rem;
  }
}

.p-doctors__name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.375rem;
  margin-block-start: 0.5625rem;
  margin-inline-start: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__name {
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0 1.3125rem;
    margin-block-start: 0.625rem;
    margin-inline-start: 0.5rem;
    width: 100%;
    max-width: 100%;
  }
}

.p-doctors__name-ja {
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-doctors__name-ja {
    flex-shrink: 0;
    font-size: clamp(1.75rem, calc(-20 / 16 * 1rem) + 13.3333333333vw, 2rem);
    white-space: nowrap;
  }
}

.p-doctors__name-en {
  font-family: var(--ff-serif);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-doctors__name-en {
    flex-shrink: 1;
    min-width: 0;
    font-size: clamp(0.75rem, calc(-12 / 16 * 1rem) + 6.6666666667vw, 0.875rem);
    white-space: nowrap;
    translate: 0 -0.375rem;
  }
}

.p-doctors__specialty {
  margin-block-start: 1.4375rem;
  margin-inline-start: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__specialty {
    margin-block-start: 1.375rem;
    margin-inline-start: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.375rem;
    white-space: normal;
  }
}

.p-doctors__scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-doctors__scrollbar {
    display: block;
    position: relative;
    width: min(21.25rem, 100%);
    height: 0.375rem;
    margin-block-start: 1.625rem;
    margin-inline: auto;
    border-radius: 0.1875rem;
    background-color: var(--color-gray-270);
  }
}

@media screen and (max-width: 767px) {
  .p-doctors__scrollbar-fill {
    display: block;
    width: 6.8125rem;
    height: 100%;
    border-radius: inherit;
    background-color: var(--color-primary);
    transition: transform 0.4s ease;
    will-change: transform;
  }
}
@media screen and (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .p-doctors__scrollbar-fill {
    transition: none;
  }
}

.p-doctors__button {
  display: flex;
  justify-content: center;
  margin-block-start: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-doctors__button {
    margin-block-start: 2.0625rem;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-doctors__button .c-button {
    padding-block: 1.6875rem 0;
  }
}

.p-endoscopy {
  position: relative;
  z-index: 1;
  overflow: clip;
  background-color: var(--color-white);
}

.p-endoscopy__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: clamp(26.25rem, calc(204.6666666667 / 16 * 1rem) + 28.0381944444vw, 46.4375rem);
  overflow: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__bg {
    top: 0;
    height: calc(100% - 7.5rem);
  }
}
.p-endoscopy__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-endoscopy__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-endoscopy__visual {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: clamp(23.125rem, calc(-128 / 16 * 1rem) + 64.84375vw, 69.8125rem);
  height: clamp(10.9375rem, calc(-60.3333333333 / 16 * 1rem) + 30.6423611111vw, 33rem);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__visual {
    top: auto;
    right: 0;
    left: auto;
    width: min(100%, 23.125rem);
    aspect-ratio: 370/175;
    max-width: none;
    height: auto;
  }
}
.p-endoscopy__visual picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-endoscopy__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-endoscopy__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 81.25rem;
  margin-inline: auto;
  padding-block-start: 5.625rem;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__inner {
    width: min(100%, 37.5rem);
    padding-block-start: 11.875rem;
    padding-inline: 1.25rem;
  }
}

.p-endoscopy__label {
  box-sizing: border-box;
  width: 18.1875rem;
  max-width: 100%;
  margin-inline-start: 0rem;
  padding: clamp(0.75rem, calc(10.6666666667 / 16 * 1rem) + 0.1736111111vw, 0.875rem) clamp(1.25rem, calc(16.6666666667 / 16 * 1rem) + 0.4340277778vw, 1.5625rem) clamp(0.8125rem, calc(11 / 16 * 1rem) + 0.2604166667vw, 1rem);
  color: var(--color-white);
  font-family: var(--ff-serif);
  font-size: clamp(1.25rem, calc(17.3333333333 / 16 * 1rem) + 0.3472222222vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  background: linear-gradient(90deg, #fe84a0 0%, #f95983 100%);
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__label {
    margin-inline-start: 0.125rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.75rem 1.25rem 0.8125rem;
    font-size: 1.25rem;
  }
}

.p-endoscopy__title {
  margin-block-start: 1.125rem;
  margin-inline-start: -0.375rem;
  font-family: var(--ff-serif);
  font-size: clamp(2.125rem, calc(20.6666666667 / 16 * 1rem) + 1.7361111111vw, 3.375rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__title {
    margin-block-start: 1.5rem;
    margin-inline-start: -0.375rem;
    max-width: 100%;
    font-size: 2.125rem;
    line-height: 1.25;
  }
}

.p-endoscopy__stats-layout {
  display: grid;
  grid-template-columns: clamp(18.75rem, calc(210 / 16 * 1rem) + 11.71875vw, 27.1875rem) clamp(18.75rem, calc(210 / 16 * 1rem) + 11.71875vw, 27.1875rem);
  grid-template-rows: minmax(clamp(7.5rem, calc(90 / 16 * 1rem) + 3.90625vw, 10.3125rem), auto) minmax(clamp(7.5rem, calc(90 / 16 * 1rem) + 3.90625vw, 10.3125rem), auto);
  column-gap: clamp(0.75rem, calc(6 / 16 * 1rem) + 0.78125vw, 1.3125rem);
  row-gap: clamp(1rem, calc(10 / 16 * 1rem) + 0.78125vw, 1.5625rem);
  margin-block-start: clamp(1.75rem, calc(18 / 16 * 1rem) + 1.3020833333vw, 2.6875rem);
  margin-inline-start: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stats-layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.625rem;
    margin-block-start: 1.75rem;
    margin-inline-start: 0;
  }
}

.p-endoscopy__stats {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stats {
    display: flex;
    flex-direction: column;
    gap: 1.375rem;
  }
}

.p-endoscopy__stat {
  position: relative;
  min-height: clamp(7.5rem, calc(90 / 16 * 1rem) + 3.90625vw, 10.3125rem);
  border-bottom: 1px solid #b1b2b3;
}
.p-endoscopy__stat:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.p-endoscopy__stat:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}
.p-endoscopy__stat:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat {
    --stat-inset: max(0px, (100% - 21.875rem) / 2);
    display: block;
    min-height: auto;
    padding-block-end: 0.75rem;
    padding-inline: var(--stat-inset);
  }
  .p-endoscopy__stat:nth-child(1), .p-endoscopy__stat:nth-child(2), .p-endoscopy__stat:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }
}

.p-endoscopy__stat--blue .p-endoscopy__stat-icon {
  background: linear-gradient(90deg, #f6fcff 0%, #bce8ff 100%);
}

.p-endoscopy__stat-icon {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: visible;
  box-sizing: border-box;
  width: clamp(6.3125rem, calc(81.6666666667 / 16 * 1rem) + 2.5173611111vw, 8.125rem);
  height: clamp(6.3125rem, calc(81.6666666667 / 16 * 1rem) + 2.5173611111vw, 8.125rem);
  padding-block-start: clamp(1.5rem, calc(18.6666666667 / 16 * 1rem) + 0.6944444444vw, 2rem);
  padding-inline-start: clamp(1.5rem, calc(18.6666666667 / 16 * 1rem) + 0.6944444444vw, 2rem);
  border-radius: 50%;
  background: linear-gradient(90deg, #faecf1 0%, #f0cedb 100%);
}
.p-endoscopy__stat-icon img {
  display: block;
  width: clamp(2rem, calc(26.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.5rem);
  height: auto;
  max-width: none;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat-icon {
    left: calc(var(--stat-inset) + 0.5rem);
    width: 6.3125rem;
    height: 6.3125rem;
    padding-block-start: 1.5rem;
    padding-inline-start: 1.5rem;
  }
  .p-endoscopy__stat-icon img {
    width: 2rem;
  }
}

.p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-icon img {
  width: clamp(2rem, calc(26.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.5rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-icon img {
    width: 2rem;
  }
}

.p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-icon img {
  width: clamp(1.875rem, calc(24.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.375rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-icon img {
    width: 1.875rem;
  }
}

.p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-icon img {
  width: clamp(2.125rem, calc(28.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.625rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-icon img {
    width: 2.125rem;
  }
}

.p-endoscopy__stat-label {
  position: relative;
  z-index: 1;
  margin-block-start: clamp(1.375rem, calc(15.3333333333 / 16 * 1rem) + 0.8680555556vw, 2rem);
  margin-inline-start: clamp(4.625rem, calc(69.3333333333 / 16 * 1rem) + 0.6076388889vw, 5.0625rem);
  font-size: clamp(1rem, calc(13.3333333333 / 16 * 1rem) + 0.3472222222vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat-label {
    margin-block-start: 1.375rem;
    margin-inline-start: 4.625rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
  }
}

.p-endoscopy__stat-value {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  margin-inline-start: clamp(4.0625rem, calc(63.6666666667 / 16 * 1rem) + 0.1736111111vw, 4.1875rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat-value {
    width: auto;
    min-width: 0;
    margin-inline-start: 4.0625rem;
  }
}

.p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-value {
  margin-block-start: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-value {
    margin-block-start: -0.375rem;
  }
}

.p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-value {
  margin-block-start: 0.625rem;
  margin-inline-start: clamp(4.0625rem, calc(63 / 16 * 1rem) + 0.2604166667vw, 4.25rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-value {
    margin-block-start: -0.125rem;
    width: auto;
    margin-inline-start: 4.0625rem;
  }
}

.p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-value {
  margin-block-start: 0.6875rem;
  margin-inline-start: clamp(4.0625rem, calc(62.3333333333 / 16 * 1rem) + 0.3472222222vw, 4.3125rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-value {
    margin-block-start: -0.375rem;
    width: auto;
    margin-inline-start: 4.0625rem;
  }
}

.p-endoscopy__stat-num {
  display: block;
  flex-shrink: 0;
  max-width: none;
  object-fit: contain;
  object-position: left bottom;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat-num {
    flex-shrink: 0;
  }
}

.p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-num {
  width: clamp(11.375rem, calc(140 / 16 * 1rem) + 5.46875vw, 15.3125rem);
  height: clamp(3.875rem, calc(50 / 16 * 1rem) + 1.5625vw, 5rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-num {
    width: 11.375rem;
    height: auto;
    aspect-ratio: 202/82;
  }
}

.p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-num {
  width: clamp(9.5rem, calc(117.3333333333 / 16 * 1rem) + 4.5138888889vw, 12.75rem);
  height: clamp(3.875rem, calc(50 / 16 * 1rem) + 1.5625vw, 5rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-num {
    width: 9.5rem;
    height: auto;
    aspect-ratio: 172/81;
  }
}

.p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-num {
  width: clamp(9.375rem, calc(117.3333333333 / 16 * 1rem) + 4.2534722222vw, 12.4375rem);
  height: clamp(3.9375rem, calc(51 / 16 * 1rem) + 1.5625vw, 5.0625rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-num {
    width: 9.375rem;
    height: auto;
    aspect-ratio: 169/81;
  }
}

.p-endoscopy__stat-unit {
  flex-shrink: 0;
  margin-block-end: clamp(0.75rem, calc(8 / 16 * 1rem) + 0.5208333333vw, 1.125rem);
  margin-inline-start: -0.625rem;
  font-family: var(--ff-serif);
  font-size: clamp(1.625rem, calc(19.3333333333 / 16 * 1rem) + 0.8680555556vw, 2.25rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat-unit {
    margin-block-end: 0.75rem;
    font-size: 1.625rem;
  }
}

.p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-unit {
  margin-inline-start: -0.0625rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(1) .p-endoscopy__stat-unit {
    margin-inline-start: 0.375rem;
  }
}

.p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-unit {
  margin-inline-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(2) .p-endoscopy__stat-unit {
    margin-inline-start: 0.5625rem;
  }
}

.p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-unit {
  margin-block-end: 1.1875rem;
  margin-inline-start: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__stat:nth-child(3) .p-endoscopy__stat-unit {
    margin-block-end: 0.75rem;
    margin-inline-start: 0.375rem;
  }
}

.p-endoscopy__text {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  width: clamp(20rem, calc(42.6666666667 / 16 * 1rem) + 36.1111111111vw, 46rem);
  margin-block-start: clamp(1.5rem, calc(2.6666666667 / 16 * 1rem) + 2.7777777778vw, 3.5rem);
  margin-inline-start: -0.25rem;
  font-size: clamp(0.875rem, calc(12.6666666667 / 16 * 1rem) + 0.1736111111vw, 1rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__text {
    grid-column: auto;
    grid-row: auto;
    width: auto;
    margin-inline-start: 0.25rem;
    margin-block-start: 0.125rem;
    font-size: 1rem;
    line-height: 2rem;
  }
}

.p-endoscopy__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 clamp(1.25rem, calc(-6.6666666667 / 16 * 1rem) + 3.4722222222vw, 3.75rem);
  width: min(100%, 68.75rem);
  min-height: 6.25rem;
  margin-block-start: clamp(2rem, calc(10.6666666667 / 16 * 1rem) + 2.7777777778vw, 4rem);
  margin-inline-start: clamp(0rem, calc(-33.3333333333 / 16 * 1rem) + 4.3402777778vw, 3.125rem);
  margin-inline-end: auto;
  padding-inline: clamp(1.25rem, calc(-3.3333333333 / 16 * 1rem) + 3.0381944444vw, 3.4375rem);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-270);
  border-radius: clamp(1.875rem, calc(16.6666666667 / 16 * 1rem) + 1.7361111111vw, 3.125rem);
}
@media screen and (max-width: 767px) {
  .p-endoscopy__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem 1.5rem;
    width: min(37.5rem, 100%);
    min-height: 10.125rem;
    height: auto;
    margin-block-start: 1.75rem;
    margin-inline: 0;
    padding: 1.125rem 1.25rem 0.75rem 1.375rem;
    border-radius: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-endoscopy__links > li {
    width: 100%;
  }
}

.p-endoscopy__link {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, calc(0 / 16 * 1rem) + 1.0416666667vw, 1.25rem);
  margin-block-start: -0.1875rem;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__link {
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    height: auto;
    min-height: 3.375rem;
    margin-block-start: 0;
  }
}
@media (any-hover: hover) {
  .p-endoscopy__link:hover .p-endoscopy__link-arrow {
    background-color: #6ac7bb;
  }
}

.p-endoscopy__link-label {
  font-size: clamp(0.875rem, calc(12.6666666667 / 16 * 1rem) + 0.1736111111vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__link-label {
    font-size: 1rem;
    line-height: 1.375rem;
    white-space: normal;
  }
}

@media screen and (max-width: 767px) {
  .p-endoscopy__links > li:nth-child(2),
  .p-endoscopy__links > li:nth-child(4) {
    padding-inline-start: 0.1875rem;
  }
}

.p-endoscopy__link-arrow {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: clamp(1.375rem, calc(19.3333333333 / 16 * 1rem) + 0.3472222222vw, 1.625rem);
  height: clamp(1.375rem, calc(19.3333333333 / 16 * 1rem) + 0.3472222222vw, 1.625rem);
  background-color: var(--color-primary);
  transition: background-color var(--duration);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 767px) {
  .p-endoscopy__link-arrow {
    width: clamp(1.5rem, calc(0 / 16 * 1rem) + 6.6666666667vw, 1.625rem);
    height: clamp(1.5rem, calc(0 / 16 * 1rem) + 6.6666666667vw, 1.625rem);
  }
}
.p-endoscopy__link-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M7.4 5.8 10.8 9 7.4 12.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (max-width: 389px) {
  .p-endoscopy__title {
    font-size: 1.875rem;
    letter-spacing: -0.02em;
  }
  .p-endoscopy__links {
    gap: 0.125rem 0.75rem;
    padding: 1rem 0.875rem 0.625rem 1rem;
  }
  .p-endoscopy__link {
    gap: 0.375rem;
    min-height: 3rem;
  }
  .p-endoscopy__link-label {
    font-size: 0.875rem;
    line-height: 1.35;
  }
}
.p-error {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-error {
    padding-block: 3rem 4rem;
  }
}

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

.p-error__texts {
  max-width: 40rem;
  text-align: center;
}

.p-error__text {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-error__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

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

.p-exam-box {
  padding: 3.5rem 3rem 3rem 3.625rem;
  border-radius: var(--radius);
  background: var(--color-gray-20) url("../images/image_reviews_box_bg.webp");
}
@media screen and (max-width: 767px) {
  .p-exam-box {
    padding: 1.75rem 1rem 2rem;
  }
}
.p-exam-box .c-mark-heading {
  margin-inline-start: -1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-exam-box .c-mark-heading {
    margin-inline-start: 0;
  }
}
.p-exam-box .p-exam-media__body {
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-exam-box .p-exam-media__body {
    align-items: stretch;
  }
}
.p-exam-box .p-exam-media__photo {
  flex-basis: 28.75rem;
}
@media screen and (max-width: 1023px) {
  .p-exam-box .p-exam-media__photo {
    flex-basis: auto;
  }
}

.p-exam-box--plain {
  background: var(--color-gray-40);
}

.p-exam-box--line {
  border: 1px solid var(--color-pink-280);
  background: var(--color-white);
}

.p-exam-box__text {
  margin-block-start: 1.3125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-exam-box__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

.p-exam-box .p-exam-box__heading {
  padding-inline-start: 0;
}

.p-exam-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam-cards {
    flex-direction: column;
    gap: 0.875rem;
    margin-block-start: 1.25rem;
  }
}
.p-exam-cards > li {
  flex: 1 1 calc((100% - 2.5rem) / 3);
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-exam-cards > li {
    flex-basis: calc((100% - 1.25rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-exam-cards > li {
    flex: none;
  }
}

.p-exam-cards--2 > li {
  flex-basis: calc((100% - 1.25rem) / 2);
}
@media screen and (max-width: 767px) {
  .p-exam-cards--2 > li {
    flex: none;
  }
}

@media screen and (max-width: 1023px) {
  .p-exam-cards--3 > li {
    flex-basis: calc((100% - 2.5rem) / 3);
  }
}
@media screen and (max-width: 767px) {
  .p-exam-cards--3 > li {
    flex: none;
  }
}

.p-exam-cards--4 > li {
  flex-basis: calc((100% - 3.75rem) / 4);
}
@media screen and (max-width: 1023px) {
  .p-exam-cards--4 > li {
    flex-basis: calc((100% - 1.25rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-exam-cards--4 > li {
    flex: none;
  }
}

.p-exam-columns {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam-columns {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
}

.p-exam-columns__col {
  flex: 1 1 0;
  min-width: 0;
  padding: 1.5rem 1.75rem 1.75rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-exam-columns__col {
    flex: none;
    padding: 1.25rem 1rem 1.5rem;
  }
}

.p-exam-columns__title {
  margin-block-end: 0.5rem;
  padding-block-end: 0.75rem;
  border-block-end: 2px solid var(--color-primary);
  font-family: var(--ff-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-exam-columns__title {
    font-size: 1.125rem;
  }
}

.p-exam-columns__text {
  margin-block-start: 0.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-exam-columns__text {
    font-size: 0.875rem;
  }
}

.p-exam-extlinks {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-block-start: 1.5rem;
}

.p-exam-intro {
  padding-block: 2.375rem 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-exam-intro {
    padding-block: 2rem 2.5rem;
  }
}

.p-exam-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-exam-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-exam-intro__box {
  max-width: 66.5625rem;
  margin-inline: auto;
  padding: 2.375rem 2.75rem 2.75rem 3.625rem;
  background: var(--color-gray-20) url("../images/image_reviews_box_bg.webp");
}
@media screen and (max-width: 767px) {
  .p-exam-intro__box {
    padding: 1.75rem 1.125rem 2rem;
  }
}
.p-exam-intro__box .c-mark-heading {
  margin-inline-start: -1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-exam-intro__box .c-mark-heading {
    margin-inline-start: 0;
  }
}

.p-exam-intro__text {
  margin-block-start: 1.3125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-exam-intro__text {
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-exam-intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam-intro__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}

.p-exam-linklist {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam-linklist {
    gap: 0.75rem 1.25rem;
  }
}
.p-exam-linklist > li {
  flex: 0 1 calc((100% - 6rem) / 4);
  min-width: min(100%, 12.5rem);
}
@media screen and (max-width: 767px) {
  .p-exam-linklist > li {
    flex-basis: calc((100% - 1.25rem) / 2);
    min-width: 0;
  }
}

.p-exam-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.p-exam-list > li {
  padding-inline-start: 1.2em;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  text-indent: -1.2em;
}
@media screen and (max-width: 767px) {
  .p-exam-list > li {
    font-size: 0.875rem;
  }
}
.p-exam-list > li::before {
  content: "※";
  display: inline-block;
  width: 1.2em;
  color: var(--color-primary);
  text-indent: 0;
}

.p-exam-media__body {
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
}
@media screen and (max-width: 1023px) {
  .p-exam-media__body {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
  }
}

.p-exam-media__main {
  flex: 1 1 37.5rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-exam-media__main {
    flex: none;
  }
}

.p-exam-media__photo {
  flex: 0 1 31.25rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 1023px) {
  .p-exam-media__photo {
    flex: none;
    align-self: center;
    width: min(100%, 31.25rem);
  }
}
.p-exam-media__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.p-exam-media__aside {
  flex: 0 1 26.875rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-exam-media__aside {
    flex: none;
  }
}

.p-exam-more__title {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-exam-more__title {
    margin-block-start: 1.75rem;
  }
}

.p-exam-more__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0625rem;
  margin-block-start: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-exam-more__list {
    gap: 0.625rem;
    margin-block-start: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam-more__list > li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-exam-more__list .c-outline-button--large {
    width: 100%;
    padding-inline: 1.25rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam-more__list .c-outline-button--large::after {
    right: 1rem;
  }
}

.p-exam-panel {
  padding: 2.5rem 2.5rem 2.25rem;
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
}
@media screen and (max-width: 767px) {
  .p-exam-panel {
    padding: 1.5rem 1rem;
  }
}

.p-exam-panel--white {
  border: 1px solid var(--color-pink-280);
  background-color: var(--color-white);
}

.p-exam-panel__title {
  margin-block-end: 1.25rem;
  font-family: var(--ff-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-exam-panel__title {
    margin-block-end: 0.875rem;
    font-size: 1.125rem;
  }
}

.p-exam-panel__text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-exam-panel__text {
    font-size: 0.875rem;
  }
}

.p-exam-panel__text + .p-exam-list {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-exam-panel__text + .p-exam-list {
    margin-block-start: 0.75rem;
  }
}

.p-exam-records {
  position: relative;
  padding: 2.5rem 3.25rem 2.625rem 3rem;
  background: url("../images/image_commitment_stats_bg.webp") center/cover no-repeat;
}
@media (width >= 1300px) {
  .p-exam-records {
    padding-inline-end: calc(3.25rem + 20.1875rem + 1rem);
  }
}
@media screen and (max-width: 1023px) {
  .p-exam-records {
    padding: 2rem 1.5rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam-records {
    padding: 1.5rem 1rem 2rem;
  }
}

.p-exam-records__photo {
  position: absolute;
  top: 1.9375rem;
  right: 3.25rem;
  width: 20.1875rem;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
}
@media (width < 1300px) {
  .p-exam-records__photo {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 15rem);
    margin-inline: auto;
    margin-block-end: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam-records__photo {
    width: 14.0625rem;
  }
}
.p-exam-records__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-exam-records__list {
  margin-block-start: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-exam-records__list {
    margin-block-start: 1.25rem;
  }
}

.p-exam-records__note {
  margin-block-start: 2.3125rem;
  color: #595757;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.86;
}
@media screen and (max-width: 767px) {
  .p-exam-records__note {
    margin-block-start: 1.5rem;
    margin-inline: 0.5rem;
  }
}

.p-exam-section {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-exam-section {
    padding-block: 3rem;
  }
}

.p-exam-section__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-exam-section__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-exam-section--tinted {
  background-color: var(--color-lime-50);
}

.p-exam-section--compact {
  padding-block: 0.5rem 4rem;
}
@media screen and (max-width: 767px) {
  .p-exam-section--compact {
    padding-block: 0 2.5rem;
  }
}

.p-exam-table__col-name {
  width: 17.5rem;
}
@media screen and (max-width: 1023px) {
  .p-exam-table__col-name {
    width: auto;
  }
}

.p-exam-table__col-wide {
  width: 21.25rem;
}
@media screen and (max-width: 1023px) {
  .p-exam-table__col-wide {
    width: auto;
  }
}

.p-exam-table__col-price {
  width: 11.875rem;
}

.p-exam-table__col-type {
  width: 8.5rem;
  white-space: nowrap;
}

.p-exam-table__col-cosme-menu {
  width: 20%;
}

.p-exam-table__col-cosme-price {
  width: 12.5%;
}

.p-exam-table__col-cosme-frequency {
  width: 31.6666666667%;
}

@media screen and (max-width: 1023px) and (width >= 768px) and (width < 900px) {
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-menu,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody th {
    width: 20%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th:nth-child(2),
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(2) {
    width: 34%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-price,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(3) {
    width: 19%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-frequency,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(4) {
    width: 27%;
  }
}
@media screen and (max-width: 1023px) and (width >= 900px) {
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-menu,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody th {
    width: 18%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th:nth-child(2),
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(2) {
    width: 39%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-price,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(3) {
    width: 16%;
  }
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) thead th.p-exam-table__col-cosme-frequency,
  .c-data-table--head:has(.p-exam-table__col-cosme-menu) tbody td:nth-child(4) {
    width: 27%;
  }
}

.p-exam-type-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 28.75rem), 1fr));
  gap: 2.1875rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-exam-type-list {
    gap: 1rem;
  }
}

.p-exam-type {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 2rem;
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-exam-type {
    padding: 1.25rem 1.125rem 1.5rem;
  }
}

.p-exam-type__title {
  font-family: var(--ff-serif);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.43;
}
@media screen and (max-width: 767px) {
  .p-exam-type__title {
    font-size: 1.125rem;
  }
}

.p-exam-type__text {
  margin-block-start: 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.73;
}
@media screen and (max-width: 767px) {
  .p-exam-type__text {
    font-size: 0.875rem;
  }
}

.p-exam-type__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  margin-block-start: 1rem;
}

.p-exam {
  position: relative;
}

.p-exam__lead {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-exam__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-exam__block {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam__block {
    margin-block-start: 1.25rem;
  }
}

.p-exam__flow {
  max-width: 62.5rem;
  margin-inline: auto;
}

.p-exam__note {
  margin-block-start: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-exam__note {
    font-size: 0.8125rem;
  }
}

.p-exam__note--narrow {
  width: min(100%, 62.5rem);
  margin-inline: auto;
}

.p-exam__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-exam__links {
    flex-direction: column;
    gap: 0.625rem;
    margin-block-start: 1.5rem;
  }
}
.p-exam__links > li {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-exam__links .c-arrow-button,
  .p-exam__links .c-outline-button {
    width: 100%;
    min-width: 0;
    min-height: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam__links .c-outline-button {
    padding-inline: 2rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-exam__links .c-outline-button::after {
    right: 1rem;
  }
}

.p-exam__links--center {
  justify-content: center;
}

.p-exam__sub {
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-exam__sub {
    margin-block-start: 2.25rem;
  }
}

.p-exam__inline-link {
  color: var(--color-secondary);
  text-decoration: underline;
}

.p-facility-card__photo {
  overflow: hidden;
  border-radius: var(--radius);
  aspect-ratio: 488/305;
}

.p-facility-card__title {
  margin-block-start: 1rem;
  color: var(--color-primary);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-facility-card__title {
    font-size: 1.125rem;
  }
}

.p-facility-card__text {
  margin-block-start: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.85;
}

.p-facility-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2.75rem;
  margin-block-start: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-facility-cards {
    gap: 2rem;
    margin-block-start: 1.5rem;
  }
}

.p-facility-cards__item {
  flex: 1 1 calc(50% - 1.375rem);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-facility-cards__item {
    flex-basis: 100%;
  }
}

.p-facility-endoscopy {
  padding-block: 4.8125rem 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-facility-endoscopy {
    padding-block: 3rem;
  }
}

.p-facility-endoscopy__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-facility-endoscopy__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-facility-endoscopy__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-facility-endoscopy__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-facility-endoscopy__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-facility-endoscopy__actions {
    flex-direction: column;
    align-items: stretch;
    margin-block-start: 2rem;
  }
}

.p-facility-env {
  padding-block: 4.8125rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-facility-env {
    padding-block: 3rem;
  }
}

.p-facility-env__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-facility-env__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-facility-env__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-facility-env__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-facility-exam {
  padding-block: 4.8125rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-facility-exam {
    padding-block: 3rem;
  }
}

.p-facility-exam__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-facility-exam__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-facility-exam__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-facility-exam__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-facility-exam__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-facility-exam__actions {
    flex-direction: column;
    align-items: stretch;
    margin-block-start: 2rem;
  }
}

.p-facility-gallery {
  padding-block: 4.8125rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-facility-gallery {
    padding-block: 3rem;
  }
}

.p-facility-gallery__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-facility-gallery__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-facility-gallery__stage {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 61.25rem;
  margin-block-start: 2.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-facility-gallery__stage {
    position: relative;
    margin-block-start: 1.5rem;
  }
}

.p-facility-gallery__slider {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.p-facility-gallery__frame {
  overflow: hidden;
  border-radius: var(--radius);
  aspect-ratio: 16/9;
}

.p-facility-gallery__nav {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: var(--color-white);
  cursor: pointer;
  transition: background-color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-facility-gallery__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 1.75rem;
    translate: 0 -50%;
  }
}
.p-facility-gallery__nav::after {
  content: "";
  width: 0.75rem;
  height: 1rem;
  translate: 0.125rem 0;
  background-color: var(--color-text);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-facility-gallery__nav::after {
    width: 0.5rem;
    height: 0.6875rem;
  }
}
@media (any-hover: hover) {
  .p-facility-gallery__nav:hover {
    background-color: var(--color-pink-40);
  }
}

@media screen and (max-width: 767px) {
  .p-facility-gallery__nav--prev {
    left: -0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-facility-gallery__nav--next {
    right: -0.875rem;
  }
}

.p-facility-gallery__nav--prev::after {
  rotate: 180deg;
  translate: -0.125rem 0;
}

.p-facility-gallery__dots {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}

.p-facility-gallery__dot {
  width: 0.625rem;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #ccc;
  cursor: pointer;
}
.p-facility-gallery__dot.is-active {
  background-color: var(--color-primary);
}

.p-facility-hygiene {
  padding-block: 4.8125rem 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene {
    padding-block: 3rem;
  }
}

.p-facility-hygiene__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-facility-hygiene__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene__actions {
    flex-direction: column;
    align-items: stretch;
    margin-block-start: 2rem;
  }
}

.p-facility-hygiene__body {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene__body {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-facility-hygiene__photo {
  flex: 0 1 27.5rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius);
  aspect-ratio: 4/3;
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene__photo {
    flex: none;
    width: 100%;
  }
}

.p-facility-hygiene__main {
  flex: 1 1 0;
  min-width: 0;
}

.p-facility-hygiene__text {
  margin-block-start: 1.25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-facility-hygiene__text {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-facility-hygiene__actions {
  justify-content: flex-start;
}

.p-facility {
  position: relative;
}

.p-faq-page-category {
  padding-block: 5rem;
  scroll-margin-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-category {
    padding-block: 3rem;
  }
}
.p-faq-page-category:nth-of-type(odd) {
  background-color: var(--color-lime-50);
}
.p-faq-page-category:last-of-type {
  padding-block-end: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-category:last-of-type {
    padding-block-end: 4rem;
  }
}

.p-faq-page-category__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-category__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-faq-page-category__lead {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-faq-page-category__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-faq-page-category__list {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-category__list {
    margin-block-start: 1.25rem;
  }
}

.p-faq-page-category__link {
  margin-block-start: 0.625rem;
}

.p-faq-page-intro {
  padding-block: 3.5rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-intro {
    padding-block: 2rem 0.5rem;
  }
}

.p-faq-page-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-faq-page-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-faq-page-intro__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-faq-page-intro__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

.p-faq {
  padding-block: 4.3125rem 2.8125rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding-block: 2.5rem 0;
  }
}

.p-faq__inner {
  width: 100%;
  max-width: 81.25rem;
  margin-block-start: -2.0625rem;
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-faq__inner {
    margin-block-start: 0;
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-faq__heading {
  margin-inline-start: -0.0625rem;
  padding-block-start: 2.0625rem;
}
@media screen and (max-width: 1023px) {
  .p-faq__heading {
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__heading {
    padding-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-faq .c-section-heading[data-align=left] .c-section-heading__title {
    margin-block-start: 0.875rem;
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-faq .c-section-heading__en {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-faq .c-section-heading__en-text {
    margin-block-start: 0.25rem;
  }
}

.p-faq .c-section-heading__lead {
  margin-inline-start: 3.375rem;
  translate: 0 -0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-faq .c-section-heading__lead {
    translate: none;
    margin-inline-start: 0;
    margin-block-start: 1.5rem;
    padding-inline: 0;
    line-height: 1.5rem;
  }
}

.p-faq__list {
  width: min(100%, 75rem);
  margin-block-start: 3.375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-faq__list {
    width: min(37.5rem, 100%);
    margin-block-start: 2.25rem;
  }
}

.p-faq__button {
  display: flex;
  justify-content: center;
  margin-block-start: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-faq__button {
    width: 100%;
    margin-block-start: 2.375rem;
  }
}

.p-features {
  position: relative;
  z-index: 1;
  margin-block-start: -1.625rem;
  padding-block: 8.125rem 6.1875rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-features {
    margin-block-start: 0;
    padding-block: 4rem 4.0625rem;
  }
}

.p-features__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../images/image_features_bg.webp");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-features__bg {
    top: 4.5rem;
    background-image: url("../images/image_features_bg_sp.webp");
  }
}

.p-features__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .p-features__inner {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-features__flowers {
  position: absolute;
  top: -5.5rem;
  left: -20rem;
  z-index: 0;
  width: 16.25rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-features__flowers {
    left: -1.5rem;
    width: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__flowers {
    top: -2.625rem;
    right: 0.0625rem;
    left: auto;
    display: block;
    width: 8rem;
    height: 11rem;
  }
}
.p-features__flowers img {
  display: block;
  width: 100%;
  height: auto;
}

.p-features__header {
  display: grid;
  grid-template-columns: 17.3125rem minmax(0, 1fr);
  align-items: end;
  column-gap: 0rem;
  margin-block-end: 2.75rem;
}
@media screen and (max-width: 1023px) {
  .p-features__header {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-block-end: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__header {
    display: block;
    margin-block-end: 0.4375rem;
  }
}

.p-features__heading {
  display: grid;
  grid-template-columns: 2.3125rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 0.875rem;
  row-gap: 1.5rem;
  align-items: center;
  margin-inline-start: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-features__heading {
    grid-template-columns: 2.375rem minmax(0, 1fr);
    column-gap: 1.0625rem;
    row-gap: 1.375rem;
    margin-inline-start: 0.25rem;
  }
}

.p-features__icon {
  grid-row: 1;
  grid-column: 1;
  display: block;
  width: 2.3125rem;
  height: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-features__icon {
    width: 2.375rem;
    height: 2.375rem;
  }
}
.p-features__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-features__en {
  grid-row: 1;
  grid-column: 2;
  font-family: var(--ff-serif);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  margin-block-end: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-features__en {
    font-size: 1rem;
    margin-block-end: 0;
  }
}

.p-features__title {
  grid-row: 2;
  grid-column: 1/-1;
  margin-inline-start: -0.3125rem;
  font-family: var(--ff-serif);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-features__title {
    margin-inline-start: -0.125rem;
    font-size: 2rem;
  }
}

.p-features__lead {
  width: 43.75rem;
  max-width: 100%;
  margin-block: 1.5rem -0.5625rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.875rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1023px) {
  .p-features__lead {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-features__lead {
    width: calc(100% + 0.875rem);
    max-width: none;
    margin-block: 1.3125rem 0;
    font-size: 0.875rem;
    line-height: 1.625rem;
    letter-spacing: 0.02em;
  }
}

.p-features__body {
  display: grid;
  grid-template-columns: clamp(30rem, calc(-64 / 16 * 1rem) + 53.125vw, 38.5rem) minmax(0, 1fr);
  column-gap: clamp(0.5rem, calc(-56 / 16 * 1rem) + 6.25vw, 1.5rem);
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-features__body {
    grid-template-columns: 1fr;
    column-gap: 0;
    gap: 0;
  }
}

.p-features__stats {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-features__stats {
    margin-block-start: 2rem;
  }
}

.p-features__stat {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 8.75rem;
  padding-block: 1.875rem 1rem;
  padding-inline: 1.5rem 1rem;
}
.p-features__stat::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: 2.5rem 0 0 0;
  background: linear-gradient(90deg, var(--color-white) 0%, var(--color-white) 58%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}
.p-features__stat:nth-child(2) {
  margin-block-start: 2.9375rem;
}
.p-features__stat:nth-child(3) {
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 1023px) {
  .p-features__stat {
    width: 100%;
    height: auto;
    padding-block: 1.75rem 1.25rem;
  }
  .p-features__stat::before {
    width: 100%;
  }
  .p-features__stat:nth-child(2), .p-features__stat:nth-child(3) {
    margin-block-start: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__stat {
    max-width: 100%;
    height: 6.9375rem;
    padding-block: 1.875rem 0.75rem;
    padding-inline: 1.625rem 0.75rem;
  }
  .p-features__stat::before {
    max-width: 100%;
    border-radius: 2.5rem 0 0 0;
  }
  .p-features__stat:nth-child(2), .p-features__stat:nth-child(3) {
    height: 8.0625rem;
    margin-block-start: 1.9375rem;
  }
  .p-features__stat:nth-child(3) {
    margin-block-start: 2.0625rem;
  }
}

.p-features__stat-label {
  position: absolute;
  top: -1rem;
  left: 0.875rem;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 0.0625rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-features__stat-label {
    top: -1.25rem;
    left: 1.25rem;
  }
}

.p-features__stat-label-feature {
  color: #958077;
  font-family: var(--ff-serif);
  font-size: clamp(1rem, calc(13.7142857143 / 16 * 1rem) + 0.2232142857vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0;
}

.p-features__stat-label-num {
  padding-inline-start: 0.5rem;
  color: var(--color-primary);
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(1.25rem, calc(13.1428571429 / 16 * 1rem) + 0.6696428571vw, 1.625rem);
  font-weight: 400;
  letter-spacing: 0;
}

.p-features__stat-sub {
  position: relative;
  z-index: 1;
  margin-block: 0.3125rem -0.875rem;
  margin-inline-start: 0.5rem;
  font-size: clamp(1rem, calc(11.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.25rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1023px) {
  .p-features__stat-sub {
    margin-block: 0.3125rem 0.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__stat-sub {
    margin-block: 0rem;
    margin-inline-start: 0rem;
    font-size: 1rem;
    line-height: 1.4;
  }
}

.p-features__stat-main {
  position: relative;
  z-index: 1;
  margin-inline-start: 0.3125rem;
  font-size: clamp(1rem, calc(11.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-features__stat-main {
    margin-inline-start: 0;
    margin-block-start: -0.875rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-features__stat-num {
  display: inline-block;
  margin-inline: 0.04em 0.02em;
  color: var(--color-brown-690);
  font-family: var(--ff-serif);
  font-size: clamp(2.875rem, calc(30 / 16 * 1rem) + 1.5625vw, 3.75rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: -0.12em;
}
.p-features__stat:first-child .p-features__stat-num {
  margin-inline-start: -0.1875rem;
}
@media screen and (max-width: 1023px) {
  .p-features__stat:first-child .p-features__stat-num {
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-features__stat-num {
    font-size: 2.875rem;
    vertical-align: -0.1em;
  }
  .p-features__stat:first-child .p-features__stat-num {
    margin-inline-start: 0.125rem;
  }
}

.p-features__stat-unit {
  padding-inline-end: 0.625rem;
  color: var(--color-brown-690);
  font-family: var(--ff-serif);
  font-size: clamp(1.125rem, calc(11.1428571429 / 16 * 1rem) + 0.6696428571vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0;
  vertical-align: -0.3125rem;
}
@media screen and (max-width: 1023px) {
  .p-features__stat-unit {
    vertical-align: -0.12em;
  }
}
@media screen and (max-width: 767px) {
  .p-features__stat-unit {
    padding-inline-end: 0.125rem;
    font-size: 1.125rem;
    vertical-align: -0.08em;
  }
}

.p-features__stat-uline {
  position: relative;
}
.p-features__stat-uline::after {
  content: "";
  position: absolute;
  left: -0.3125rem;
  bottom: 0.0625rem;
  z-index: -1;
  width: 25.25rem;
  height: clamp(0.5625rem, calc(6.7142857143 / 16 * 1rem) + 0.2232142857vw, 0.6875rem);
  background: linear-gradient(90deg, #fccada 0%, var(--color-white) 72%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-features__stat-uline::after {
    left: 0;
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-features__stat-uline::after {
    left: -0.3125rem;
    max-width: none;
    width: 20.5625rem;
    height: 0.5625rem;
  }
}

.p-features__stat-note {
  position: relative;
  z-index: 1;
  margin-block-start: 0.75rem;
  margin-inline-start: -0.125rem;
  color: #717071;
  font-size: clamp(0.75rem, calc(9.7142857143 / 16 * 1rem) + 0.2232142857vw, 0.875rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-features__stat-note {
    margin-block-start: 0.125rem;
    margin-inline-start: 0rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.p-features__photos {
  position: relative;
  width: min(clamp(23.75rem, calc(-500 / 16 * 1rem) + 85.9375vw, 37.5rem), 100%);
  height: min(clamp(19.875rem, calc(-418 / 16 * 1rem) + 71.875vw, 31.375rem), 100%);
  margin-block-start: 1.5625rem;
  margin-inline-start: auto;
}
@media screen and (max-width: 767px) {
  .p-features__photos {
    display: none;
  }
}

.p-features__photos-deco {
  position: absolute;
  top: 23.125rem;
  left: clamp(8.125rem, calc(10 / 16 * 1rem) + 11.71875vw, 10rem);
  z-index: 3;
  width: clamp(11.25rem, calc(-60 / 16 * 1rem) + 23.4375vw, 15rem);
  height: auto;
  aspect-ratio: 240/155;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-features__photos-deco {
    display: none;
  }
}

.p-features__photo {
  position: absolute;
  overflow: hidden;
  border-radius: 0.3125rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  background-color: #f0e8ea;
}
.p-features__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-features__photo--staff {
  top: 0;
  left: clamp(0rem, calc(-183.0226244344 / 16 * 1rem) + 17.8733031674vw, 4.9375rem);
  z-index: 1;
  width: clamp(21.75rem, calc(-184 / 16 * 1rem) + 51.953125vw, 30.0625rem);
  height: auto;
  aspect-ratio: 481/311;
}
@media screen and (max-width: 767px) {
  .p-features__photo--staff {
    top: 0;
    left: 0.125rem;
    width: 18.5625rem;
    height: 12.4375rem;
    aspect-ratio: auto;
  }
}

.p-features__photo--exterior {
  top: clamp(11.25rem, calc(-208 / 16 * 1rem) + 37.890625vw, 17.3125rem);
  left: clamp(12.5625rem, calc(-209.0633484163 / 16 * 1rem) + 40.0452488688vw, 23.625rem);
  z-index: 2;
  width: clamp(10.9375rem, calc(-521 / 16 * 1rem) + 67.96875vw, 21.8125rem);
  height: auto;
  aspect-ratio: 349/226;
}
@media screen and (max-width: 767px) {
  .p-features__photo--exterior {
    display: none;
  }
}

.p-features__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, calc(-8.5714285714 / 16 * 1rem) + 2.7901785714vw, 2.8125rem);
  width: 100%;
  max-width: 75rem;
  margin-block-start: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-features__cards {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    width: min(37.5rem, 100%);
    max-width: 100%;
    margin-block-start: 3.125rem;
    margin-inline: auto;
  }
  .p-features__cards .p-features__card:nth-child(3) {
    margin-block-start: 0.5rem;
  }
}

.p-features__card {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 370/525;
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius-large);
  box-shadow: 0 0 7px rgb(244, 198, 220);
}
@media screen and (max-width: 767px) {
  .p-features__card {
    width: min(37.5rem, 100%);
    aspect-ratio: 350/360;
  }
}
@media (any-hover: hover) {
  .p-features__card:hover, .p-features__card:focus-visible {
    opacity: 1;
  }
  .p-features__card:hover .p-features__card-overlay, .p-features__card:focus-visible .p-features__card-overlay {
    visibility: visible;
    opacity: 1;
  }
}

.p-features__card-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
}
.p-features__card-media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-features__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-features__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.125rem;
  border-radius: inherit;
  background-color: rgba(40, 25, 20, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration);
}

.p-features__card-overlay-label {
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-align: center;
}

.p-features__card-overlay-arrow {
  position: relative;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: var(--color-white);
}
.p-features__card-overlay-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  transform: translate(-60%, -50%) rotate(-45deg);
}

.p-features__card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  width: calc(100% - clamp(1.5rem, calc(-11.4285714286 / 16 * 1rem) + 3.4598214286vw, 3.4375rem));
  height: auto;
  min-height: clamp(10rem, calc(102.8571428571 / 16 * 1rem) + 5.5803571429vw, 13.125rem);
  padding: clamp(1.5rem, calc(12.5714285714 / 16 * 1rem) + 1.1160714286vw, 2.125rem) clamp(1.25rem, calc(7.4285714286 / 16 * 1rem) + 1.2276785714vw, 1.9375rem) clamp(1rem, calc(11.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.25rem);
  background-color: var(--color-white);
  border-radius: 0 var(--radius-large) 0 var(--radius-large);
}
.p-features__card-body::before {
  content: "";
  position: absolute;
  top: clamp(1.5rem, calc(12.5714285714 / 16 * 1rem) + 1.1160714286vw, 2.125rem);
  left: 0;
  width: 3px;
  height: clamp(2.75rem, calc(32.5714285714 / 16 * 1rem) + 1.1160714286vw, 3.375rem);
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-features__card-body::before {
    top: 1.75rem;
    height: 3.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-features__card-body {
    width: 18.5625rem;
    height: 12.4375rem;
    min-height: 0;
    padding: 1.75rem 1.75rem 1rem 1.75rem;
  }
}

.p-features__card-title {
  margin-block-start: -0.375rem;
  color: var(--color-brown-690);
  font-size: clamp(1.0625rem, calc(13.5714285714 / 16 * 1rem) + 0.3348214286vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-features__card-title {
    margin-block-start: 0;
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1.505;
    letter-spacing: 0.019em;
  }
}

.p-features__card:nth-child(3) .p-features__card-title {
  display: flex;
  align-items: center;
  min-height: 3.75rem;
  margin-block-start: -0.375rem;
}
@media screen and (max-width: 767px) {
  .p-features__card:nth-child(3) .p-features__card-title {
    min-height: 3.5625rem;
    margin-block-start: 0;
    font-size: 1.1875rem;
    letter-spacing: 0.022em;
  }
}

.p-features__card-text {
  margin-block-start: 0.875rem;
  max-width: 100%;
  font-size: clamp(0.8125rem, calc(11.8571428571 / 16 * 1rem) + 0.1116071429vw, 0.875rem);
  font-weight: 500;
  line-height: 1.57;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-features__card-text {
    margin-block-start: 0.625rem;
    max-width: 14.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.58;
    letter-spacing: 0.019em;
  }
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .p-features__card-text {
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-features__card:nth-child(3) .p-features__card-body {
    height: 12.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-features__card:nth-child(3) .p-features__card-text {
    font-size: 0.8125rem;
    letter-spacing: 0.022em;
  }
}

.p-features__card-arrow {
  position: absolute;
  right: 1.0625rem;
  bottom: clamp(0.625rem, calc(3.3333333333 / 16 * 1rem) + 0.8680555556vw, 1.25rem);
  display: block;
  width: clamp(1.25rem, calc(13.3333333333 / 16 * 1rem) + 0.8680555556vw, 1.875rem);
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-features__card-arrow {
    right: 0.9375rem;
    bottom: 1.25rem;
    width: 1.75rem;
    height: 1.75rem;
  }
}
.p-features__card-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-first-flow__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-first-flow__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-first-flow {
  padding-block: 6rem 6.5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-first-flow {
    padding-block: 3.5rem;
  }
}

.p-first-flow__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-first-flow__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-first-flow__steps {
  max-width: 62.5rem;
  margin-inline: auto;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-first-flow__steps {
    max-width: none;
    margin-block-start: 1.5rem;
  }
}

.p-first-flow__notes {
  margin-block-start: 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-first-flow__notes {
    margin-block-start: 1.5rem;
    font-size: 0.8125rem;
  }
}

.p-first-items__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-first-items__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-first-items {
  padding-block: 6rem 0;
}
@media screen and (max-width: 767px) {
  .p-first-items {
    padding-block: 3.5rem 0;
  }
}

.p-first-items__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-first-items__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-first-items__body {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  margin-block-start: 1.75rem;
}
@media screen and (max-width: 1023px) {
  .p-first-items__body {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-first-items__body {
    margin-block-start: 1rem;
  }
}

.p-first-items__main {
  flex: 1 1 43.75rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-first-items__main {
    flex: none;
  }
}

.p-first-items__note {
  margin-block-start: 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-first-items__note {
    font-size: 0.8125rem;
  }
}

.p-first-items__photo {
  flex: 0 1 27.5rem;
  min-width: 0;
  margin-block-start: 1rem;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 1023px) {
  .p-first-items__photo {
    flex: none;
    align-self: center;
    width: min(100%, 27.5rem);
    margin-block-start: 0;
  }
}
.p-first-items__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.p-first-reserve {
  padding-block: 3.5rem 6rem;
}
@media screen and (max-width: 767px) {
  .p-first-reserve {
    padding-block: 2rem 3.5rem;
  }
}

.p-first-reserve__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-first-reserve__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-first-reserve__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-first-reserve__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-first-reserve__list {
  display: flex;
  gap: 1.5rem;
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 1023px) {
  .p-first-reserve__list {
    flex-direction: column;
    gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-first-reserve__list {
    margin-block-start: 1.5rem;
  }
}
.p-first-reserve__list > li {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-first-reserve__list > li {
    flex: none;
  }
}

.p-first {
  position: relative;
}

.p-fixed-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 95;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1.005fr) minmax(0, 1fr) minmax(0, 1.005fr);
  width: min(100%, 75rem);
  max-width: 100%;
  height: clamp(4.375rem, calc(63.3333333333 / 16 * 1rem) + 0.8680555556vw, 5rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  translate: -50% 0;
  transition: opacity var(--duration), visibility var(--duration);
}
@media screen and (max-width: 767px) {
  .p-fixed-nav {
    left: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    height: 4.375rem;
    translate: 0 0;
  }
}

.p-fixed-nav.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-fixed-nav__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.375rem, calc(3.3333333333 / 16 * 1rem) + 0.3472222222vw, 0.625rem);
  min-width: 0;
  height: 100%;
  font-size: clamp(0.875rem, calc(10 / 16 * 1rem) + 0.5208333333vw, 1.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    font-size: inherit;
  }
}

.p-fixed-nav__item--reserve {
  position: relative;
  justify-content: center;
  gap: clamp(0.5rem, calc(-0.6666666667 / 16 * 1rem) + 1.1284722222vw, 1.3125rem);
  padding-inline: clamp(0.75rem, calc(-6.6666666667 / 16 * 1rem) + 2.4305555556vw, 2.5rem);
  border-start-start-radius: 0.625rem;
  background: linear-gradient(90deg, #ff87a2, #f85681);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item--reserve {
    justify-content: center;
    display: grid;
    grid-template-columns: auto auto;
    align-content: start;
    justify-content: center;
    gap: 0 0.625rem;
    padding-block-start: 0.625rem;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item--reserve .p-fixed-nav__label {
    font-family: var(--ff-base);
    font-size: max(1rem, 8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item--reserve .p-fixed-nav__label {
    margin-block-start: 0.5rem;
  }
}

.p-fixed-nav__item--access {
  justify-content: center;
  gap: clamp(0.5rem, calc(-3.3333333333 / 16 * 1rem) + 1.4756944444vw, 1.5625rem);
  padding-inline: clamp(0.5rem, calc(-13.3333333333 / 16 * 1rem) + 2.7777777778vw, 2.5rem);
  box-sizing: border-box;
  border-block-start: 1px solid var(--color-primary);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item--access {
    justify-content: center;
    gap: 0;
    padding-inline: 0;
    border: 0;
    border-block-start: 1px solid var(--color-primary);
    border-inline-start: 1px solid var(--color-primary);
  }
  .p-fixed-nav__item--access .p-fixed-nav__label {
    margin-block-start: 0.375rem;
  }
}

.p-fixed-nav__item--tel {
  justify-content: center;
  padding-inline: clamp(0.5rem, calc(-13.3333333333 / 16 * 1rem) + 2.7777777778vw, 2.5rem);
  border-start-end-radius: 0.625rem;
  background-color: var(--color-gray-120);
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__item--tel {
    justify-content: center;
    padding-inline: 0;
  }
}

.p-fixed-nav__icon {
  display: block;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-fixed-nav__icon--reserve {
  width: clamp(1.5rem, calc(14.6666666667 / 16 * 1rem) + 1.2152777778vw, 2.375rem);
  height: clamp(1.1875rem, calc(11.6666666667 / 16 * 1rem) + 0.9548611111vw, 1.875rem);
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2033%2030'%3e%3cpath%20fill='%23fff'%20d='M22.25,24.81h-3.74l1.26,3.73c.49.1,1.32-.16,1.72.17.54.45.19,1.14-.44,1.2-3.28.33-7.03-.26-10.36,0-.67.06-1.05-.82-.47-1.23.41-.29,1.55.03,1.72-.2l1.21-3.66H2.53C1.49,24.81,0,23.24,0,22.06V2.67C.24,1.27,1.22.19,2.53,0h26.65c1.39.21,2.36,1.44,2.52,2.91v6.83c.05.21.4.4.56.6.37.45.58,1.11.63,1.71.33,4.52-.25,9.51,0,14.08-.13,1.4-1,2.39-2.31,2.5-1.61.14-4.42.14-6.03,0-1.02-.09-2.31-1.07-2.31-2.27v-1.55ZM30.47,9.46V2.82s-.19-.56-.23-.62c-.3-.55-.99-.91-1.57-.93H3.04c-.6,0-1.28.32-1.59.9-.06.12-.28.72-.28.81v16.65h21.07v-7.91c0-1.02,1.31-2.27,2.24-2.27h5.98ZM24.43,10.83c-.5.12-.89.57-.94,1.13l.03,14.43c.16.41.48.76.89.87l6.42-.03c.43-.2.76-.59.81-1.12v-14.07c-.02-.66-.47-1.16-1.06-1.23-1.9-.23-4.21.16-6.15.02ZM22.25,20.99H1.18c-.07.82.16,1.71.81,2.18.11.08.52.28.62.28h19.64v-2.46ZM13.22,28.54h5.21l-1.36-3.74-2.6.02-1.26,3.73Z'/%3e%3cpath%20fill='%23fff'%20d='M26.56,24.74c.25-.06,1.77-.06,2.02,0,.64.16.63,1.16,0,1.32-.25.06-1.77.06-2.02,0-.64-.16-.64-1.16,0-1.32Z'/%3e%3c/svg%3e");
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__icon--reserve {
    grid-column: 1/-1;
    justify-self: center;
    width: 1.875rem;
    margin-inline-start: 0;
    height: 1.5rem;
    background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2030.21%2024.18'%3e%3cpath%20fill='%23ffffff'%20d='M12.01,22.83L16.75,22.83L15.52,19.84L13.16,19.85L12.01,22.83M20.22,16.79L1.07,16.79C1.00,17.45%201.21,18.16%201.81,18.54C1.90,18.60%202.28,18.76%202.37,18.76L20.22,18.76L20.22,16.79M22.21,8.67C21.75,8.76%2021.40,9.12%2021.36,9.57L21.39,21.12C21.54,21.45%2021.83,21.73%2022.20,21.81L28.04,21.79C28.43,21.63%2028.73,21.31%2028.77,20.89L28.77,9.63C28.75,9.11%2028.35,8.71%2027.80,8.65C26.07,8.47%2023.98,8.78%2022.21,8.67M27.70,7.57L27.70,2.26C27.70,2.23%2027.52,1.81%2027.49,1.76C27.22,1.32%2026.59,1.03%2026.07,1.02L2.77,1.02C2.22,1.02%201.60,1.28%201.32,1.74C1.26,1.83%201.07,2.32%201.07,2.39L1.07,15.71L20.22,15.71L20.22,9.38C20.22,8.57%2021.42,7.57%2022.26,7.57L27.70,7.57M20.22,19.84L16.82,19.84L17.96,22.83C18.41,22.90%2019.17,22.70%2019.53,22.96C20.01,23.32%2019.69,23.87%2019.13,23.92C16.14,24.18%2012.74,23.71%209.71,23.92C9.10,23.97%208.76,23.26%209.28,22.93C9.65,22.70%2010.69,22.96%2010.85,22.77L11.95,19.84L2.30,19.84C1.35,19.84%200.01,18.59%200.00,17.65L0.00,2.13C0.22,1.02%201.11,0.15%202.30,0.00L26.53,0.00C27.79,0.17%2028.67,1.15%2028.83,2.33L28.84,7.79C28.87,7.96%2029.19,8.11%2029.34,8.27C29.67,8.63%2029.87,9.16%2029.91,9.63C30.21,13.25%2029.67,17.24%2029.91,20.90C29.79,22.02%2029.00,22.81%2027.80,22.90C26.34,23.01%2023.79,23.01%2022.32,22.90C21.40,22.83%2020.22,22.04%2020.22,21.08L20.22,19.84'/%3e%3c/svg%3e");
  }
}

.p-fixed-nav__icon--access {
  width: clamp(1.125rem, calc(12 / 16 * 1rem) + 0.78125vw, 1.6875rem);
  height: clamp(1.375rem, calc(14.6666666667 / 16 * 1rem) + 0.9548611111vw, 2.0625rem);
  background-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー%202'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2017.2%2022.2'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23f97b9c;%20stroke:%20%23fff;%20stroke-miterlimit:%2010;%20stroke-width:%20.2px;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='OGP_ログイン_など'%20data-name='OGP/ログイン/ｈ１など'%3e%3cg%3e%3cpath%20class='cls-1'%20d='M11.56,8.01c0-1.52-1.33-2.75-2.96-2.75s-2.96,1.23-2.96,2.75,1.33,2.75,2.96,2.75,2.96-1.23,2.96-2.75ZM7.12,8.01c0-.76.66-1.38,1.48-1.38s1.48.62,1.48,1.38-.66,1.38-1.48,1.38-1.48-.62-1.48-1.38Z'/%3e%3cpath%20class='cls-1'%20d='M8.59,22.1c.21,0,.41-.08.55-.23.33-.34,7.98-8.48,7.96-13.85C17.08,3.65,13.27.1,8.6.1S.1,3.65.1,8.02c0,5.36,7.61,13.5,7.93,13.85.14.15.33.23.56.23ZM8.6,1.48c3.85,0,7,2.94,7.02,6.55.02,4.06-5.28,10.35-7.03,12.33-1.75-1.97-7.01-8.26-7.01-12.33,0-3.61,3.15-6.54,7.02-6.54Z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__icon--access {
    width: 1.375rem;
    height: 1.8125rem;
  }
}

.p-fixed-nav__icon--tel {
  display: none;
  width: 1.625rem;
  height: 1.625rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2026.31%2026.08'%3e%3cpath%20fill='%23f97b9c'%20d='M5.23,3.08C4.94,3.10%204.65,3.32%204.43,3.50C3.85,3.99%202.30,5.53%202.05,6.19C1.18,8.43%203.28,12.48%204.51,14.38C6.71,17.75%209.80,20.71%2013.33,22.66C15.08,23.62%2018.74,25.35%2020.59,24.11C20.95,23.87%2022.75,22.06%2023.00,21.70C23.30,21.26%2023.28,20.86%2022.98,20.42C21.85,19.43%2020.82,18.06%2019.68,17.12C19.09,16.63%2018.70,16.76%2018.16,17.22C17.64,17.66%2016.27,19.32%2015.75,19.43C15.39,19.51%2015.14,19.44%2014.82,19.30C12.12,18.08%208.64,14.68%207.31,12.04C7.08,11.59%206.77,11.05%206.90,10.54C7.08,9.85%208.86,8.63%209.34,7.90C9.62,7.45%209.60,7.09%209.28,6.67C8.18,5.73%207.25,4.42%206.16,3.50C5.91,3.29%205.58,3.06%205.23,3.08M19.66,26.05C19.32,26.08%2018.68,26.07%2018.34,26.05C14.68,25.76%209.74,22.47%207.15,19.96C4.16,17.07%200.00,11.23%200.32,6.90C0.46,5.08%202.16,3.45%203.49,2.31C4.73,1.25%205.97,1.34%207.17,2.39C8.09,3.18%209.40,4.50%2010.19,5.40C11.26,6.62%2011.38,7.84%2010.30,9.11C10.07,9.37%208.50,10.83%208.49,10.96C9.06,12.21%209.93,13.33%2010.85,14.33C12.12,15.71%2013.67,17.03%2015.37,17.83C16.56,16.92%2017.48,15.14%2019.22,15.30C19.93,15.37%2020.44,15.75%2020.95,16.21C22.12,17.26%2023.29,18.64%2024.37,19.79C25.51,21.75%2023.88,22.96%2022.65,24.20C21.74,25.11%2021.08,25.90%2019.66,26.05'/%3e%3cpath%20fill='%23f97b9c'%20d='M26.31,11.44L26.31,11.85C26.02,12.59%2025.09,12.60%2024.82,11.83C24.61,11.25%2024.54,10.52%2024.33,9.89C23.13,6.27%2020.05,3.21%2016.42,2.02C15.84,1.83%2014.78,1.71%2014.33,1.48C13.74,1.18%2013.89,0.19%2014.51,0.08C14.99,0.00%2016.34,0.41%2016.85,0.57C21.36,2.04%2024.92,5.88%2026.08,10.48C26.16,10.79%2026.17,11.14%2026.31,11.44'/%3e%3cpath%20fill='%23f97b9c'%20d='M14.26,4.81C14.77,4.71%2015.73,5.03%2016.22,5.21C18.53,6.08%2020.42,8.02%2021.23,10.35C21.46,10.99%2022.04,12.63%2020.85,12.63C20.04,12.63%2020.06,11.71%2019.89,11.14C19.15,8.74%2017.32,7.10%2014.94,6.39C14.44,6.25%2013.92,6.34%2013.75,5.70C13.67,5.35%2013.89,4.88%2014.26,4.81'/%3e%3c/svg%3e");
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__icon--tel {
    display: block;
  }
}

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

.p-fixed-nav__blank {
  position: absolute;
  top: 1.875rem;
  right: 1.8125rem;
  display: block;
  width: 1.1875rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2019.00%2016.00'%3e%3cpath%20fill='%23fff'%20fill-rule='evenodd'%20d='M4.39,0.75h13.80v11.26h-13.80ZM18.59,12.77L3.98,12.77C3.75,12.77%203.57,12.60%203.57,12.39L3.57,0.38C3.57,0.17%203.75,0.00%203.98,0.00L18.59,0.00C18.82,0.00%2019.00,0.17%2019.00,0.38L19.00,12.39C19.00,12.60%2018.82,12.77%2018.59,12.77'/%3e%3cpath%20fill='%23fff'%20fill-rule='evenodd'%20d='M8.29,16.00L0.41,16.00C0.18,16.00%200.00,15.83%200.00,15.62L0.00,8.35C0.00,8.14%200.18,7.97%200.41,7.97C0.63,7.97%200.81,8.14%200.81,8.35L0.81,15.25L8.29,15.25C8.51,15.25%208.70,15.41%208.70,15.62C8.70,15.83%208.51,16.00%208.29,16.00'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__blank {
    position: static;
    align-self: end;
    width: 0.8125rem;
    height: 0.625rem;
    margin-inline-start: 0;
    background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2013.00%2010.00'%3e%3cpath%20fill='%23ffffff'%20fill-rule='evenodd'%20d='M3.00,0.47h9.44v7.04h-9.44ZM12.72,7.98L2.72,7.98C2.57,7.98%202.44,7.88%202.44,7.75L2.44,0.24C2.44,0.11%202.57,0.00%202.72,0.00L12.72,0.00C12.87,0.00%2013.00,0.11%2013.00,0.24L13.00,7.75C13.00,7.88%2012.87,7.98%2012.72,7.98'/%3e%3cpath%20fill='%23ffffff'%20fill-rule='evenodd'%20d='M5.67,10.00L0.28,10.00C0.12,10.00%200.00,9.89%200.00,9.76L0.00,5.22C0.00,5.09%200.12,4.98%200.28,4.98C0.43,4.98%200.56,5.09%200.56,5.22L0.56,9.53L5.67,9.53C5.82,9.53%205.95,9.63%205.95,9.76C5.95,9.89%205.82,10.00%205.67,10.00'/%3e%3c/svg%3e");
  }
}

.p-fixed-nav__label {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__label {
    margin-block-start: 0.4375rem;
    font-size: max(0.875rem, 8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
  }
}

.p-fixed-nav__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-fixed-nav__tel {
    display: none;
  }
}

.p-fixed-nav__tel-number {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.1;
}

.p-fixed-nav__tel-label {
  font-size: clamp(0.875rem, calc(10 / 16 * 1rem) + 0.5208333333vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  font-family: var(--ff-base);
}

.p-fixed-nav__tel-value {
  font-size: clamp(0.875rem, calc(10 / 16 * 1rem) + 0.5208333333vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  font-family: var(--ff-base);
}

.p-fixed-nav__tel-hours {
  margin-inline-start: 0;
  font-size: clamp(0.5625rem, calc(7.6666666667 / 16 * 1rem) + 0.1736111111vw, 0.6875rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  font-family: var(--ff-base);
}

.p-fixed-recruit {
  position: fixed;
  right: 2rem;
  bottom: 12.375rem;
  z-index: 90;
  width: 19.375rem;
  height: 9.6875rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(1);
  transform-origin: right bottom;
  transition: opacity var(--duration), visibility var(--duration), transform var(--duration);
}
@media screen and (max-width: 767px) {
  .p-fixed-recruit {
    display: none;
  }
}

.p-fixed-recruit.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-fixed-recruit.is-compact {
  transform: scale(0.6);
}

.p-fixed-recruit.is-closed {
  display: none;
}

.p-fixed-recruit__close {
  position: absolute;
  top: -1.6875rem;
  right: 0.3125rem;
  z-index: 2;
  width: 1.25rem;
  height: 1.25rem;
  border: none;
  background: none;
  cursor: pointer;
}
.p-fixed-recruit__close::before, .p-fixed-recruit__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.375rem;
  height: 2px;
  background-color: var(--color-text);
}
.p-fixed-recruit__close::before {
  translate: -50% -50%;
  rotate: 45deg;
}
.p-fixed-recruit__close::after {
  translate: -50% -50%;
  rotate: -45deg;
}

.p-fixed-recruit__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: var(--color-primary);
  color: var(--color-white);
}

.p-fixed-recruit__clinic {
  position: absolute;
  top: 1.4375rem;
  left: 1.0625rem;
  font-size: max(0.875rem, 8px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: var(--color-white);
}

.p-fixed-recruit__title {
  position: absolute;
  top: 3.125rem;
  left: 1.75rem;
  display: flex;
  flex-direction: column;
}

.p-fixed-recruit__title-line {
  font-family: var(--ff-serif);
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.14;
  letter-spacing: 0;
}

.p-fixed-recruit__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.p-fixed-recruit__more {
  position: absolute;
  top: 8rem;
  left: 11.75rem;
  font-size: max(0.875rem, 8px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  white-space: nowrap;
}

.p-footer {
  padding: 4.0625rem 0 7.375rem;
  background-color: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding: 1.6875rem 0 2.0625rem;
  }
}

.p-footer__inner {
  width: min(100%, 72.5rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-footer__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(1rem, calc(10.6666666667 / 16 * 1rem) + 0.6944444444vw, 1.5rem);
}
@media screen and (max-width: 767px) {
  .p-footer__head {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
  }
}

.p-footer__logo {
  display: block;
  flex: 0 0 auto;
  width: clamp(9.375rem, calc(127.3333333333 / 16 * 1rem) + 2.9513888889vw, 11.5rem);
  min-width: 9.375rem;
  max-width: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    align-self: center;
    width: 11.375rem;
    max-width: none;
    margin-block-start: 0.375rem;
  }
}

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

.p-footer__info {
  flex: 0 1 auto;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__info {
    flex: none;
    width: 100%;
  }
}

.p-footer__contact {
  flex: 0 0 auto;
  min-width: min(100%, 17.5rem);
  margin-inline-start: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__contact {
    flex: none;
    margin-inline-start: 0;
    width: 100%;
    text-align: start;
  }
}

.p-footer__clinic-name {
  margin-block-start: 0.75rem;
  font-size: max(1.25rem, 8px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-footer__clinic-name {
    margin-block-start: 1rem;
    font-size: max(1.25rem, 8px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }
}

.p-footer__corp {
  margin-block-start: 0.8125rem;
  font-size: max(1rem, 8px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-footer__corp {
    margin-block-start: 0.625rem;
    font-size: max(0.875rem, 8px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0em;
  }
}

.p-footer__address {
  margin-block-start: 0.125rem;
  font-size: max(1rem, 8px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-footer__address {
    margin-block-start: 0.1875rem;
    font-size: max(0.875rem, 8px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0em;
    white-space: normal;
  }
}

.p-footer__tel {
  margin-block-start: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-footer__tel {
    margin-block-start: 0.8125rem;
    margin-inline-start: 0.0625rem;
  }
}

.p-footer__tel-number {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.p-footer__tel-label {
  font-size: max(1.375rem, 8px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0em;
  font-family: var(--ff-serif);
}

.p-footer__tel-value {
  font-size: max(1.75rem, 8px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08em;
  font-family: var(--ff-serif);
}

.p-footer__tel-hours {
  margin-block-start: 0.0625rem;
  margin-inline-start: 3.6875rem;
  font-size: max(0.75rem, 8px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
  font-family: var(--ff-serif);
}
@media screen and (max-width: 767px) {
  .p-footer__tel-hours {
    margin-block-start: 0.1875rem;
    margin-inline-start: 3.625rem;
  }
}

.p-footer__utility {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, calc(-20.5714285714 / 16 * 1rem) + 3.5714285714vw, 3rem);
  margin-block-start: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-footer__utility {
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    margin-block-start: 1.3125rem;
    gap: clamp(0rem, calc(-564 / 16 * 1rem) + 156.6666666667vw, 2.9375rem);
  }
}

.p-footer__utility a {
  display: inline-flex;
  align-items: center;
  gap: 1.0625rem;
  font-size: max(1rem, 8px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-footer__utility a {
    flex-shrink: 0;
  }
}
@media (any-hover: hover) {
  .p-footer__utility a:hover .p-footer__utility-arrow {
    background-color: #6ac7bb;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__utility a span:not(.p-footer__utility-arrow) {
    white-space: nowrap;
  }
}

.p-footer__utility-arrow {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--color-primary);
  transition: background-color var(--duration);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-footer__utility-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M7.4 5.8 10.8 9 7.4 12.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-footer__nav-wrap {
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-wrap {
    margin-block-start: 1.4375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__accordion {
    border: 1px solid #b3b3b3;
    border-radius: var(--radius);
    background-color: var(--color-white);
    overflow: hidden;
  }
}

.p-footer__accordion-summary {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-footer__accordion-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.375rem 1.6875rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font-size: max(1rem, 8px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.02em;
  }
  .p-footer__accordion-summary:focus-visible {
    outline: 2px solid var(--focus-ring-color);
    outline-offset: -2px;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__accordion-summary:disabled {
    cursor: default;
  }
}

.p-footer__accordion-icon {
  position: relative;
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.p-footer__accordion-icon::before, .p-footer__accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.875rem;
  height: 2px;
  background-color: var(--color-primary);
  translate: -50% -50%;
}
.p-footer__accordion-icon::after {
  rotate: 90deg;
  transition: opacity var(--duration) ease, rotate var(--duration) ease;
}

.p-footer__accordion.is-open .p-footer__accordion-icon::after {
  opacity: 0;
  rotate: 90deg;
}

.p-footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(1.25rem, calc(13.3333333333 / 16 * 1rem) + 0.8680555556vw, 1.875rem);
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    display: block;
    flex-wrap: nowrap;
    overflow: hidden;
    max-height: 0;
    padding-inline: 1rem;
    padding-block: 0;
    transition: max-height 0.35s ease, padding-block-end 0.35s ease;
  }
}
@media screen and (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .p-footer__nav {
    transition: none;
  }
}

.p-footer__nav > .p-footer__nav-group {
  flex: 1 1 clamp(15rem, calc(201.3333333333 / 16 * 1rem) + 5.0347222222vw, 18.625rem);
  min-width: min(100%, 15rem);
  max-width: 18.625rem;
}

.p-footer__nav > .p-footer__nav-group--medical {
  flex: 1 1 clamp(18.75rem, calc(231.3333333333 / 16 * 1rem) + 8.9409722222vw, 25.1875rem);
  min-width: min(100%, 18.75rem);
  max-width: 25.1875rem;
}

@media screen and (max-width: 767px) {
  .p-footer__accordion.is-open .p-footer__nav {
    padding-block-end: 1.125rem;
  }
}

.p-footer__nav-group {
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .p-footer__nav-group + .p-footer__nav-group {
    margin-block-start: 1.25rem;
  }
}

.p-footer__nav-title {
  padding-block-end: 1rem;
  padding-inline-start: 0.75rem;
  border-block-end: 1px solid #babbbb;
  color: var(--color-primary);
  font-size: max(1.125rem, 8px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-title {
    padding: 0 0 0.75rem;
    border-block-end-color: #d6d6d6;
    font-size: max(1.125rem, 8px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.02em;
  }
}

.p-footer__nav-columns {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0;
  margin-block-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-columns {
    display: block;
    margin-block-start: 0;
  }
}

.p-footer__nav-columns > .p-footer__nav-list {
  flex: 0 1 11.5625rem;
  min-width: min(100%, 11.5625rem);
  max-width: 11.5625rem;
  margin-block-start: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-columns > .p-footer__nav-list {
    flex: none;
    min-width: 0;
    max-width: none;
    margin-block-start: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__nav-columns > .p-footer__nav-list + .p-footer__nav-list {
    margin-block-start: 0.75rem;
  }
}

.p-footer__nav-list {
  margin-block-start: 1.125rem;
  padding-inline-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list {
    margin-block-start: 0.625rem;
    padding-inline-start: 0;
  }
}

.p-footer__nav-list li + li {
  margin-block-start: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list li + li {
    margin-block-start: 0.75rem;
  }
}

.p-footer__nav-list a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding-block: 0.8125rem;
  white-space: nowrap;
  font-size: max(1rem, 8px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list a {
    padding-block: 0;
    white-space: normal;
    font-size: max(1rem, 8px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
.p-footer__nav-list a::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.4375rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7'%3E%3Cpath fill='none' stroke='%23F97B9C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 3.5h12M10 .8l3 2.7-3 2.7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (any-hover: hover) {
  .p-footer__nav-list a:hover {
    color: var(--color-primary);
  }
}

.p-footer__nav-list a:has(.p-footer__nav-phrase) {
  align-items: center;
  white-space: normal;
}

.p-footer__nav-text {
  min-width: 0;
}

.p-footer__nav-phrase {
  white-space: nowrap;
}

.p-footer__bottom {
  margin-block-start: 4.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-footer__bottom {
    margin-block-start: 2rem;
  }
}

.p-footer__copyright {
  font-size: max(0.75rem, 8px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
}

@media (prefers-reduced-motion: reduce) {
  .p-fixed-recruit {
    transition: opacity var(--duration), visibility var(--duration);
  }
}
html:has(body.has-fixed-nav) {
  scroll-padding-block-end: clamp(4.375rem, calc(63.3333333333 / 16 * 1rem) + 0.8680555556vw, 5rem);
}
@media screen and (max-width: 767px) {
  html:has(body.has-fixed-nav) {
    scroll-padding-block-end: 4.375rem;
  }
}

@media screen and (max-width: 767px) {
  body.has-fixed-nav {
    padding-block-end: 4.375rem;
  }
}

.p-form {
  --_form-color-text: var(--color-text);
  --_form-color-bg: var(--color-white);
  --_form-color-badge-text: var(--color-white);
  --_form-color-badge-bg: #A90011;
  --_form-color-accent: var(--color-primary);
  --_form-color-border: var(--color-gray-120);
  --_form-color-primary: var(--color-primary);
  max-width: 62.5rem;
  margin-inline: auto;
}
.p-form > * {
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-form > * {
    margin-block-start: 2rem;
  }
}
.p-form > *:nth-last-child(2) {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-form > *:nth-last-child(2) {
    margin-block-start: 1.5rem;
  }
}

.p-form.p-form--confirm .p-form__label {
  margin-block-start: 0;
}

.p-form__item {
  display: flex;
  align-items: flex-start;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__item {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.p-form__item--center {
  align-items: center;
}
.p-form__item--center .p-form__label {
  margin-block-start: 0;
}
@media screen and (max-width: 767px) {
  .p-form__item--center {
    align-items: flex-start;
  }
}

.p-form__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.875rem;
  min-width: 15.625rem;
  margin-block-start: 0.9em;
  color: var(--_form-color-text);
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-form__label {
    gap: 1rem;
    min-width: auto;
  }
}

.p-form__item:has(.wpcf7-radio) .p-form__label {
  margin-block-start: 0;
}

.p-form__label-note {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--_form-color-text);
}

.p-form__label-required {
  display: inline-block;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border-radius: 4px;
  background-color: var(--_form-color-badge-bg);
  color: var(--_form-color-badge-text);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-form__label-required {
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
  }
}

.p-form__data {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-form__data {
    flex: auto;
    width: 100%;
  }
}

.p-form__data-inner {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.p-form__data-inner > * {
  flex: 1;
}

.p-form__address {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-form__input,
.p-form__select,
.p-form__textarea {
  width: 100%;
  padding: 1rem 1.25rem;
  border: 1px solid var(--_form-color-border);
  border-radius: 8px;
  background-color: var(--_form-color-bg);
  color: var(--_form-color-text);
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__input,
  .p-form__select,
  .p-form__textarea {
    padding: 0.875rem 1.25rem;
  }
}

.p-form__date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-form__date {
    flex-wrap: nowrap;
    gap: 0.375rem;
  }
}
.p-form__date .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  white-space: nowrap;
}
.p-form__date .p-form__select-wrap:has(.wpcf7-not-valid-tip) ~ .p-form__select-wrap .wpcf7-not-valid-tip {
  display: none;
}

.p-form__date:has(.wpcf7-not-valid-tip) {
  padding-block-end: 1.75rem;
}

.p-form__select-wrap--year {
  flex: 0 1 10rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-form__select-wrap--year {
    flex: 1 1 0;
    min-width: 6rem;
  }
}

.p-form__select-wrap--month,
.p-form__select-wrap--day {
  flex: 0 1 6.875rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-form__select-wrap--month,
  .p-form__select-wrap--day {
    flex: 0 1 4.5rem;
    min-width: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__select-wrap--month .p-form__select,
  .p-form__select-wrap--day .p-form__select {
    padding-inline: 0.5rem 2rem;
  }
}

.p-form__date-unit {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-form__date-unit {
    font-size: 0.9375rem;
  }
}

.p-form__input::placeholder,
.p-form__select::placeholder,
.p-form__textarea::placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__input:focus,
.p-form__select:focus,
.p-form__textarea:focus {
  border-color: var(--_form-color-accent);
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__input:hover:not(:focus),
.p-form__select:hover:not(:focus),
.p-form__textarea:hover:not(:focus) {
  border-color: var(--_form-color-accent);
  opacity: 0.7;
}

.p-form__input.is-error,
.p-form__select.is-error,
.p-form__textarea.is-error {
  border-color: var(--_form-color-badge-bg);
}

.p-form__select {
  position: relative;
  padding-inline-end: 3rem;
  cursor: pointer;
  appearance: none;
}

.p-form__select-wrap {
  position: relative;
}

.p-form__select-wrap::after {
  content: "";
  position: absolute;
  top: 1.75rem;
  right: 1rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 0.75rem;
  height: 0.5rem;
  border: none;
  background-color: var(--_form-color-primary);
  pointer-events: none;
  translate: 0 -50%;
}

.p-form__textarea {
  min-height: 10rem;
  resize: vertical;
}

.p-form__radio-group {
  display: flex;
  flex-direction: column;
  gap: 2rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__radio-group {
    flex-flow: row wrap;
    gap: 0.5rem;
  }
}

.p-form__radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
}

.p-form__radio input[type=radio] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__radio input[type=radio]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}

.p-form__radio input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--_form-color-bg);
  translate: -50% -50%;
}

.p-form__radio input[type=radio]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__radio input[type=radio]:focus:not(:focus-visible) {
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__radio-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  user-select: none;
}

.p-form__checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
  cursor: pointer;
}

.p-form__checkbox input[type=checkbox] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 4px;
  cursor: pointer;
  appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__checkbox input[type=checkbox]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}

.p-form__checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.625rem;
  border: 2px solid var(--_form-color-bg);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}

.p-form__checkbox input[type=checkbox]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__checkbox input[type=checkbox]:focus:not(:focus-visible) {
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__checkbox-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  user-select: none;
}

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

.p-form__acceptance-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  font-weight: 500;
}
.p-form__acceptance-text + * {
  display: block;
  margin-block-start: 1rem;
}

.p-form__privacy {
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
}

.p-form__acceptance .p-form__data-checkbox {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__data-checkbox {
    display: flex;
    justify-content: center;
  }
}

.p-form__acceptance input[type=checkbox] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 4px;
  cursor: pointer;
  appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__acceptance input[type=checkbox]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}
.p-form__acceptance input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.625rem;
  border: 2px solid var(--_form-color-bg);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}

.p-form__acceptance input[type=checkbox]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__acceptance .p-form__label-required {
  margin-inline-end: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__label-required {
    margin-inline-end: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__checkbox-text {
    font-size: 0.875rem;
  }
}

.p-form__link {
  color: var(--_form-color-accent);
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .p-form__link:hover {
    opacity: 0.8;
  }
}

.p-form__submit {
  text-align: center;
}

.p-form__error {
  display: block;
  color: var(--_form-color-badge-bg);
  font-size: 0.875rem;
}

.p-form__success {
  padding: 1.5rem;
  border: 1px solid var(--_form-color-accent);
  border-radius: 8px;
  background-color: rgba(64, 143, 149, 0.1);
  color: var(--_form-color-accent);
  font-size: 1rem;
  text-align: center;
}

.wpcf7-list-item {
  display: flex;
  margin: 0;
}

.p-form__radio .wpcf7-list-item-label,
.p-form__radio .wpcf7-li label {
  color: var(--_form-color-text);
  font-size: 1rem;
  line-height: 1.5;
  user-select: none;
}

.p-form__radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
}

.p-form__checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.p-form__item .wpcf7-list-item {
  display: flex;
  align-items: center;
}

.p-form.p-form--confirm .p-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-form.p-form--confirm .p-form__actions {
    margin-block-start: 2.5rem;
  }
}

.p-form.p-form--confirm .p-form__action {
  position: relative;
  display: flex;
  flex: 0 0 17.5rem;
  width: 17.5rem;
  max-width: 100%;
  min-width: 0;
}
.p-form.p-form--confirm .p-form__action .wpcf7-spinner {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  margin: 0;
  translate: -50% 0;
}

.p-form.p-form--confirm .p-form__action-link-wrap,
.p-form.p-form--confirm button.wpcf7-submit.c-button,
.p-form.p-form--confirm .p-form__action-link {
  box-sizing: border-box;
  width: 17.5rem;
  min-width: 17.5rem;
  max-width: 17.5rem;
  height: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-form.p-form--confirm .p-form__action-link-wrap,
  .p-form.p-form--confirm button.wpcf7-submit.c-button,
  .p-form.p-form--confirm .p-form__action-link {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

.p-form.p-form--confirm .p-form__action-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1rem;
  border: 1px solid var(--color-primary);
  border-radius: 0.3125rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--duration);
}
@media (any-hover: hover) {
  .p-form.p-form--confirm .p-form__action-link:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}

.p-gastro-diseases {
  padding: 1.5rem 2rem 1.75rem;
  border: 1px solid var(--color-pink-280);
  border-radius: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-diseases {
    padding: 1.25rem 1rem 1.5rem;
  }
}

.p-gastro-diseases__title {
  font-family: var(--ff-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-gastro-diseases__title {
    font-size: 1.125rem;
  }
}

.p-gastro-diseases__list {
  margin-block-start: 0.75rem;
}

.p-gastro-faq__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-faq__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-gastro-faq {
  padding-block: 1.25rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-faq {
    padding-block: 0 4rem;
  }
}

.p-gastro-faq__list {
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-faq__list {
    margin-block-start: 1.5rem;
  }
}

.p-gastro-intro {
  padding-block: 2.375rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-intro {
    padding-block: 2rem 1.5rem;
  }
}

.p-gastro-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-gastro-intro__box {
  max-width: 66.5625rem;
  margin-inline: auto;
  padding: 2.25rem 2.75rem 2.5rem 3rem;
  border-radius: var(--radius);
  background: var(--color-gray-20) url("../images/image_reviews_box_bg.webp");
}
@media screen and (max-width: 767px) {
  .p-gastro-intro__box {
    padding: 1.5rem 1.125rem 1.75rem;
  }
}

.p-gastro-intro__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-gastro-intro__text {
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-gastro-intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-intro__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}

.p-gastro-roles__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-gastro-roles {
  padding-block: 4rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles {
    padding-block: 2.5rem 1.5rem;
  }
}

.p-gastro-roles__lead {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-gastro-roles__list {
  display: flex;
  gap: 1.5rem;
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles__list {
    flex-direction: column;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}
.p-gastro-roles__list > li {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles__list > li {
    flex: none;
  }
}

.p-gastro-roles__flow {
  margin-block-start: 2rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-gastro-roles__flow {
    margin-block-start: 1.5rem;
    font-size: 0.875rem;
  }
}

.p-gastro-section__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-gastro-section__lead {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-gastro-section {
  padding-block: 6rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section {
    padding-block: 3.5rem;
  }
}

.p-gastro-section--tinted {
  background-color: var(--color-lime-50);
}

.p-gastro-section__cols {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 1023px) {
  .p-gastro-section__cols {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gastro-section__cols {
    margin-block-start: 1.5rem;
  }
}

.p-gastro-section__col {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-gastro-section__col {
    flex: none;
  }
}

.p-gastro-section__sub {
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__sub {
    margin-block-start: 2.5rem;
  }
}

.p-gastro-section__exam-heading {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__exam-heading {
    margin-block-start: 1.75rem;
  }
}

.p-gastro-section__steps,
.p-gastro-section__menus,
.p-gastro-section__records,
.p-gastro-section__exam-links {
  margin-block-start: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__steps,
  .p-gastro-section__menus,
  .p-gastro-section__records,
  .p-gastro-section__exam-links {
    margin-block-start: 1.25rem;
  }
}

.p-gastro-section__menus {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__menus {
    gap: 0.875rem;
  }
}
.p-gastro-section__menus > li {
  flex: 1 1 0;
  min-width: 0;
}

.p-gastro-section__menus > li {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .p-gastro-section__menus > li {
    flex-basis: calc((100% - 1.25rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-gastro-section__menus > li {
    flex-basis: calc((100% - 0.875rem) / 2);
  }
}

.p-gastro-section__records {
  position: relative;
  padding: 2.5rem 3.25rem 2.625rem 3rem;
  background: url("../images/image_commitment_stats_bg.webp") center/cover no-repeat;
}
@media (width >= 1300px) {
  .p-gastro-section__records {
    padding-inline-end: calc(3.25rem + 20.1875rem + 1rem);
  }
}
@media screen and (max-width: 1023px) {
  .p-gastro-section__records {
    padding: 2rem 1.5rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gastro-section__records {
    padding: 1.5rem 1rem 2rem;
  }
}

.p-gastro-section__photo {
  position: absolute;
  top: 1.9375rem;
  right: 3.25rem;
  width: 20.1875rem;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 50%;
}
@media (width < 1300px) {
  .p-gastro-section__photo {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 15rem);
    margin-inline: auto;
    margin-block-end: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gastro-section__photo {
    width: 14.0625rem;
  }
}
.p-gastro-section__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-gastro-section__note {
  margin-block-start: 2.3125rem;
  color: #595757;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.86;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__note {
    margin-block-start: 1.5rem;
    margin-inline: 0.5rem;
  }
}

.p-gastro-section__exam-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__exam-links {
    gap: 0.625rem;
  }
}
.p-gastro-section__exam-links > li {
  display: flex;
  flex: 1 1 15rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__exam-links > li {
    flex-basis: calc((100% - 0.625rem) / 2);
  }
}
.p-gastro-section__exam-links .c-outline-button {
  flex: 1;
  min-width: 0;
}

.p-gastro-section__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-gastro-section__links {
    flex-direction: column;
    gap: 0.625rem;
    margin-block-start: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gastro-section__links .c-arrow-button {
    width: 100%;
    min-width: 0;
    min-height: 3.5rem;
  }
}

.p-gastro {
  position: relative;
}

.p-header {
  position: relative;
}

@media (any-hover: hover) {
  .p-header a:hover:not(.p-header__reserve) {
    opacity: 1;
  }
}
.p-header__inner {
  position: relative;
  width: min(100%, 120rem);
  height: 100%;
  margin-inline: auto;
}

@media screen and (max-width: 1023px) {
  .p-header__bar {
    position: fixed;
    top: 1.75rem;
    left: 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    column-gap: 0.5rem;
    width: 100%;
    height: 3.8125rem;
    padding-inline: 1.25rem 1.375rem;
  }
}

@media screen and (max-width: 1023px) {
  .is-drawer-open .p-header__bar {
    top: 0 !important;
    background-color: #fff7f9;
  }
}

.p-header__catch {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: clamp(36.25rem, calc(145.7142857143 / 16 * 1rem) + 42.4107142857vw, 60rem);
  height: clamp(1.5rem, calc(6.8571428571 / 16 * 1rem) + 1.6741071429vw, 2.4375rem);
  padding-inline: 1.25rem;
  background: linear-gradient(to right, #ece0d3, #ece0d3 50%, #ecdfd4 50%, rgba(236, 224, 211, 0));
  color: var(--color-brown-690);
  font-size: clamp(0.625rem, calc(5.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.875rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1023px) {
  .p-header__catch {
    width: 100%;
    height: 1.75rem;
    padding-inline: 0.75rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: clamp(0.375rem, calc(-6 / 16 * 1rem) + 3.3333333333vw, 0.4375rem);
  }
}
@media screen and (max-width: 767px) {
  .p-header__catch {
    height: 1.625rem;
    padding-inline: 1.25rem;
    font-size: 0.4375rem;
    letter-spacing: 0.04em;
  }
}

.p-header__utility {
  position: absolute;
  top: 1.0625rem;
  right: clamp(1.375rem, calc(-18 / 16 * 1rem) + 3.90625vw, 3.5625rem);
  display: flex;
  align-items: center;
  gap: clamp(1.125rem, calc(-2.5714285714 / 16 * 1rem) + 2.0089285714vw, 2.25rem);
}
@media screen and (max-width: 1023px) {
  .p-header__utility {
    display: none;
  }
}

.p-header__utility-group {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.125rem, calc(-0.2857142857 / 16 * 1rem) + 1.7857142857vw, 2.125rem);
}

.p-header__utility-list {
  display: flex;
  align-items: center;
  gap: clamp(1rem, calc(-2.2857142857 / 16 * 1rem) + 1.7857142857vw, 2rem);
  margin-block-start: 0.125rem;
}

.p-header__utility-item a {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.625rem, calc(3.1428571429 / 16 * 1rem) + 0.6696428571vw, 1rem);
  color: var(--color-text);
  font-size: clamp(0.75rem, calc(7.4285714286 / 16 * 1rem) + 0.4464285714vw, 1rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  transition: color var(--duration);
}

@media (any-hover: hover) {
  .p-header__utility-item a:hover {
    color: var(--color-primary);
  }
}
.p-header__utility-item img {
  width: clamp(0.875rem, calc(7.1428571429 / 16 * 1rem) + 0.6696428571vw, 1.25rem);
  height: auto;
  aspect-ratio: 20/20;
  object-fit: contain;
}

.p-header__tel {
  text-align: right;
  translate: 0 -0.125rem;
}

.p-header__tel-number {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.25rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.p-header__tel-label {
  font-size: clamp(0.875rem, calc(6 / 16 * 1rem) + 0.78125vw, 1.3125rem);
}

.p-header__tel-value {
  font-size: clamp(1.125rem, calc(6.5714285714 / 16 * 1rem) + 1.1160714286vw, 1.75rem);
  letter-spacing: 0.08em;
}

.p-header__tel-hours {
  margin-block-start: 0.25rem;
  padding-inline-end: clamp(0.875rem, calc(-2 / 16 * 1rem) + 1.5625vw, 1.75rem);
  font-size: clamp(0.5rem, calc(3.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.75rem);
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
}

.p-header__button-wrap {
  flex-shrink: 0;
}

.p-header__reserve {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0.5rem, calc(-6.8571428571 / 16 * 1rem) + 1.4508928571vw, 1.3125rem);
  width: clamp(10rem, calc(62.8571428571 / 16 * 1rem) + 9.4866071429vw, 15.3125rem);
  height: 4.0625rem;
  padding-inline: clamp(1rem, calc(-4.5714285714 / 16 * 1rem) + 2.0089285714vw, 2.125rem) 1.25rem;
  border-radius: var(--radius);
  background: linear-gradient(to right, #ff8aa4, #f8537f);
  color: var(--color-white);
}

.p-header__reserve-icon {
  display: block;
  flex-shrink: 0;
  width: clamp(1rem, calc(-3.4285714286 / 16 * 1rem) + 1.8973214286vw, 2.0625rem);
  height: auto;
  aspect-ratio: 33/30;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M22.25,24.81h-3.74l1.26,3.73c.49.1,1.32-.16,1.72.17.54.45.19,1.14-.44,1.2-3.28.33-7.03-.26-10.36,0-.67.06-1.05-.82-.47-1.23.41-.29,1.55.03,1.72-.2l1.21-3.66H2.53C1.49,24.81,0,23.24,0,22.06V2.67C.24,1.27,1.22.19,2.53,0h26.65c1.39.21,2.36,1.44,2.52,2.91v6.83c.05.21.4.4.56.6.37.45.58,1.11.63,1.71.33,4.52-.25,9.51,0,14.08-.13,1.4-1,2.39-2.31,2.5-1.61.14-4.42.14-6.03,0-1.02-.09-2.31-1.07-2.31-2.27v-1.55ZM30.47,9.46V2.82s-.19-.56-.23-.62c-.3-.55-.99-.91-1.57-.93H3.04c-.6,0-1.28.32-1.59.9-.06.12-.28.72-.28.81v16.65h21.07v-7.91c0-1.02,1.31-2.27,2.24-2.27h5.98ZM24.43,10.83c-.5.12-.89.57-.94,1.13l.03,14.43c.16.41.48.76.89.87l6.42-.03c.43-.2.76-.59.81-1.12v-14.07c-.02-.66-.47-1.16-1.06-1.23-1.9-.23-4.21.16-6.15.02ZM22.25,20.99H1.18c-.07.82.16,1.71.81,2.18.11.08.52.28.62.28h19.64v-2.46ZM13.22,28.54h5.21l-1.36-3.74-2.6.02-1.26,3.73Z' /%3E%3Cpath class='cls-1' d='M26.56,24.74c.25-.06,1.77-.06,2.02,0,.64.16.63,1.16,0,1.32-.25.06-1.77.06-2.02,0-.64-.16-.64-1.16,0-1.32Z' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-header__reserve-text {
  font-family: var(--ff-serif);
  font-size: clamp(0.875rem, calc(7.1428571429 / 16 * 1rem) + 0.6696428571vw, 1.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.p-header__reserve-blank {
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.8125rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 13'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z' /%3E%3Cpath class='cls-1' d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-header__logo {
  position: absolute;
  top: 5.25rem;
  left: 3.375rem;
  width: clamp(10rem, calc(45.7142857143 / 16 * 1rem) + 11.1607142857vw, 16.25rem);
}
@media screen and (max-width: 1023px) {
  .p-header__logo {
    position: static;
    grid-column: 1;
    width: auto;
    min-width: 0;
    overflow: hidden;
  }
}

.p-header__logo a {
  display: block;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-header__logo a {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
}

.p-header__logo-image {
  display: block;
  height: auto;
  object-fit: contain;
  object-position: left top;
}
@media screen and (max-width: 1023px) {
  .p-header__logo-image {
    flex-shrink: 0;
    width: 5.125rem;
    max-height: 4.0625rem;
  }
}

.p-header__logo-name {
  display: block;
  margin-block-start: -0.625rem;
  padding-inline-start: 40%;
  color: var(--color-black);
  font-size: clamp(0.75rem, calc(2.8571428571 / 16 * 1rem) + 0.8928571429vw, 1.25rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-header__logo-name {
    display: block;
    flex-shrink: 0;
    margin-block-start: -0.5rem;
    padding-inline-start: 0;
    font-size: clamp(0.875rem, calc(-10 / 16 * 1rem) + 6.6666666667vw, 1rem);
    line-height: 1.35;
    text-align: left;
  }
}

.p-header__nav-anchor {
  --nav-anchor-left: clamp(16.25rem, calc(152.5714285714 / 16 * 1rem) + 10.4910714286vw, 22.125rem);
  --nav-anchor-width: clamp(52.5rem, calc(428.5714285714 / 16 * 1rem) + 40.1785714286vw, 75rem);
  position: absolute;
  top: 6.25rem;
  left: var(--nav-anchor-left);
  width: min(var(--nav-anchor-width), 100% - var(--nav-anchor-left) - 1.5rem);
  height: 4.375rem;
}
@media screen and (max-width: 1023px) {
  .p-header__nav-anchor {
    display: none;
  }
}

.p-header__nav-bar {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  background-color: var(--color-white);
  box-shadow: 0 0.25rem 1rem oklch(from var(--color-black) l c h/6%);
  transition: transform 0.55s ease, opacity 0.55s ease, box-shadow 0.55s ease;
}
.p-header__nav-bar.is-fixed {
  position: fixed;
  top: 1rem;
  left: 0;
  right: 0;
  z-index: var(--z-index-header);
  width: min(100% - 5rem, 75.6875rem);
  height: 4.8125rem;
  margin-inline: auto;
}
.p-header__nav-bar.is-hidden {
  transform: translateY(calc(-100% - 1rem));
  pointer-events: none;
}
.p-header__nav-bar.is-fading {
  opacity: 0;
  pointer-events: none;
}

.p-header__nav {
  width: 100%;
  height: 100%;
}

.p-header__nav-list {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: 100%;
  padding-inline: clamp(1.5rem, calc(-3.4285714286 / 16 * 1rem) + 2.6785714286vw, 3rem);
}

.p-header__nav-item {
  position: relative;
  display: flex;
  align-items: stretch;
  align-self: stretch;
  flex: 1;
  height: 100%;
}
.p-header__nav-item.is-open > .p-header__mega {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.p-header__nav-link {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
  flex: 1;
  justify-content: center;
  gap: clamp(0.375rem, calc(1.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.625rem);
  width: 100%;
  height: 100%;
  padding-block: 0;
  padding-inline: clamp(0.75rem, calc(-4 / 16 * 1rem) + 1.5625vw, 1.625rem);
  font-size: clamp(0.625rem, calc(3.1428571429 / 16 * 1rem) + 0.6696428571vw, 1rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--duration);
}
@media screen and (max-width: 1023px) {
  .p-header__nav-link {
    gap: 0.375rem;
    padding-inline: 0.375rem;
    font-size: 0.8125rem;
  }
}
.p-header__nav-link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}

.p-header__nav-item:not(:last-child) .p-header__nav-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 30px;
  background-color: #cbc1a9;
  translate: 0 -50%;
}

.p-header__nav-item.has-mega.is-open > .p-header__nav-link,
.p-header__nav-item.is-current > .p-header__nav-link {
  color: var(--color-primary);
}

.p-header__nav-item.has-mega.is-open > .p-header__nav-link::before,
.p-header__nav-item.is-current > .p-header__nav-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 0.1875rem;
  background-color: var(--color-primary);
}

@media (any-hover: hover) {
  .p-header__nav-link:hover {
    color: var(--color-primary);
  }
  .p-header__nav-item.has-mega:hover > .p-header__nav-link {
    color: var(--color-primary);
  }
  .p-header__nav-item.has-mega:hover > .p-header__nav-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 0.1875rem;
    background-color: var(--color-primary);
  }
}
.p-header__nav-icon {
  flex-shrink: 0;
  object-fit: contain;
}

.p-header__nav-icon--about {
  width: clamp(1.125rem, calc(6 / 16 * 1rem) + 1.5625vw, 2.25rem);
  height: auto;
  aspect-ratio: 36/23;
}

.p-header__nav-icon--medical {
  width: clamp(0.75rem, calc(4.6666666667 / 16 * 1rem) + 0.9548611111vw, 1.4375rem);
  height: auto;
  aspect-ratio: 23/26;
}

.p-header__nav-icon--endoscopy {
  width: clamp(0.8125rem, calc(4.3333333333 / 16 * 1rem) + 1.1284722222vw, 1.625rem);
  height: auto;
  aspect-ratio: 26/27;
}

.p-header__nav-icon--symptom {
  width: clamp(0.8125rem, calc(4.3333333333 / 16 * 1rem) + 1.1284722222vw, 1.625rem);
  height: 100%;
  aspect-ratio: 13/14;
}

.p-header__nav-icon--access {
  width: clamp(0.5625rem, calc(3.6666666667 / 16 * 1rem) + 0.6944444444vw, 1.0625rem);
  height: auto;
  aspect-ratio: 17/22;
}

.p-header__nav-icon--faq {
  width: clamp(0.6875rem, calc(3.6666666667 / 16 * 1rem) + 0.9548611111vw, 1.375rem);
  height: auto;
  aspect-ratio: 22/20;
}

.p-header__mega {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: calc(var(--z-index-header) + 1);
  width: min(57.5rem, 100vw - 3rem);
  padding-block: clamp(1.25rem, calc(10.8571428571 / 16 * 1rem) + 0.8928571429vw, 1.75rem) clamp(1.375rem, calc(10.5714285714 / 16 * 1rem) + 1.1160714286vw, 2rem);
  padding-inline: clamp(1.5rem, calc(10.2857142857 / 16 * 1rem) + 1.3392857143vw, 2.25rem);
  border-radius: 1rem;
  background-color: var(--color-white);
  box-shadow: 0 0.75rem 2.5rem oklch(from var(--color-black) l c h/12%);
  opacity: 0;
  pointer-events: none;
  translate: -50% 0;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.p-header__mega::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 100vw;
  height: 1rem;
  translate: -50% 0;
}
@media screen and (max-width: 1023px) {
  .p-header__mega {
    width: min(45rem, 100vw - 2rem);
  }
}

.p-header__mega-inner {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, calc(2.2857142857 / 16 * 1rem) + 1.3392857143vw, 1.75rem);
}

.p-header__mega-group {
  width: 100%;
}

.p-header__mega-title {
  display: flex;
  align-items: center;
  width: 100%;
  margin-block-end: 0;
  padding-block-end: clamp(0.625rem, calc(5.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.875rem);
  border-block-end: 1px solid #e8e8e8;
  color: var(--color-primary);
  font-size: clamp(0.875rem, calc(9.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.125rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.p-header__mega-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(0.75rem, calc(-1.7142857143 / 16 * 1rem) + 1.3392857143vw, 1.5rem);
}

.p-header__mega-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.5rem, calc(3.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.75rem);
  padding-block: clamp(0.625rem, calc(3.1428571429 / 16 * 1rem) + 0.6696428571vw, 1rem);
  padding-inline: clamp(0.5rem, calc(3.4285714286 / 16 * 1rem) + 0.4464285714vw, 0.75rem);
  border-block-end: 1px solid #ebebeb;
  color: var(--color-text);
  font-size: clamp(0.75rem, calc(9.7142857143 / 16 * 1rem) + 0.2232142857vw, 0.875rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  transition: background-color var(--duration), color var(--duration);
}

.p-header__mega-list a::after {
  content: "";
  flex-shrink: 0;
  width: clamp(0.875rem, calc(9.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.125rem);
  height: clamp(0.875rem, calc(9.4285714286 / 16 * 1rem) + 0.4464285714vw, 1.125rem);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Ccircle cx='9' cy='9' r='8.2' fill='%23F97B9C'/%3E%3Cpath stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M7.4 5.8 10.8 9 7.4 12.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-header__mega-list a[aria-current=page] {
  background-color: color-mix(in srgb, var(--color-primary) 10%, var(--color-white));
  color: var(--color-primary);
}

@media (any-hover: hover) {
  .p-header__mega-list a:hover {
    background-color: color-mix(in srgb, var(--color-primary) 10%, var(--color-white));
    color: var(--color-text);
  }
}
.p-header__hamburger {
  position: absolute;
  z-index: 1001;
  display: none;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0.5rem;
  background-color: var(--color-primary);
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .p-header__hamburger {
    position: relative;
    z-index: 1001;
    grid-column: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 2.6875rem;
    height: 2.6875rem;
    border-radius: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    width: 2.8125rem;
    height: 2.8125rem;
  }
}

.p-header__hamburger span {
  position: relative;
  left: 50%;
  display: block;
  width: 1.375rem;
  height: 2px;
  background-color: var(--color-white);
  translate: -50% 0;
  transition: top calc(var(--duration) * 1.67), opacity calc(var(--duration) * 1.67), rotate calc(var(--duration) * 1.67);
}
.p-header__hamburger span:nth-of-type(1) {
  top: -7px;
}
.p-header__hamburger span:nth-of-type(2) {
  top: 0;
}
.p-header__hamburger span:nth-of-type(3) {
  top: 7px;
}
@media screen and (max-width: 1023px) {
  .p-header__hamburger span {
    left: auto;
    flex-shrink: 0;
    width: 1.3125rem;
    height: 0.125rem;
    translate: none;
    transition: rotate calc(var(--duration) * 1.67), translate calc(var(--duration) * 1.67);
  }
  .p-header__hamburger span:nth-of-type(1), .p-header__hamburger span:nth-of-type(2), .p-header__hamburger span:nth-of-type(3) {
    top: auto;
  }
}

.p-header__hamburger.is-open span:nth-of-type(1) {
  top: 0;
  rotate: 45deg;
}
.p-header__hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}
.p-header__hamburger.is-open span:nth-of-type(3) {
  top: 0;
  rotate: -45deg;
}
@media screen and (max-width: 1023px) {
  .p-header__hamburger.is-open span:nth-of-type(1) {
    top: auto;
    opacity: 1;
    translate: 0 0.1875rem;
    rotate: 45deg;
  }
  .p-header__hamburger.is-open span:nth-of-type(2) {
    top: auto;
    opacity: 1;
    translate: 0 -0.1875rem;
    rotate: -45deg;
  }
  .p-header__hamburger.is-open span:nth-of-type(3) {
    top: auto;
  }
}

.p-header__drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 900;
  display: none;
  overflow-y: auto;
  width: min(100%, 25rem);
  height: 100svh;
  padding-block: 4.8125rem 2.5rem;
  padding-inline: 1.25rem;
  background-color: #fff7f9;
  scrollbar-width: none;
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.p-header__drawer::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  .p-header__drawer {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .p-header__drawer {
    display: block;
  }
  .p-header__drawer.is-open {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-header__drawer {
    width: 100%;
  }
}

.p-header__drawer-nav {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-header__drawer-nav {
    width: min(100%, 37.5rem);
    margin-inline: auto;
    padding-inline: 1.25rem;
  }
}

.p-header__drawer-item {
  border-block-end: 1px solid #f0d5dd;
}

.p-header__drawer-item > a,
.p-header__drawer-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: 1rem;
  padding-inline: 0.25rem;
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: left;
}

.p-header__drawer-toggle {
  font-size: 1rem;
}

.p-header__drawer-item.is-current > a,
.p-header__drawer-item.is-current > .p-header__drawer-toggle {
  color: var(--color-primary);
}

.p-header__drawer-toggle::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-block-end: 2px solid currentcolor;
  border-inline-end: 2px solid currentcolor;
  rotate: 45deg;
  transition: rotate var(--duration);
}

.p-header__drawer-item.is-open .p-header__drawer-toggle::after {
  rotate: -135deg;
}

.p-header__drawer-sub {
  display: grid;
  gap: 1rem;
  overflow: hidden;
  max-height: 0;
  padding-block-end: 0;
  padding-inline-start: 0.25rem;
  transition: max-height 0.35s ease, padding-block-end 0.35s ease;
}

.p-header__drawer-item.is-open .p-header__drawer-sub {
  padding-block-end: 1rem;
}

.p-header__drawer-group {
  display: grid;
  gap: 0.25rem;
}

.p-header__drawer-group-title {
  margin: 0;
  padding-block: 0.5rem 0.25rem;
  color: var(--color-primary);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.p-header__drawer-group-list {
  display: grid;
  gap: 0.5rem;
  padding-inline-start: 0.5rem;
}

.p-header__drawer-group-list a {
  display: block;
  padding-block: 0.375rem;
  color: #555;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-header__drawer-group-list a[aria-current=page] {
  color: var(--color-primary);
  font-weight: 700;
}

.p-header__drawer-item--reserve {
  margin-block-start: 1.3125rem;
  border-block-end: none;
}

.p-header__drawer-item--reserve > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.625rem;
  padding: 1.125rem 1.25rem;
  border-radius: 0.625rem;
  background: linear-gradient(135deg, #ff8aa4 0%, #f8537f 100%);
  color: var(--color-white);
  font-weight: 500;
}

.p-header__drawer-reserve-icon {
  position: absolute;
  top: 50%;
  left: 1.25rem;
  width: 2.1875rem;
  height: 1.875rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M22.25,24.81h-3.74l1.26,3.73c.49.1,1.32-.16,1.72.17.54.45.19,1.14-.44,1.2-3.28.33-7.03-.26-10.36,0-.67.06-1.05-.82-.47-1.23.41-.29,1.55.03,1.72-.2l1.21-3.66H2.53C1.49,24.81,0,23.24,0,22.06V2.67C.24,1.27,1.22.19,2.53,0h26.65c1.39.21,2.36,1.44,2.52,2.91v6.83c.05.21.4.4.56.6.37.45.58,1.11.63,1.71.33,4.52-.25,9.51,0,14.08-.13,1.4-1,2.39-2.31,2.5-1.61.14-4.42.14-6.03,0-1.02-.09-2.31-1.07-2.31-2.27v-1.55ZM30.47,9.46V2.82s-.19-.56-.23-.62c-.3-.55-.99-.91-1.57-.93H3.04c-.6,0-1.28.32-1.59.9-.06.12-.28.72-.28.81v16.65h21.07v-7.91c0-1.02,1.31-2.27,2.24-2.27h5.98ZM24.43,10.83c-.5.12-.89.57-.94,1.13l.03,14.43c.16.41.48.76.89.87l6.42-.03c.43-.2.76-.59.81-1.12v-14.07c-.02-.66-.47-1.16-1.06-1.23-1.9-.23-4.21.16-6.15.02ZM22.25,20.99H1.18c-.07.82.16,1.71.81,2.18.11.08.52.28.62.28h19.64v-2.46ZM13.22,28.54h5.21l-1.36-3.74-2.6.02-1.26,3.73Z' /%3E%3Cpath class='cls-1' d='M26.56,24.74c.25-.06,1.77-.06,2.02,0,.64.16.63,1.16,0,1.32-.25.06-1.77.06-2.02,0-.64-.16-.64-1.16,0-1.32Z' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  translate: 0 -50%;
}

.p-header__drawer-reserve-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3125rem;
  text-align: center;
}

.p-header__drawer-reserve-title {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.p-header__drawer-reserve-note {
  font-size: 0.75rem;
  line-height: 1.4;
}

.p-header__drawer-reserve-blank {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1.0625rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 13'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M14.68,10.38H3.14c-.18,0-.32-.14-.32-.31V.31c0-.17.14-.31.32-.31h11.54c.18,0,.32.14.32.31v9.76c0,.17-.14.31-.32.31ZM3.46,9.76h10.89V.61H3.46v9.15Z' /%3E%3Cpath class='cls-1' d='M6.54,13H.32c-.18,0-.32-.14-.32-.31v-5.91c0-.17.14-.31.32-.31s.32.14.32.31v5.6h5.9c.18,0,.32.14.32.31s-.14.31-.32.31Z' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  translate: 0 -50%;
}

.p-header__drawer-item--tel {
  margin-block-start: 1.3125rem;
  border-block-end: none;
}

.p-header__drawer-item--tel > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-height: 5.625rem;
  padding: 1.125rem 1rem;
  border: 1px solid var(--color-text);
  border-radius: 0.625rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-weight: 500;
  text-align: center;
}

.p-header__drawer-tel-title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  font-family: var(--ff-serif);
  line-height: 1.2;
}

.p-header__drawer-tel-label {
  font-size: 1.125rem;
}

.p-header__drawer-tel-value {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
}

.p-header__drawer-tel-hours {
  font-size: 0.75rem;
  font-family: var(--ff-serif);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.p-hypertension-checkup {
  padding-block: 4.875rem 4.625rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-checkup {
    padding-block: 3rem;
  }
}

.p-hypertension-checkup__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-checkup__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-checkup__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-block-start: 2.625rem;
  padding-inline: 2.9375rem 2.375rem;
}
@media screen and (max-width: 1023px) {
  .p-hypertension-checkup__body {
    flex-direction: column;
    align-items: stretch;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-hypertension-checkup__body {
    gap: 1.75rem;
    margin-block-start: 1.5rem;
  }
}

.p-hypertension-checkup__main {
  flex: 1 1 40rem;
  min-width: 0;
  max-width: 40rem;
}
@media screen and (max-width: 1023px) {
  .p-hypertension-checkup__main {
    flex: none;
    max-width: none;
  }
}

.p-hypertension-checkup__text {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-hypertension-checkup__text {
    font-size: 0.875rem;
  }
}

.p-hypertension-checkup__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-checkup__actions {
    flex-direction: column;
    gap: 0.75rem;
  }
}

.p-hypertension-checkup__tags {
  flex: 0 1 28.125rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-hypertension-checkup__tags {
    flex: none;
  }
}

.p-hypertension-clinic {
  padding-block: 4.8125rem 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-hypertension-clinic {
    padding-block: 3rem;
  }
}

.p-hypertension-clinic__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-clinic__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-clinic__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-hypertension-clinic__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-hypertension-clinic__list {
  margin-block-start: 2.3125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-clinic__list {
    margin-block-start: 1.5rem;
  }
}

.p-hypertension-consult {
  padding-block: 6.75rem 5.5625rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult {
    padding-block: 3rem;
  }
}

.p-hypertension-consult__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-consult__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.3125rem;
  margin-block-start: 2.5625rem;
  padding-inline: 2.75rem 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__body {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    margin-block-start: 1.5rem;
    padding-inline: 0;
  }
}

.p-hypertension-consult__main {
  flex: 1 1 44rem;
  min-width: 0;
  max-width: 44rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__main {
    flex: none;
    max-width: none;
  }
}

.p-hypertension-consult__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__text {
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-hypertension-consult__note {
  margin-block-start: 0.5625rem;
  padding-inline-start: 1em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.83;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__note {
    font-size: 0.8125rem;
  }
}

.p-hypertension-consult__photo {
  flex: 0 1 23.125rem;
  min-width: 0;
  margin-block-start: 0.4375rem;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__photo {
    flex: none;
    align-self: center;
    width: min(100%, 23.125rem);
    margin-block-start: 0;
  }
}
.p-hypertension-consult__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-hypertension-consult__panel {
  margin-block-start: 3.3125rem;
  padding: 2.5rem 2.4375rem 2.5625rem 2.8125rem;
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__panel {
    margin-block-start: 2rem;
    padding: 1.5rem 1rem;
  }
}

.p-hypertension-consult__panel-note {
  margin-block-start: 1.0625rem;
  margin-inline-start: 0.4375rem;
  padding-inline-start: 1em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.83;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .p-hypertension-consult__panel-note {
    margin-inline-start: 0;
    font-size: 0.8125rem;
  }
}

.p-hypertension-faq {
  padding-block: 6.5rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-faq {
    padding-block: 3rem 1.25rem;
  }
}

.p-hypertension-faq__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-faq__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-faq__list {
  margin-block-start: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-faq__list {
    margin-block-start: 1.5rem;
  }
}

.p-hypertension-intro {
  padding-block: 2.375rem 4.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro {
    padding-block: 2rem 3rem;
  }
}

.p-hypertension-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-intro__box {
  max-width: 66.5625rem;
  margin-inline: auto;
  padding: 2.375rem 2.75rem 4rem 3.625rem;
  background: var(--color-gray-20) url("../images/image_reviews_box_bg.webp");
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__box {
    padding: 1.75rem 1.125rem 2rem;
  }
}
.p-hypertension-intro__box .c-mark-heading {
  margin-inline-start: -1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__box .c-mark-heading {
    margin-inline-start: 0;
  }
}

.p-hypertension-intro__text {
  margin-block-start: 1.3125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__text {
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-hypertension-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__actions {
    flex-direction: column;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}
.p-hypertension-intro__actions .c-outline-button {
  min-width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-intro__actions .c-outline-button {
    min-width: 0;
    min-height: 3.5rem;
  }
}

.p-hypertension-manage {
  padding-block: 4.875rem 6.4375rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage {
    padding-block: 3rem;
  }
}

.p-hypertension-manage__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-manage__text {
  margin-block-start: 2.625rem;
  padding-inline-start: 2.9375rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage__text {
    margin-block-start: 1.5rem;
    padding-inline-start: 0;
    font-size: 0.875rem;
  }
}

.p-hypertension-manage__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3125rem;
  margin-block-start: 2.3125rem;
  padding-inline-start: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage__links {
    gap: 0.625rem;
    margin-block-start: 1.5rem;
    padding-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage__links > li {
    flex: 0 0 calc((100% - 0.625rem) / 2);
  }
}
.p-hypertension-manage__links .c-arrow-button {
  padding-inline-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-manage__links .c-arrow-button {
    width: 100%;
    min-width: 0;
    min-height: 3.75rem;
    padding-inline: 0.875rem;
    font-size: 0.875rem;
  }
}

.p-hypertension-treatment {
  padding-block: 5.1875rem 5.75rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-hypertension-treatment {
    padding-block: 3rem;
  }
}

.p-hypertension-treatment__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-treatment__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-hypertension-treatment__lead {
  margin-block-start: 1.75rem;
  margin-inline-start: 2.625rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-hypertension-treatment__lead {
    margin-block-start: 1rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-hypertension-treatment__steps {
  max-width: 67.875rem;
  margin-block-start: 3.8125rem;
  margin-inline-start: 3.375rem;
}
@media screen and (max-width: 767px) {
  .p-hypertension-treatment__steps {
    margin-block-start: 1.75rem;
    margin-inline-start: 0;
  }
}

.p-hypertension {
  position: relative;
}

.p-inquiry {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry {
    padding-block: 3rem 4rem;
  }
}

.p-inquiry__lead {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-inquiry__lead {
    font-size: 0.9375rem;
    text-align: start;
  }
}

.p-inquiry__notice {
  max-width: 62.5rem;
  margin-inline: auto;
}

.p-inquiry__lead + .p-inquiry__notice {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry__lead + .p-inquiry__notice {
    margin-block-start: 1.5rem;
  }
}

.p-inquiry__form {
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry__form {
    margin-block-start: 2.5rem;
  }
}

.p-inquiry__button {
  position: relative;
  display: flex;
  justify-content: center;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry__button {
    margin-block-start: 2rem;
  }
}
.p-inquiry__button .wpcf7-spinner {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  margin: 0;
  translate: -50% 0;
}

.p-inquiry__placeholder {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}

.p-inquiry-thanks {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks {
    padding-block: 3rem 4rem;
  }
}

.p-inquiry-thanks__inner {
  text-align: center;
}

.p-inquiry-thanks__title {
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__title {
    font-size: 1.5rem;
  }
}

.p-inquiry-thanks__text {
  margin-block-start: 2.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__text {
    margin-block-start: 1.5rem;
    font-size: 0.875rem;
  }
}

.p-inquiry-thanks__button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
  margin-block-start: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__button {
    margin-block-start: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-inquiry-thanks__button--pair {
    flex-direction: column;
    align-items: stretch;
    width: min(100%, 17.5rem);
    margin-inline: auto;
  }
}
.p-inquiry-thanks__button--pair .c-outline-button {
  min-width: 17.5rem;
  min-height: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__button--pair .c-outline-button {
    min-width: 0;
  }
}

.p-inquiry-thanks__box {
  width: min(100%, 50rem);
  margin-block-start: 3rem;
  margin-inline: auto;
  padding: 2.25rem 3rem 2.5rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__box {
    margin-block-start: 2rem;
    padding: 1.5rem 1rem 1.75rem;
  }
}

.p-inquiry-thanks__box-text {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__box-text {
    font-size: 0.875rem;
  }
}

.p-inquiry-thanks__tel {
  display: flex;
  justify-content: center;
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__tel {
    margin-block-start: 1.5rem;
  }
}

.p-inquiry-thanks__box-note {
  margin-block-start: 2rem;
  padding-inline-start: 1em;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
  text-indent: -1em;
}

.p-inquiry-thanks__note {
  margin-block-start: 2rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-inquiry-thanks__note {
    padding-inline-start: 1em;
    text-align: start;
    text-indent: -1em;
  }
}

.p-inquiry-thanks__link {
  color: var(--color-secondary);
  text-decoration: underline;
}

.p-internal-checkup__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-checkup__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-checkup {
  padding-block: 6rem 0;
}
@media screen and (max-width: 767px) {
  .p-internal-checkup {
    padding-block: 3.5rem 0;
  }
}

.p-internal-checkup__text {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-internal-checkup__text {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
  }
}

.p-internal-checkup__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-internal-checkup__links {
    gap: 0.625rem;
    margin-block-start: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-internal-checkup__links > li {
    flex: 1 1 calc((100% - 0.625rem) / 2);
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-internal-checkup__links .c-arrow-button {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 3.5rem;
    padding-inline: 0.875rem 0.625rem;
    font-size: 0.875rem;
  }
}

.p-internal-consult__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-internal-consult__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-internal-consult {
  padding-block: 3.5rem 6rem;
}
@media screen and (max-width: 767px) {
  .p-internal-consult {
    padding-block: 1.5rem 3.5rem;
  }
}

.p-internal-consult__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-consult__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-consult__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-internal-consult__list {
    flex-direction: column;
    gap: 0.875rem;
    margin-block-start: 1.5rem;
  }
}
.p-internal-consult__list > li {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-internal-consult__list > li {
    flex-basis: calc((100% - 1.25rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-internal-consult__list > li {
    flex: none;
  }
}

.p-internal-consult__note {
  margin-block-start: 2rem;
  padding: 1.5rem 2rem;
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-internal-consult__note {
    margin-block-start: 1.25rem;
    padding: 1.125rem 1rem;
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

.p-internal-diseases__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-internal-diseases__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-internal-diseases__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-diseases__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-diseases {
  padding-block: 6rem;
}
@media screen and (max-width: 767px) {
  .p-internal-diseases {
    padding-block: 3.5rem;
  }
}

.p-internal-diseases__table {
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-internal-diseases__table {
    margin-block-start: 1.5rem;
  }
}

.p-internal-diseases__col-name {
  width: 13.75rem;
}

.p-internal-diseases__col-links {
  width: 14.375rem;
}

.p-internal-diseases__note {
  margin-block-start: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-internal-diseases__note {
    font-size: 0.8125rem;
  }
}

.p-internal-drip__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}
.p-internal-drip__actions .c-outline-button {
  min-width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__actions .c-outline-button {
    min-width: 0;
  }
}

.p-internal-drip__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-drip {
  padding-block: 6rem;
  background-color: var(--color-pink-20);
}
@media screen and (max-width: 767px) {
  .p-internal-drip {
    padding-block: 3.5rem;
  }
}

.p-internal-drip__body {
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
}
@media screen and (max-width: 1023px) {
  .p-internal-drip__body {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
  }
}

.p-internal-drip__photo {
  flex: 0 1 31.25rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius);
}
@media screen and (max-width: 1023px) {
  .p-internal-drip__photo {
    flex: none;
    align-self: center;
    width: min(100%, 31.25rem);
  }
}
.p-internal-drip__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.p-internal-drip__main {
  flex: 1 1 35rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-internal-drip__main {
    flex: none;
  }
}

.p-internal-drip__text {
  margin-block-start: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__text {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-internal-drip__list {
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__list {
    margin-block-start: 1.25rem;
  }
}

.p-internal-drip__note {
  margin-block-start: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-internal-drip__note {
    font-size: 0.8125rem;
  }
}

.p-internal-exams__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-internal-exams__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-internal-exams__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-exams__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-exams__table {
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-internal-exams__table {
    margin-block-start: 1.5rem;
  }
}

.p-internal-exams__table tbody th {
  width: 17.5rem;
}
@media screen and (max-width: 767px) {
  .p-internal-exams__table tbody th {
    width: 7rem;
  }
}

.p-internal-exams__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-internal-exams__links {
    gap: 0.625rem;
    margin-block-start: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-internal-exams__links > li {
    flex: 1 1 calc((100% - 0.625rem) / 2);
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-internal-exams__links .c-arrow-button {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 3.5rem;
    padding-inline: 0.875rem 0.625rem;
    font-size: 0.875rem;
  }
}

.p-internal-exams {
  padding-block: 6rem;
}
@media screen and (max-width: 767px) {
  .p-internal-exams {
    padding-block: 3.5rem;
  }
}

.p-internal-faq__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-faq__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-faq {
  padding-block: 5rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-internal-faq {
    padding-block: 3rem;
  }
}

.p-internal-faq__list {
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-internal-faq__list {
    margin-block-start: 1.5rem;
  }
}

.p-internal-intro {
  padding-block: 2.375rem 4.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-intro {
    padding-block: 2rem 3rem;
  }
}

.p-internal-intro__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-intro__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-intro__box {
  max-width: 66.5625rem;
  margin-inline: auto;
  padding: 2.375rem 2.75rem 3.25rem 3.625rem;
  background: var(--color-gray-20) url("../images/image_reviews_box_bg.webp");
}
@media screen and (max-width: 767px) {
  .p-internal-intro__box {
    padding: 1.75rem 1.125rem 2rem;
  }
}
.p-internal-intro__box .c-mark-heading {
  margin-inline-start: -1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-internal-intro__box .c-mark-heading {
    margin-inline-start: 0;
  }
}

.p-internal-intro__text {
  margin-block-start: 1.3125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.98;
}
@media screen and (max-width: 767px) {
  .p-internal-intro__text {
    font-size: 0.875rem;
    line-height: 1.83;
  }
}

.p-internal-intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-internal-intro__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-block-start: 1.5rem;
  }
}
.p-internal-intro__actions .c-outline-button {
  min-width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-intro__actions .c-outline-button {
    min-width: 0;
  }
}

.p-internal-symptoms__lead {
  margin-block-start: 1.75rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-internal-symptoms__lead {
    margin-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-internal-symptoms__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-internal-symptoms__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-internal-symptoms {
  padding-block: 5rem 6rem;
  background-color: var(--color-lime-50);
}
@media screen and (max-width: 767px) {
  .p-internal-symptoms {
    padding-block: 3rem 3.5rem;
  }
}

.p-internal-symptoms__list {
  margin-block-start: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-internal-symptoms__list {
    margin-block-start: 1.5rem;
  }
}

.p-internal {
  position: relative;
}

.p-medical {
  position: relative;
  z-index: 1;
  padding-block: 5.75rem 6.25rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-medical {
    padding-block: 2.625rem 2.75rem;
  }
}

.p-medical__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 77.375rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .p-medical__inner {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-medical__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-medical__heading {
  margin-inline-start: -1.4375rem;
}
@media screen and (max-width: 1023px) {
  .p-medical__heading {
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-medical__heading .c-section-heading__en {
    align-items: center;
    gap: 1.125rem;
  }
  .p-medical__heading .c-section-heading__en-text {
    margin-block-start: 0;
    font-size: 1rem;
  }
  .p-medical__heading #p-medical-title {
    margin-block-start: 1rem;
    margin-inline-start: 0.25rem;
    font-size: 2rem;
  }
}

.p-medical__heading-lead {
  margin-inline-start: 5.0625rem;
  margin-block-end: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-medical__heading-lead {
    margin-inline-start: 0.375rem;
    margin-block-start: 2rem;
    margin-block-end: 0;
    padding-inline: 0;
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}

.p-medical__grid {
  margin-block-start: 3.1875rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 35.1875rem));
  gap: 2.3125rem 1.9375rem;
  justify-content: center;
  width: min(100%, 72.375rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-medical__grid {
    margin-block-start: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-medical__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    width: min(37.5rem, 100%);
    max-width: 100%;
    margin-inline: auto;
  }
}

.p-medical__cat {
  position: relative;
  box-sizing: border-box;
  width: 35.1875rem;
  min-width: 0;
  max-width: 100%;
  padding: 8.5rem 1.5625rem 1.625rem;
  background-color: var(--color-white);
  border-radius: var(--radius);
  box-shadow: 0 0 3px rgb(244, 198, 220);
}
.p-medical__cat--wide {
  grid-column: 1/-1;
  width: min(100%, 72.375rem);
  padding-inline: clamp(1.5625rem, calc(8.3333333333 / 16 * 1rem) + 2.1701388889vw, 3.125rem);
}
@media screen and (max-width: 767px) {
  .p-medical__cat {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 6.75rem 0.8125rem 1.4375rem;
  }
}

.p-medical__cat-head {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  height: 7.0625rem;
}
.p-medical__cat-head::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 1.5625rem;
  height: 1px;
  background-color: var(--color-gray-270);
}
@media screen and (max-width: 767px) {
  .p-medical__cat-head {
    height: 5.875rem;
  }
  .p-medical__cat-head::after {
    inset-inline: 0.75rem;
  }
}

.p-medical__cat-media {
  position: absolute;
  inset-block-start: 1.125rem;
  inset-inline-start: 1.5625rem;
  overflow: hidden;
  width: 7.5625rem;
  height: 5.0625rem;
  border-radius: var(--radius);
}
.p-medical__cat-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-medical__cat-media {
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    width: 6.375rem;
    height: 4.25rem;
  }
}

.p-medical__cat-title {
  position: absolute;
  inset-block-start: 2.375rem;
  inset-inline-start: 11.1875rem;
  font-size: clamp(1.125rem, calc(8.8571428571 / 16 * 1rem) + 0.8928571429vw, 1.625rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-medical__cat-title {
    inset-block-start: 2.6875rem;
    inset-inline-start: 8.75rem;
    font-size: 1.375rem;
    transform: translateY(-50%);
  }
}

.p-medical__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 15.3125rem));
  gap: 1rem 1.5625rem;
}
@media screen and (max-width: 1023px) {
  .p-medical__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.p-medical__links--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 15.3125rem));
  gap: 1rem 1.625rem;
}
@media screen and (max-width: 1023px) {
  .p-medical__links--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .p-medical__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 0.6875rem;
    justify-content: start;
  }
  .p-medical__links--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-medical__link {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 4.0625rem;
  padding: 0.5rem 0.875rem 0.5rem clamp(3rem, calc(32 / 16 * 1rem) + 2.0833333333vw, 4.5rem);
  text-decoration: none;
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
  border-radius: 0.5rem;
  transition: background-color var(--duration);
}
@media (any-hover: hover) {
  .p-medical__link:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}
.p-medical__link--wide {
  width: 16.6875rem;
  max-width: 16.6875rem;
}
@media screen and (max-width: 1023px) {
  .p-medical__link--wide {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-medical__link {
    min-width: clamp(8.625rem, calc(124.6666666667 / 16 * 1rem) + 1.7361111111vw, 9.875rem);
    width: 100%;
    max-width: none;
    height: 4.0625rem;
    padding: 0 0.75rem 0 2.9375rem;
  }
  .p-medical__link--wide {
    grid-column: 1/-1;
    width: 100%;
    max-width: none;
    padding-inline: 6.5625rem 0.75rem;
  }
}

.p-medical__link-icon {
  position: absolute;
  inset-inline-start: clamp(1rem, calc(8.6666666667 / 16 * 1rem) + 0.9548611111vw, 1.6875rem);
  top: 50%;
  flex-shrink: 0;
  transform: translateY(-50%);
}
.p-medical__link-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-medical__link-icon--naika {
  width: clamp(1.25rem, calc(16.6666666667 / 16 * 1rem) + 0.4340277778vw, 1.5625rem);
}
.p-medical__link-icon--naika img {
  aspect-ratio: 25/28;
}
.p-medical__link-icon--gastro {
  width: clamp(1.375rem, calc(18 / 16 * 1rem) + 0.5208333333vw, 1.75rem);
}
.p-medical__link-icon--gastro img {
  aspect-ratio: 28/29;
}
.p-medical__link-icon--hifu {
  width: clamp(1.625rem, calc(21.3333333333 / 16 * 1rem) + 0.6076388889vw, 2.0625rem);
}
.p-medical__link-icon--hifu img {
  aspect-ratio: 33/20;
}
.p-medical__link-icon--biyou {
  width: clamp(1.375rem, calc(17.3333333333 / 16 * 1rem) + 0.6076388889vw, 1.8125rem);
}
.p-medical__link-icon--biyou img {
  aspect-ratio: 29/36;
}
.p-medical__link-icon--ikamera {
  width: clamp(1.5rem, calc(20 / 16 * 1rem) + 0.5208333333vw, 1.875rem);
}
.p-medical__link-icon--ikamera img {
  aspect-ratio: 1;
}
.p-medical__link-icon--daicho {
  width: clamp(1.5rem, calc(20 / 16 * 1rem) + 0.5208333333vw, 1.875rem);
}
.p-medical__link-icon--daicho img {
  aspect-ratio: 1;
}
.p-medical__link-icon--polyp {
  width: clamp(1.75rem, calc(21.3333333333 / 16 * 1rem) + 0.8680555556vw, 2.375rem);
}
.p-medical__link-icon--polyp img {
  aspect-ratio: 38/36;
}
.p-medical__link-icon--flow {
  width: clamp(1.25rem, calc(17.3333333333 / 16 * 1rem) + 0.3472222222vw, 1.5rem);
}
.p-medical__link-icon--flow img {
  aspect-ratio: 24/30;
}
.p-medical__link-icon--kenshin {
  width: clamp(1.5rem, calc(18.6666666667 / 16 * 1rem) + 0.6944444444vw, 2rem);
}
.p-medical__link-icon--kenshin img {
  aspect-ratio: 32/28;
}
.p-medical__link-icon--yobou {
  width: clamp(1.625rem, calc(20.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.125rem);
}
.p-medical__link-icon--yobou img {
  aspect-ratio: 34/33;
}
.p-medical__link-icon--ketsuatsu {
  width: clamp(1.5rem, calc(18.6666666667 / 16 * 1rem) + 0.6944444444vw, 2rem);
}
.p-medical__link-icon--ketsuatsu img {
  aspect-ratio: 1;
}
.p-medical__link-icon--tounyou {
  width: clamp(1.5rem, calc(20 / 16 * 1rem) + 0.5208333333vw, 1.875rem);
}
.p-medical__link-icon--tounyou img {
  aspect-ratio: 30/35;
}
.p-medical__link-icon--shishitsu {
  width: clamp(1.375rem, calc(18.6666666667 / 16 * 1rem) + 0.4340277778vw, 1.6875rem);
}
.p-medical__link-icon--shishitsu img {
  aspect-ratio: 27/40;
}
.p-medical__link-icon--tsufu {
  width: clamp(1.5rem, calc(18.6666666667 / 16 * 1rem) + 0.6944444444vw, 2rem);
}
.p-medical__link-icon--tsufu img {
  aspect-ratio: 32/36;
}
.p-medical__link-icon--sleep {
  width: clamp(2rem, calc(26.6666666667 / 16 * 1rem) + 0.6944444444vw, 2.5rem);
}
.p-medical__link-icon--sleep img {
  aspect-ratio: 40/30;
}
@media screen and (max-width: 767px) {
  .p-medical__link-icon {
    inset-inline-start: 0.75rem;
  }
  .p-medical__link-icon--naika {
    width: 1.3125rem;
  }
  .p-medical__link-icon--gastro {
    width: 1.5rem;
  }
  .p-medical__link-icon--hifu {
    width: 1.75rem;
  }
  .p-medical__link-icon--biyou {
    width: 1.5625rem;
  }
  .p-medical__link-icon--ikamera {
    width: 1.625rem;
  }
  .p-medical__link-icon--daicho {
    width: 1.625rem;
  }
  .p-medical__link-icon--polyp {
    width: 2rem;
  }
  .p-medical__link-icon--flow {
    width: 1.25rem;
  }
  .p-medical__link-icon--kenshin {
    width: 1.6875rem;
  }
  .p-medical__link-icon--yobou {
    width: 1.8125rem;
  }
  .p-medical__link-icon--ketsuatsu {
    width: 1.6875rem;
  }
  .p-medical__link-icon--tounyou {
    width: 1.625rem;
  }
  .p-medical__link-icon--shishitsu {
    width: 1.4375rem;
  }
  .p-medical__link-icon--tsufu {
    width: 1.6875rem;
  }
  .p-medical__link-icon--sleep {
    width: 2.125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-medical__link--wide .p-medical__link-icon {
    inset-inline-start: 3.75rem;
  }
}

.p-medical__link-label {
  flex: 1;
  min-width: 0;
  font-size: clamp(0.75rem, calc(7.4285714286 / 16 * 1rem) + 0.4464285714vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-medical__link-label {
    font-size: 1rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .p-medical__link-label--multiline {
    font-size: 0.875rem;
    line-height: 1.34;
  }
}

.p-medical__link-arrow {
  flex-shrink: 0;
  display: block;
  width: 0.5625rem;
  height: 0.75rem;
  margin-block-start: 0.1875rem;
  margin-inline-start: auto;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-medical__link-arrow {
    margin-block-start: 0;
  }
}
.p-medical__link-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 389px) {
  .p-medical__link {
    padding-inline: 2.5rem 0.375rem;
  }
  .p-medical__link-icon {
    inset-inline-start: 0.625rem;
  }
  .p-medical__link-icon--polyp {
    width: 1.75rem;
  }
  .p-medical__link-label--multiline {
    font-size: 0.8125rem;
    letter-spacing: 0;
    line-height: 1.3;
  }
  .p-medical__link--wide {
    padding-inline: 5.5rem 0.5rem;
  }
  .p-medical__link--wide .p-medical__link-icon {
    inset-inline-start: 3rem;
  }
  .p-medical__cat:nth-child(4) .p-medical__cat-title {
    font-size: 1.1875rem;
    letter-spacing: -0.02em;
  }
}
.p-mv {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: calc(16.25rem + 32.8125vw);
}
@media screen and (max-width: 1023px) {
  .p-mv {
    height: calc(6.25rem + 41.1458333333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-mv {
    height: calc(31.5rem + (100vw - 1.25rem) * 195 / 370);
  }
}

.p-mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-mv__bg {
    top: 5.4375rem;
  }
}

.p-mv__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-mv__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}
@media screen and (max-width: 767px) {
  .p-mv__bg img {
    object-position: center top;
  }
}

.p-mv__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 100vw);
  height: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-mv__inner {
    width: min(100%, 24.375rem);
  }
}

.p-mv__copy {
  position: absolute;
  top: calc(16.25rem + 2.6041666667vw);
  left: 14.5833333333%;
  z-index: 4;
  margin: 0;
  font-family: var(--ff-serif);
  font-size: 1.9791666667vw;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .p-mv__copy {
    top: calc(6.25rem + 10.9375vw);
  }
}
@media screen and (max-width: 767px) {
  .p-mv__copy {
    top: 7.5rem;
    left: 1.4375rem;
    right: 1.25rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
  }
}

.p-mv__copy-line {
  margin: 0;
}

.p-mv__copy-line--second {
  display: flex;
  align-items: center;
  gap: 1.1458333333vw;
  margin-block-start: 1.4583333333vw;
}
@media screen and (max-width: 767px) {
  .p-mv__copy-line--second {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-block-start: 0.75rem;
  }
}

.p-mv__copy-highlight {
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  min-height: 3.3333333333vw;
  padding-block: 0.2604166667vw 0.625vw;
  padding-inline: 1.1979166667vw;
  border-radius: var(--radius);
  background-color: #fc6f92;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-mv__copy-highlight {
    min-height: 2.6875rem;
    padding-block: 0.375rem 0.5rem;
    padding-inline: 0.75rem 1.125rem;
    border-radius: var(--radius);
    font-size: 1.5rem;
  }
}

.p-mv__copy-tail {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-mv__copy-tail {
    margin-block-start: 0rem;
  }
}

.p-mv__media {
  position: absolute;
  top: 13.25rem;
  right: 0;
  z-index: 1;
  width: 63.5416666667%;
  height: 33.3333333333vw;
}
@media screen and (max-width: 1023px) {
  .p-mv__media {
    top: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__media {
    top: 28.25rem;
    right: calc(50% - 50vw);
    left: calc(50% - 50vw + 1.25rem);
    width: auto;
    height: auto;
    aspect-ratio: 370/195;
  }
}

.p-mv__swiper {
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-start-start-radius: 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .p-mv__swiper {
    border-radius: 2.5rem 0 0 0;
  }
}

.p-mv__swiper .swiper-wrapper,
.p-mv__swiper .swiper-slide {
  height: 100%;
}

.p-mv__slide-image {
  display: block;
  width: 100%;
  height: 100%;
}

.p-mv__slide-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-mv__controls {
  position: absolute;
  right: 1.5625vw;
  bottom: 1.40625vw;
  z-index: 6;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  width: 3.75vw;
  height: 1.3541666667vw;
  border-radius: 52.03125vw;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-mv__controls {
    right: 1.3125rem;
    bottom: -2.1875rem;
    width: 4.375rem;
    height: 1.5625rem;
    border-radius: 62.4375rem;
  }
}

.p-mv__control {
  display: grid;
  place-items: center;
  flex: 1;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
}
.p-mv__control:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}

.p-mv__control::before {
  content: "";
  display: block;
  width: 0.4166666667vw;
  height: 0.5208333333vw;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-mv__control::before {
    width: 0.5rem;
    height: 0.625rem;
  }
}

.p-mv__control.js-mv-prev::before {
  width: 0.3645833333vw;
  height: 0.5208333333vw;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 10' fill='none'%3E%3Cpath d='M5.7 1 1.5 5l4.2 4' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .p-mv__control.js-mv-prev::before {
    width: 0.4375rem;
    height: 0.625rem;
  }
}

.p-mv__control.js-mv-next::before {
  width: 0.3645833333vw;
  height: 0.5208333333vw;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 10' fill='none'%3E%3Cpath d='m1.3 1 4.2 4-4.2 4' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .p-mv__control.js-mv-next::before {
    width: 0.4375rem;
    height: 0.625rem;
  }
}

.p-mv__control--pause::before {
  width: 0.4166666667vw;
  height: 0.5208333333vw;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10' fill='none'%3E%3Cpath fill='%23fff' d='M0.8 0.8h2v8.4h-2zM5.2 0.8h2v8.4h-2z'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .p-mv__control--pause::before {
    width: 0.5rem;
    height: 0.625rem;
  }
}

.p-mv__control--pause.is-paused::before {
  width: 0.4166666667vw;
  height: 0.5208333333vw;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 10' fill='none'%3E%3Cpath fill='%23fff' d='M1.2 0.8v8.4L7.4 5 1.2 0.8Z'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .p-mv__control--pause.is-paused::before {
    width: 0.5rem;
    height: 0.625rem;
  }
}

.p-mv__badges {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.p-mv__badge {
  position: absolute;
  border: 0.15625vw solid rgba(249, 123, 156, 0.3);
  border-radius: 50%;
  background-color: var(--color-white);
  color: #554740;
  text-align: center;
  box-shadow: 0 0.3125vw 1.0416666667vw oklch(from #554740 l c h/6%);
}
@media screen and (max-width: 767px) {
  .p-mv__badge {
    border-width: 0.125rem;
    box-shadow: 0 0.25rem 0.875rem oklch(from #554740 l c h/6%);
  }
}

.p-mv__badge--access {
  top: calc(16.25rem + 13.8020833333vw);
  left: 13.0208333333%;
  z-index: 1;
  width: 8.59375vw;
  height: auto;
  aspect-ratio: 1;
  padding: 2.0833333333vw 0.625vw 0.8333333333vw;
  color: var(--color-brown-690);
}
@media screen and (max-width: 1023px) {
  .p-mv__badge--access {
    top: calc(6.25rem + 22.1354166667vw);
  }
}
@media screen and (max-width: 767px) {
  .p-mv__badge--access {
    top: 21.375rem;
    left: 15.625rem;
    right: auto;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 7.5rem;
    padding: 1.25rem 0.5rem 0.6875rem;
  }
}

.p-mv__badge-access-station {
  margin: 0;
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-access-station {
    font-size: 0.875rem;
  }
}

.p-mv__badge-access-walk {
  translate: -0.3125vw 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0vw;
  margin-block-start: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-access-walk {
    translate: -0.25rem 0;
    gap: 0;
    margin-block-start: 0.625rem;
  }
}

.p-mv__badge-access-label {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.6041666667vw;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #f0d3bd;
  color: var(--color-brown-690);
  font-size: 0.9375vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-access-label {
    width: 2.1875rem;
    background-color: #f0d3bd;
    color: var(--color-brown-690);
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.p-mv__badge-access-num {
  display: flex;
  align-items: flex-end;
  gap: 0.2083333333vw;
  margin-block-start: 0.3125vw;
  font-family: var(--ff-serif);
  font-size: 2.8125vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-access-num {
    gap: 0.1875rem;
    margin-block-start: 0.25rem;
    font-size: 2.375rem;
  }
}

.p-mv__badge-access-unit {
  translate: 0 -0.2083333333vw;
  display: block;
  font-family: var(--ff-base);
  font-size: 1.0416666667vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-access-unit {
    translate: 0 -0.1875rem;
    font-size: 0.875rem;
  }
}

.p-mv__badge-panels {
  position: absolute;
  inset: 0;
}

.p-mv__badge-panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.p-mv__badge-panel.is-active {
  opacity: 1;
  visibility: visible;
}

.p-mv__badge--middle {
  top: calc(16.25rem + 10.625vw);
  left: 21.7708333333%;
  z-index: 2;
  width: 9.8958333333vw;
  height: 9.8958333333vw;
  align-content: center;
  gap: 0.4166666667vw;
  padding: 1.0416666667vw 0.8333333333vw 1.25vw;
}
@media screen and (max-width: 1023px) {
  .p-mv__badge--middle {
    top: calc(6.25rem + 18.9583333333vw);
  }
}
@media screen and (max-width: 767px) {
  .p-mv__badge--middle {
    top: 14.125rem;
    left: 13.125rem;
    right: auto;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 8.5625rem;
    height: 8.5625rem;
    gap: 0.375rem;
    padding: 0.875rem 0.6875rem 1.0625rem;
  }
}

.p-mv__badge--middle-checkup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4166666667vw;
  padding: 1.4583333333vw 0.625vw 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--middle-checkup {
    gap: 0.375rem;
    padding: 1.25rem 0.5rem 0.875rem;
  }
}

.p-mv__badge-checkup-item {
  position: relative;
  display: inline-block;
  z-index: 1;
  margin: 0;
  color: var(--color-brown-690);
  font-size: 1.1458333333vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-checkup-item {
    font-size: 1rem;
  }
}

.p-mv__badge-checkup-item--lead {
  font-size: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-checkup-item--lead {
    font-size: 0.875rem;
  }
}

.p-mv__badge-checkup-item::before {
  content: "";
  position: absolute;
  right: -0.2083333333vw;
  bottom: 0.1041666667vw;
  left: -0.2083333333vw;
  z-index: -1;
  height: 0.4166666667vw;
  border-radius: 0.1041666667vw;
  background: linear-gradient(90deg, #fa97a8 0%, var(--color-white) 50%, #4ed6c0 100%);
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-checkup-item::before {
    right: -0.1875rem;
    bottom: 0.0625rem;
    left: -0.1875rem;
    height: 0.375rem;
    border-radius: 0.0625rem;
  }
}

.p-mv__badge--middle-glow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0vw;
  padding-block-end: 1.6666666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--middle-glow {
    padding-block-end: 1.4375rem;
  }
}

.p-mv__badge--middle-glow .p-mv__badge-list-item::before {
  content: "";
  position: absolute;
  right: -0.3125vw;
  bottom: 0.1041666667vw;
  left: -0.3125vw;
  z-index: -1;
  height: 0.5208333333vw;
  border-radius: 0.1041666667vw;
  background: linear-gradient(90deg, #fa97a8 0%, var(--color-white) 50%, #4ed6c0 100%);
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--middle-glow .p-mv__badge-list-item::before {
    right: -0.25rem;
    bottom: 0.0625rem;
    left: -0.25rem;
    height: 0.4375rem;
    border-radius: 0.0625rem;
  }
}

.p-mv__badge-phrase {
  display: inline-block;
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-phrase {
    font-size: 1.0625rem;
    line-height: 1.1;
  }
}

.p-mv__badge-phrase::before {
  content: "";
  position: absolute;
  right: -0.4166666667vw;
  bottom: 0.15625vw;
  left: -0.4166666667vw;
  z-index: -1;
  height: 0.3125vw;
  border-radius: 0.1041666667vw;
  background: linear-gradient(90deg, #fa97a8 0%, var(--color-white) 50%, #4ed6c0 100%);
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-phrase::before {
    right: -0.375rem;
    bottom: 0.125rem;
    left: -0.375rem;
    height: 0.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-mv__badge-phrase--pink::before {
    background: #fa97a8;
    opacity: 0.55;
  }
}

@media screen and (max-width: 767px) {
  .p-mv__badge-phrase--mint::before {
    background: #7ed6d0;
    opacity: 0.5;
  }
}

.p-mv__badge-list-item {
  position: relative;
  display: inline-block;
  z-index: 1;
  margin: 0;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.33;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-list-item {
    font-size: 1.0625rem;
  }
}

.p-mv__badge-list-item--pink::before,
.p-mv__badge-list-item--green::before,
.p-mv__badge-list-item--blue::before {
  content: "";
  position: absolute;
  right: -0.1041666667vw;
  bottom: 0.1041666667vw;
  left: -0.1041666667vw;
  z-index: -1;
  height: 0.5208333333vw;
  border-radius: 0.1041666667vw;
  opacity: 0.55;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-list-item--pink::before,
  .p-mv__badge-list-item--green::before,
  .p-mv__badge-list-item--blue::before {
    right: -0.0625rem;
    bottom: 0.0625rem;
    left: -0.0625rem;
    height: 0.4375rem;
    border-radius: 0.0625rem;
  }
}

.p-mv__badge-list-item--pink::before {
  background-color: #f9c7d8;
}

.p-mv__badge-list-item--green::before {
  background-color: #a8e6cf;
}

.p-mv__badge-list-item--blue::before {
  background-color: #a2d5d2;
}

.p-mv__badge--large {
  top: calc(16.25rem + 10.4166666667vw);
  left: 30.7291666667%;
  z-index: 3;
  width: 15.2083333333vw;
  height: 15.2083333333vw;
  padding: 2.34375vw 1.4583333333vw 1.6666666667vw;
  background-color: var(--color-white);
  box-shadow: 0 0 0.46875vw #fed8e2;
}
@media screen and (max-width: 1023px) {
  .p-mv__badge--large {
    top: calc(6.25rem + 18.75vw);
  }
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large {
    top: 16.0625rem;
    left: 1.6875rem;
    right: auto;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 12.875rem;
    height: 12.875rem;
    padding: 2rem 1.25rem 1.4375rem;
    box-shadow: 0 0 0.375rem #fed8e2;
  }
}

.p-mv__badge--large-endoscope {
  background: linear-gradient(to bottom, #beebeb 0%, #beebeb 16%, var(--color-white) 40%, var(--color-white) 100%);
}

.p-mv__badge--large-lifestyle {
  display: flex;
  flex-direction: column;
  padding: 2.7083333333vw 1.6666666667vw 2.0833333333vw;
  border-color: #fed8e2;
  background: linear-gradient(to bottom, #beebeb 0%, #beebeb 18%, #d9f4f4 28%, var(--color-white) 42%, var(--color-white) 100%);
  color: var(--color-brown-690);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle {
    padding: 2.3125rem 1.4375rem 1.75rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-head--row {
  translate: -0.625vw 0;
  gap: 0.625vw;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-head--row {
    translate: -0.5rem 0;
    gap: 0.5rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-icon--lifestyle {
  width: 3.0729166667vw;
  height: 2.6041666667vw;
  margin: 0;
  filter: drop-shadow(0 0 0.1041666667vw #049b9b);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-icon--lifestyle {
    width: 2.625rem;
    height: 2.1875rem;
    filter: drop-shadow(0 0 0.0625rem #049b9b);
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-title {
  margin: 0;
  color: var(--color-brown-690);
  font-size: 1.3541666667vw;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-title {
    font-size: 1.125rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-stat {
  gap: 0.625vw;
  margin-block-start: 1.3020833333vw;
  translate: -0.4166666667vw 0;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-stat {
    gap: 0.5rem;
    margin-block-start: 1.125rem;
    translate: -0.375rem 0;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-label {
  display: inline-grid;
  place-items: center;
  align-content: center;
  gap: 0.2083333333vw;
  width: 3.4375vw;
  height: 3.4375vw;
  aspect-ratio: auto;
  background-color: var(--color-brown-690);
  color: var(--color-white);
  font-size: 1.0416666667vw;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-label {
    gap: 0.1875rem;
    width: 2.9375rem;
    height: 2.9375rem;
    font-size: 0.875rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-label span {
  display: block;
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-num-wrap {
  margin-block-start: -0.3125vw;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-num-wrap {
    margin-block-start: -0.25rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-num {
  font-size: 3.8541666667vw;
  line-height: 1;
  color: var(--color-brown-690);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-num {
    font-size: 3.25rem;
  }
}

.p-mv__badge--large-lifestyle .p-mv__badge-large-unit {
  translate: -0.3125vw 0vw;
  font-size: 1.3541666667vw;
  font-weight: 700;
  line-height: 1;
  color: var(--color-brown-690);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-lifestyle .p-mv__badge-large-unit {
    translate: -0.25rem 0;
    font-size: 1.125rem;
  }
}

.p-mv__badge--large-checkup {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2083333333vw;
  padding: 2.0833333333vw 0.9375vw 2.2916666667vw;
  border-color: #fed8e2;
  background: linear-gradient(to bottom, #ffe8c1 0%, #ffe8c1 16%, var(--color-white) 36%, var(--color-white) 100%);
  color: var(--color-brown-690);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-checkup {
    gap: 0.1875rem;
    padding: 1.75rem 0.8125rem 1.9375rem;
  }
}

.p-mv__badge--large-checkup .p-mv__badge-icon,
.p-mv__badge--large-checkup .p-mv__badge-icon--checkup {
  position: absolute;
  top: 0.8333333333vw;
  left: 50%;
  translate: calc(-50% - 0.2083333333vw) 0;
  width: 3.0208333333vw;
  height: 5.6770833333vw;
  margin: 0;
  filter: drop-shadow(0 0 0.1041666667vw #f2b777);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-checkup .p-mv__badge-icon,
  .p-mv__badge--large-checkup .p-mv__badge-icon--checkup {
    top: 0.6875rem;
    translate: calc(-50% - 0.1875rem) 0;
    width: 2.5625rem;
    height: 4.8125rem;
    filter: drop-shadow(0 0 0.0625rem #f2b777);
  }
}

.p-mv__badge--large-checkup .p-mv__badge-large-title--serif {
  width: max-content;
  position: relative;
  max-width: 100%;
  margin: 0;
  margin-block-start: 0.9375vw;
  border-block-end: none;
  color: var(--color-brown-690);
  font-family: var(--ff-serif);
  font-size: 2.2395833333vw;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
}
.p-mv__badge--large-checkup .p-mv__badge-large-title--serif::before {
  content: "";
  position: absolute;
  right: -0.15625vw;
  bottom: 0.1041666667vw;
  left: -0.2604166667vw;
  height: 0.1041666667vw;
  background-color: var(--color-brown-690);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-checkup .p-mv__badge-large-title--serif {
    margin-block-start: 0.8125rem;
    font-size: 1.875rem;
  }
  .p-mv__badge--large-checkup .p-mv__badge-large-title--serif::before {
    right: -0.125rem;
    bottom: 0.0625rem;
    left: -0.25rem;
    height: 0.0625rem;
  }
}

.p-mv__badge--large-checkup .p-mv__badge-large-sub {
  margin: 0;
  margin-block-start: 0.2083333333vw;
  color: var(--color-brown-690);
  font-size: 1.7708333333vw;
  font-family: var(--ff-base);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-checkup .p-mv__badge-large-sub {
    margin-block-start: 0.1875rem;
    font-size: 1.5rem;
  }
}

.p-mv__badge-large-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-head {
    gap: 0.625rem;
  }
}

.p-mv__badge-large-head--row {
  gap: 0.3125vw;
}

.p-mv__badge-icon {
  display: block;
  flex-shrink: 0;
  width: 2.8645833333vw;
  height: 2.8125vw;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-icon {
    width: 2.4375rem;
    height: 2.375rem;
  }
}

.p-mv__badge--large-endoscope .p-mv__badge-icon {
  filter: drop-shadow(0 0 0.1041666667vw #049b9b);
}
@media screen and (max-width: 767px) {
  .p-mv__badge--large-endoscope .p-mv__badge-icon {
    filter: drop-shadow(0 0 0.0625rem #049b9b);
  }
}

.p-mv__badge-large-title {
  margin: 0;
  font-size: 1.3541666667vw;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-brown-690);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-title {
    font-size: 1.125rem;
    line-height: 1.35;
  }
}

.p-mv__badge-large-head--row .p-mv__badge-large-title {
  text-align: center;
}

.p-mv__badge-large-title--serif {
  padding-block-end: 0.3125vw;
  border-block-end: 1px solid #554740;
  font-family: var(--ff-serif);
  font-size: 1.4583333333vw;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-title--serif {
    padding-block-end: 0.25rem;
    font-size: 1.25rem;
  }
}

.p-mv__badge-large-stat {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.625vw;
  margin-block-start: 1.1458333333vw;
  translate: -0.4166666667vw 0;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-stat {
    gap: 0.5rem;
    margin-block-start: 1rem;
    translate: -0.375rem 0;
  }
}

.p-mv__badge-large-label {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 3.4375vw;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brown-690);
  color: var(--color-white);
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-label {
    width: 2.9375rem;
    font-size: 1.0625rem;
  }
}

.p-mv__badge-large-num-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-block-start: -0.4166666667vw;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-num-wrap {
    margin-block-start: -0.375rem;
  }
}

.p-mv__badge-large-num {
  font-family: var(--ff-serif);
  font-size: 3.8541666667vw;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-num {
    font-size: 3.25rem;
  }
}

.p-mv__badge-large-unit {
  translate: 0.7291666667vw 0.2083333333vw;
  display: block;
  font-size: 1.3541666667vw;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__badge-large-unit {
    translate: 0.625rem 0.1875rem;
    font-size: 1.125rem;
  }
}

.p-mv__badge-large-sub {
  margin: 0;
  font-family: var(--ff-serif);
  font-size: 1.0416666667vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-mv__flowers {
  position: absolute;
  bottom: 1.25vw;
  left: 2.34375vw;
  z-index: 2;
  width: 27.34375vw;
  height: 10.15625vw;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-mv__flowers {
    bottom: 0;
    left: -2.9375rem;
    width: 22.8125rem;
    height: auto;
    z-index: 0;
  }
}

.p-mv__flowers img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left bottom;
}
@media screen and (max-width: 767px) {
  .p-mv__flowers img {
    object-fit: cover;
    object-position: right start;
  }
}

.p-news-list {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-news-list {
    padding-block: 3rem 4rem;
  }
}

.p-news-list__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-list__filter-list {
    gap: 0.5rem;
  }
}

.p-news-list__filter-item {
  flex-shrink: 0;
}

.p-news-list__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  border: 1px solid var(--color-gray-170);
  border-radius: var(--radius);
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color var(--duration), color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-news-list__filter {
    padding-inline: 1rem;
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-news-list__filter:hover {
    opacity: 1;
    border-color: var(--color-primary);
    color: var(--color-primary);
  }
}

.p-news-list__filter.is-active {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media (any-hover: hover) {
  .p-news-list__filter.is-active:hover {
    opacity: 1;
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
  }
}

.p-news-list__list {
  margin-block-start: 3rem;
  border-block-start: 1px solid var(--color-gray-170);
}
@media screen and (max-width: 767px) {
  .p-news-list__list {
    margin-block-start: 2rem;
  }
}

.p-news-list__item {
  border-block-end: 1px solid var(--color-gray-170);
}

.p-news-list__link {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding-block: 1.75rem;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-news-list__link {
    gap: 0.75rem;
    padding-block: 1.125rem;
  }
}
@media (any-hover: hover) {
  .p-news-list__link:hover .p-news-list__heading {
    color: var(--color-primary);
    font-weight: 700;
  }
  .p-news-list__link:hover .p-news-list__arrow-icon {
    translate: 0.375rem 0;
  }
}

.p-news-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-news-list__meta {
    gap: 0.625rem;
  }
}

.p-news-list__date {
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-news-list__date {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}

.p-news-list__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.p-news-list__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 7.5rem;
  height: 1.75rem;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #ffdfe5;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-news-list__tag {
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.p-news-list__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-news-list__row {
    gap: 1rem;
  }
}

.p-news-list__heading {
  flex: 1;
  min-width: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.04em;
  transition: color var(--duration);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-news-list__heading {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.p-news-list__arrow {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  margin-block-start: 0.5rem;
}

.p-news-list__arrow-icon {
  width: 0.75rem;
  height: 1rem;
  background-color: var(--color-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16' fill='none'%3E%3Cpath d='M1.2 2L9.6 8L1.2 14' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: translate var(--duration);
}

.p-news-list__pagination {
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-news-list__pagination {
    margin-block-start: 2.5rem;
  }
}

.p-news-list__empty {
  margin-block-start: 3rem;
  padding-block: 3.75rem;
  color: var(--color-gray-600);
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-news-list__empty {
    margin-block-start: 2rem;
    padding-block: 2.5rem;
    font-size: 0.875rem;
  }
}

.p-page-mv {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 37.3125rem;
  padding-block: calc(var(--header-height) + 8.625rem) 1.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-page-mv {
    min-height: 16.4375rem;
    padding: calc(var(--header-height) + 2rem) 1.25rem 0.5rem;
  }
}

.p-page-mv__bg {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 74.84375%;
  height: 100%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-page-mv__bg {
    top: auto;
    bottom: 1.75rem;
    width: 100%;
    height: auto;
  }
}
.p-page-mv__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-page-mv__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}

.p-page-mv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-page-mv__inner {
    padding-inline: 0;
  }
}

.p-page-mv__title {
  font-family: var(--ff-serif);
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .p-page-mv__title {
    font-size: 1.75rem;
    line-height: 1.36;
  }
}

.p-page-mv .c-breadcrumb {
  position: absolute;
  left: 2.5rem;
  right: 2rem;
  bottom: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-page-mv .c-breadcrumb {
    position: static;
    margin-block-start: auto;
  }
}

.p-page-mv .c-breadcrumb__inner {
  width: auto;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.p-page-mv .c-breadcrumb__list {
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .p-page-mv .c-breadcrumb__list {
    width: max-content;
    margin-inline-start: auto;
  }
}

.p-page-mv .c-breadcrumb__item {
  font-weight: 500;
  letter-spacing: 0.02em;
}

.p-page {
  padding-block: 5rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-page {
    padding-block: 3rem 4rem;
  }
}

.p-page__lead {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-page__content {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
.p-page__content p + p {
  margin-block-start: 1.5rem;
}

.p-page__lead + .p-page__content {
  margin-block-start: 2rem;
}

.p-pagetop {
  position: fixed;
  right: 1.8125rem;
  bottom: 6.5625rem;
  z-index: 91;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.125rem;
  width: 3.4375rem;
  height: 3.4375rem;
  border-radius: 50%;
  background-color: #808080;
  color: var(--color-white);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--duration), visibility var(--duration);
}
@media screen and (max-width: 767px) {
  .p-pagetop {
    right: 0.875rem;
    bottom: 4.75rem;
    width: 3.375rem;
    height: 3.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pagetop {
    display: none;
  }
}

.p-pagetop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-pagetop__icon {
  display: none;
  width: 0.875rem;
  height: 0.875rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20aria-hidden='true'%3e%3cpath%20stroke='%23fff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M12%2018V6M6.5%2011.5%2012%206l5.5%205.5'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-pagetop__icon {
    display: block;
  }
}

.p-pagetop__text {
  width: 2.0625rem;
  font-size: max(0.625rem, 8px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-pagetop__text {
    width: auto;
    font-size: max(0.5rem, 8px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0em;
  }
}

.p-pickup {
  position: relative;
  z-index: 1;
  padding-block: 3.3125rem 2.5rem;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .p-pickup {
    padding-block: 2.5rem 2rem;
  }
}

.p-pickup__inner {
  margin-inline: auto;
}

.p-pickup__swiper {
  overflow: hidden;
}
@media (min-width: 1024px) {
  .p-pickup__swiper .swiper-slide {
    width: 38.375rem;
  }
}

.p-pickup__card {
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  aspect-ratio: 615/308;
  height: auto;
  border-radius: var(--radius);
  line-height: 0;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-pickup__card:hover .p-pickup__image {
    transform: scale(1.05);
  }
}

.p-pickup__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform var(--duration);
}

.p-pickup__nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.875rem;
  height: 2.5rem;
  margin-block-start: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__nav {
    gap: 1.75rem;
    margin-block-start: 0.625rem;
  }
}

.p-pickup__nav-btn {
  position: relative;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color var(--duration);
}
.p-pickup__nav-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5625rem;
  height: 0.5625rem;
  border-right: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
}
@media (any-hover: hover) {
  .p-pickup__nav-btn:hover {
    background-color: var(--color-primary);
  }
}

.p-pickup__nav-btn--prev {
  background-color: var(--color-gray-270);
}
.p-pickup__nav-btn--prev::before {
  transform: translate(-40%, -50%) rotate(135deg);
}

.p-pickup__nav-btn--next {
  background-color: var(--color-gray-270);
}
.p-pickup__nav-btn--next::before {
  transform: translate(-60%, -50%) rotate(-45deg);
}

.p-pickup__nav-status {
  display: flex;
  align-items: center;
  margin: 0;
  color: var(--color-primary);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.p-pickup__nav-sep {
  flex-shrink: 0;
  translate: 0 0.0625rem;
  width: 0.0625rem;
  height: 1.125rem;
  margin-inline: 0.5rem;
  background-color: currentColor;
}

.p-privacy-policy {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy {
    padding-block: 3rem 4rem;
  }
}

.p-privacy-policy__inner {
  width: min(100%, 62.5rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-privacy-policy__section + .p-privacy-policy__section {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__section + .p-privacy-policy__section {
    margin-block-start: 2rem;
  }
}

.p-privacy-policy__heading {
  position: relative;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid #acacac;
  color: var(--color-text);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-privacy-policy__heading::before {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 1023px) {
  .p-privacy-policy__heading {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__heading {
    padding-block-end: 0.625rem;
  }
}

.p-privacy-policy__texts {
  margin-block-start: 1rem;
}

.p-privacy-policy__text {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__text {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

.p-privacy-policy__text + .p-privacy-policy__text {
  margin-block-start: 0.5rem;
}

.p-privacy-policy__subheading {
  position: relative;
  margin-block-start: 1.5rem;
  padding-block: 0.2em;
  padding-inline: 1em 0;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-privacy-policy__subheading::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 3px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__subheading {
    margin-block-start: 1.25rem;
    font-size: 0.9375rem;
  }
}

.p-privacy-policy__list,
.p-privacy-policy__ordered-list {
  margin-block-start: 0.75rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__list,
  .p-privacy-policy__ordered-list {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}

.p-privacy-policy__list {
  list-style-type: disc;
}

.p-privacy-policy__ordered-list {
  list-style-type: decimal;
}

.p-privacy-policy__list-item + .p-privacy-policy__list-item {
  margin-block-start: 0.5rem;
}

.p-privacy-policy__notes {
  margin-block-start: 1rem;
}

.p-privacy-policy__note {
  color: var(--color-gray-600);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__note {
    font-size: 0.8125rem;
  }
}

.p-privacy-policy__contact {
  margin-block-start: 1.5rem;
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--color-gray-170);
  border-radius: var(--radius);
  background-color: var(--color-gray-40);
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__contact {
    padding: 1.25rem 1rem;
  }
}

.p-privacy-policy__contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  align-items: flex-start;
}
.p-privacy-policy__contact-row + .p-privacy-policy__contact-row {
  margin-block-start: 0.75rem;
}

.p-privacy-policy__contact-label {
  flex-shrink: 0;
  width: 4.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.75;
}

.p-privacy-policy__contact-value {
  flex: 1 1 0;
  min-width: 0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75;
}

.p-privacy-policy__contact-note {
  display: block;
  margin-block-start: 0.25rem;
  color: var(--color-gray-600);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.7;
}

.p-privacy-policy__link {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

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

.p-recruit-jobs {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: min(100%, 62.5rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit-jobs {
    gap: 2rem;
  }
}

.p-recruit-job {
  overflow: hidden;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
}

.p-recruit-job__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem 1.25rem;
  padding: 1.25rem 2rem;
  background-color: #fff3f6;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__head {
    padding: 1rem;
  }
}

.p-recruit-job__title {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__title {
    font-size: 1.125rem;
  }
}

.p-recruit-job__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-inline-start: auto;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__tags {
    margin-inline-start: 0;
  }
}

.p-recruit-job__tag {
  padding: 0.1875rem 0.9375rem;
  border: 1px solid #fbc6d4;
  border-radius: 6.25rem;
  background-color: var(--color-white);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__tag {
    padding-inline: 0.75rem;
    font-size: 0.75rem;
  }
}

.p-recruit-job__tag--open {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
}

.p-recruit-job__body {
  padding: 0.5rem 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__body {
    padding: 0.25rem 1rem 1.5rem;
  }
}

.p-recruit-job__row {
  display: flex;
  gap: 1.5rem;
  padding-block: 1rem;
  border-block-end: 1px dashed #e4d5d9;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__row {
    flex-direction: column;
    gap: 0.25rem;
    padding-block: 0.75rem;
  }
}

.p-recruit-job__label {
  flex-shrink: 0;
  width: 11.25rem;
  color: var(--color-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.7;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__label {
    width: auto;
    white-space: normal;
    font-size: 0.875rem;
  }
}

.p-recruit-job__value {
  flex: 1 1 0;
  min-width: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__value {
    font-size: 0.9375rem;
  }
}

.p-recruit-job__button {
  display: flex;
  justify-content: center;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__button {
    margin-block-start: 1.25rem;
  }
}

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

.p-recruit-job__button--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-recruit-job__button--sp {
    display: flex;
  }
}

.p-recruit-job__btn {
  position: relative;
  display: flex;
  align-items: center;
  width: min(100%, 20rem);
  min-height: 5rem;
  padding: 1rem 3.375rem 1rem 1.9375rem;
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-120);
  border-radius: var(--radius);
  transition: background-color var(--duration);
}
.p-recruit-job__btn:focus-visible {
  background-color: var(--color-pink-40);
}
@media (any-hover: hover) {
  .p-recruit-job__btn:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}

.p-recruit-job__btn-label {
  display: block;
  flex: 1;
  min-width: 0;
  padding-inline-end: 0.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: left;
}

.p-recruit-job__btn-arrow {
  position: absolute;
  top: 50%;
  right: 1.375rem;
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  transform: translateY(-50%);
}
.p-recruit-job__btn-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-recruit-environment {
  width: min(100%, 62.5rem);
  margin-inline: auto;
}

.p-recruit-entry {
  display: flex;
  gap: 2rem;
  padding: 3rem 2.5rem;
  background: url("../images/image_recruit_entry.webp") center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry {
    flex-direction: column;
    gap: 0.875rem;
    padding: 1.5rem 1rem 1.75rem;
  }
}

.p-recruit-entry__col {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 1.5rem 1.75rem 2rem;
  border: 1px solid var(--color-pink-280);
  border-radius: var(--radius);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-recruit-entry__col {
    flex: none;
    padding: 1.125rem 1.125rem 1.5rem;
  }
}

.p-recruit-entry__title {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry__title {
    font-size: 1.125rem;
  }
}

.p-recruit-entry__text {
  margin-block-start: 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry__text {
    margin-block-start: 0.75rem;
    font-size: 0.875rem;
  }
}

.p-recruit-entry__action {
  display: flex;
  align-self: stretch;
  justify-content: center;
  margin-block-start: auto;
  padding-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-entry__action {
    padding-block-start: 1.25rem;
  }
}

.p-reviews {
  padding-block: 1.9375rem 4.875rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-reviews {
    padding-block: 3.5rem 3rem;
  }
}

.p-reviews__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-reviews__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-reviews__box {
  position: relative;
  box-sizing: border-box;
  width: 75rem;
  max-width: 100%;
  min-height: 25.25rem;
  margin-inline: auto;
  border: 0.5625rem solid #c0e0f1;
  border-radius: var(--radius);
  background-color: var(--color-gray-20);
  background-image: url("../images/image_reviews_box_bg.webp");
  background-repeat: repeat;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-reviews__box {
    width: 100%;
    min-height: 0;
    border-width: 0.5rem;
    border-color: #b1d9ee;
    padding-block-end: 0.625rem;
  }
}

.p-reviews__body {
  position: relative;
  z-index: 1;
  width: clamp(21.0625rem, calc(-5.1353383459 / 16 * 1rem) + 44.5488721805vw, 35.875rem);
  max-width: 100%;
  padding-block: 3.125rem 2rem;
  padding-inline: clamp(2rem, calc(-6.977443609 / 16 * 1rem) + 5.0751879699vw, 3.6875rem) 0;
}
@media screen and (max-width: 767px) {
  .p-reviews__body {
    width: 100%;
    padding-block: 2.375rem 2.75rem;
    padding-inline: 1rem;
  }
}

.p-reviews__title {
  transform: translateY(-0.5rem);
  font-family: var(--ff-serif);
  font-size: clamp(1.5rem, calc(8.1203007519 / 16 * 1rem) + 2.0676691729vw, 2.1875rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.26;
}
@media screen and (max-width: 767px) {
  .p-reviews__title {
    transform: translateY(-0.4375rem);
    font-size: 1.375rem;
    line-height: 1.26;
  }
}

.p-reviews__em {
  display: inline;
}

.p-reviews__em-char {
  position: relative;
  display: inline-block;
}

.p-reviews__em-char::before {
  content: "";
  position: absolute;
  bottom: calc(100% + -0.25rem);
  left: 50%;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background-color: #d71373;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-reviews__em-char::before {
    bottom: calc(100% + -0.1875rem);
    width: 0.375rem;
    height: 0.375rem;
  }
}

.p-reviews__text {
  margin-block-start: 1rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-reviews__text {
    margin-block-start: 0.875rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5625rem;
  }
}

.p-reviews__button {
  margin-block-start: 3.6875rem;
  margin-inline-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-reviews__button {
    margin-block-start: 2.5rem;
    margin-inline-start: 0.3125rem;
  }
}

.p-reviews__link {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 25rem;
  max-width: 100%;
  height: 5.3125rem;
  padding-inline: clamp(7.5rem, calc(62.2556390977 / 16 * 1rem) + 7.5187969925vw, 10rem) 2.5rem;
  border: 0.0625rem solid var(--color-primary);
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--duration) ease;
}
@media (any-hover: hover) {
  .p-reviews__link:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}
@media screen and (max-width: 767px) {
  .p-reviews__link {
    width: 18.4375rem;
    max-width: 100%;
    height: 5.3125rem;
    padding-inline: 7.0625rem 2.5rem;
    line-height: 1.375rem;
  }
}

.p-reviews__phone {
  position: absolute;
  top: -1.8125rem;
  left: 0.875rem;
  width: clamp(5.5rem, calc(34.5864661654 / 16 * 1rem) + 6.954887218vw, 7.8125rem);
  height: auto;
  aspect-ratio: 125/100;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-reviews__phone {
    top: -0.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reviews__phone {
    top: -1.25rem;
    left: -0.8125rem;
    width: 6.875rem;
    height: 5.625rem;
  }
}

.p-reviews__link-text {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}

.p-reviews__link-arrow {
  position: absolute;
  top: 50%;
  right: clamp(1rem, calc(1.5639097744 / 16 * 1rem) + 1.8796992481vw, 1.625rem);
  translate: 0 -50%;
  display: block;
  width: 1.4375rem;
  height: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .p-reviews__link-arrow {
    right: 0.625rem;
  }
}
.p-reviews__link-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-reviews__collage {
  position: absolute;
  top: 0.25rem;
  right: 0;
  z-index: 0;
  width: clamp(19rem, calc(-134.8571428571 / 16 * 1rem) + 57.1428571429vw, 38rem);
  height: auto;
  aspect-ratio: 608/377;
  overflow: hidden;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .p-reviews__collage {
    position: relative;
    display: block;
    width: calc(100% - 0.625rem);
    height: auto;
    aspect-ratio: 325/132;
    margin-inline: auto;
  }
}

.p-reviews__collage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .p-reviews__collage img {
    object-fit: fill;
  }
}

.p-search {
  position: relative;
  z-index: 1;
  margin-block-start: -4.8125rem;
  padding-block: 2.5rem 6.25rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-search {
    background-color: var(--color-gray-40);
    margin-block: 0 1.75rem;
    padding-block: 0;
    border-radius: var(--radius-large);
  }
}

.p-search__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: min(75rem, 100% - 3rem);
  margin-inline: auto;
  padding: 1.9375rem 2rem 2.8125rem;
  background-color: var(--color-gray-40);
  border-radius: var(--radius-large);
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .p-search__inner {
    padding: 2.5rem 2rem 2.75rem;
    border-radius: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-search__inner {
    width: min(100%, 35rem + 1rem * 2);
    max-width: none;
    min-height: 25.0625rem;
    padding: 0.875rem 1rem 2.625rem;
    border-radius: var(--radius-large);
  }
}

.p-search__header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block-end: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-search__header {
    margin-block-end: 1.6875rem;
    padding-block-end: 1rem;
  }
}
.p-search__header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #cfcfd0;
}
.p-search__header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  z-index: 1;
  width: 13.25rem;
  height: 3px;
  background-color: var(--color-primary);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-search__header::after {
    width: 11.75rem;
  }
}

.p-search__en {
  color: var(--color-gray-120);
  font-family: var(--ff-serif);
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-search__en {
    margin-block-start: 0.5625rem;
    font-size: 2.5rem;
  }
}

.p-search__title {
  margin-block-start: 0.25rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-search__title {
    margin-block-start: 0.5rem;
    font-size: 1.25rem;
    transform: translateY(-0.625rem);
  }
}

.p-search__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 20.625rem));
  gap: 1.0625rem 1.5625rem;
  justify-content: center;
  margin-block-start: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-search__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-search__grid {
    grid-template-columns: repeat(2, minmax(0, 9.875rem));
    gap: 0.6875rem;
    justify-content: center;
  }
}

.p-search__btn {
  position: relative;
  display: flex;
  align-items: center;
  height: 5rem;
  padding: 0 1.375rem 0 1.9375rem;
  color: var(--color-text);
  text-decoration: none;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-120);
  border-radius: var(--radius);
  transition: background-color var(--duration);
}
.p-search__btn:focus-visible {
  background-color: var(--color-pink-40);
}
@media (any-hover: hover) {
  .p-search__btn:hover {
    opacity: 1;
    background-color: var(--color-pink-40);
  }
}
@media screen and (max-width: 767px) {
  .p-search__btn {
    width: 9.875rem;
    height: 4.0625rem;
    min-height: 4.0625rem;
    padding: 0.625rem 0.5rem 0.625rem 0.75rem;
    align-items: flex-start;
    border-color: var(--color-primary);
  }
}

.p-search__btn-label {
  display: block;
  flex: 1;
  min-width: 0;
  padding-inline-end: 1.625rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: left;
}
.p-search__btn-label--multiline {
  line-height: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-search__btn-label {
    padding-inline-end: 1.25rem;
    font-size: 1rem;
    line-height: 1rem;
  }
  .p-search__btn-label--multiline {
    line-height: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-search__btn-label-line {
    display: block;
  }
}

.p-search__btn-arrow {
  position: absolute;
  top: 50%;
  right: 1.375rem;
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  transform: translateY(-50%);
}
.p-search__btn-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-search__btn-arrow {
    top: auto;
    bottom: 1.3125rem;
    right: 0.5rem;
    width: 1.25rem;
    height: 1.25rem;
    transform: none;
  }
  .p-search__btn-arrow img {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.p-single {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-single {
    padding-block: 2.5rem;
  }
}

.p-single__inner {
  max-width: calc(var(--inner) + var(--padding-inner) * 2);
}

.p-single__subtitle {
  margin-block-end: 0.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-single__subtitle {
    margin-block-end: 0.75rem;
    font-size: 1rem;
  }
}

.p-single__title {
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .p-single__title {
    font-size: 1.375rem;
  }
}

.p-single--news .p-single__meta,
.p-single--column .p-single__meta {
  margin-block-start: 0;
}

.p-single--news .p-single__title,
.p-single--column .p-single__title {
  margin-block-start: 1rem;
}

.p-single__summary {
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 8px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__summary {
    margin-block-start: 2rem;
    padding-block: 1.25rem;
    padding-inline: 1.5rem;
    font-size: 1rem;
  }
}

.p-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin-block-start: 1rem;
  color: var(--color-border-gray);
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-single__meta {
    margin-block-start: 1.5rem;
  }
}

.p-single__author {
  display: inline-block;
  color: var(--color-text);
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-single__author {
    font-size: 1rem;
  }
}

.p-single__date {
  display: inline-block;
  font-weight: 500;
  color: var(--color-primary);
}

.p-single__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-single__category {
  display: inline-block;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-size: 0.75rem;
  text-decoration: none;
}

.p-single--news .p-single__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 7.5rem;
  height: 1.75rem;
  padding-block: 0;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #ffdfe5;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-single--news .p-single__category {
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.p-single--column .p-single__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 7.5rem;
  height: 1.75rem;
  padding-block: 0;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #bbe5d9;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__category {
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.p-single__thumbnail {
  overflow: hidden;
  margin-block-start: 2rem;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-single__thumbnail {
    margin-block-start: 3rem;
  }
}

.p-single__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  transition: scale 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-single__thumbnail img {
    border-radius: 12px;
  }
}

.p-single__featured-image {
  overflow: hidden;
  margin-block-start: 2rem;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-single__featured-image {
    margin-block-start: 3rem;
  }
}

.p-single__featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-single__featured-image img {
    border-radius: 12px;
  }
}

.p-single__content {
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-single__content {
    margin-block-start: 4rem;
  }
}
.p-single__content h1 {
  margin-block-start: 3rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .p-single__content h1 {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content h1 {
    margin-block-start: 4rem;
  }
}
.p-single__content h2 {
  position: relative;
  margin-block-start: 2.5rem;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid #acacac;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
}
.p-single__content h2::before {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 1023px) {
  .p-single__content h2 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content h2 {
    margin-block-start: 3.5rem;
    padding-block-end: 0.625rem;
  }
}
.p-single__content h3 {
  position: relative;
  margin-block-start: 2rem;
  padding-block: 0.2em;
  padding-inline: 1em 0;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
}
.p-single__content h3::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 3px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 1023px) {
  .p-single__content h3 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content h3 {
    margin-block-start: 2.5rem;
  }
}
.p-single__content h4 {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .p-single__content h4 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content h4 {
    margin-block-start: 2rem;
  }
}
.p-single__content h5 {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-family: var(--ff-serif);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .p-single__content h5 {
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content h5 {
    margin-block-start: 2rem;
  }
}
.p-single__content p {
  margin-block-start: 1rem;
  color: var(--color-text);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__content p {
    margin-block-start: 1.25rem;
  }
}
.p-single__content ul,
.p-single__content ol {
  margin-block-start: 1rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__content ul,
  .p-single__content ol {
    margin-block-start: 1.25rem;
    padding-inline-start: 2rem;
  }
}
.p-single__content ul {
  list-style-type: disc;
}
.p-single__content ol {
  list-style-type: decimal;
}
.p-single__content li {
  margin-block-start: 0.5rem;
  line-height: 1.8;
}
.p-single__content a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
.p-single__content a:hover {
  opacity: 0.8;
}
.p-single__content img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-single__content img {
    margin-block-start: 2rem;
  }
}
.p-single__content blockquote {
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1.5rem 1.5rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .p-single__content blockquote {
    margin-block-start: 2rem;
    padding-block: 1.25rem;
    padding-inline: 2rem 2rem;
  }
}
.p-single__content blockquote p {
  margin-block-start: 0;
}
.p-single__content code {
  padding-block: 0.125rem;
  padding-inline: 0.375rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-family: monospace;
  font-size: 0.875rem;
}
.p-single__content pre {
  overflow-x: auto;
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 8px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-family: monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content pre {
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
  }
}
.p-single__content pre code {
  padding-block: 0;
  padding-inline: 0;
  background-color: transparent;
}
.p-single__content table {
  width: 100%;
  margin-block-start: 1.5rem;
  border: 0.0625rem solid var(--color-border-gray);
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .p-single__content table {
    margin-block-start: 2rem;
  }
}
.p-single__content th,
.p-single__content td {
  padding-block: 0.75rem;
  padding-inline: 1rem;
  line-height: 1.6;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-single__content th,
  .p-single__content td {
    padding-block: 1rem;
    padding-inline: 1.25rem;
  }
}
.p-single__content th {
  background-color: var(--color-gray);
  color: var(--color-text);
  font-weight: 700;
}
.p-single__content td {
  color: var(--color-text);
}
.p-single__content hr {
  margin-block-start: 2rem;
  border: none;
  border-top: 0.0625rem solid #babcdd;
}
@media screen and (max-width: 767px) {
  .p-single__content hr {
    margin-block-start: 3rem;
  }
}
.p-single__content strong {
  color: var(--color-text);
  font-weight: 700;
}
.p-single__content em {
  font-style: italic;
}
.p-single__content .wp-block-buttons {
  margin-block-start: 1.5rem;
  text-align: center;
}
.p-single__content .wp-block-buttons a {
  background-color: var(--color-primary);
  color: var(--color-white);
  text-decoration: none;
}
.p-single__content .wp-block-table.wp-block-table,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  overflow-x: auto;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-single__content .wp-block-table.wp-block-table,
  .p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
    margin-block-start: 2rem;
  }
}
.p-single__content .wp-block-table.wp-block-table table,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table table {
  overflow: hidden;
  margin-block-start: 0;
  border: 1px solid #babcdd;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-single__content .wp-block-table.wp-block-table table,
  .p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table table {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content .wp-block-table.wp-block-table table:has(tr > :nth-child(4)),
  .p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table table:has(tr > :nth-child(4)) {
    min-width: 40rem;
  }
}
.p-single__content .wp-block-table.wp-block-table thead,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table thead {
  border: 0;
}
.p-single__content .wp-block-table.wp-block-table th,
.p-single__content .wp-block-table.wp-block-table td,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
  padding: 0.8125rem 0.5rem;
  border: 0;
  border-inline-end: 1px solid #babcdd;
  border-block-end: 1px solid #babcdd;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-single__content .wp-block-table.wp-block-table th,
  .p-single__content .wp-block-table.wp-block-table td,
  .p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th,
  .p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
    padding: 0.625rem 0.25rem;
  }
}
.p-single__content .wp-block-table.wp-block-table th:last-child,
.p-single__content .wp-block-table.wp-block-table td:last-child,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th:last-child,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td:last-child {
  border-inline-end: 0;
}
.p-single__content .wp-block-table.wp-block-table tbody tr:last-child > *,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table tbody tr:last-child > * {
  border-block-end: 0;
}
.p-single__content .wp-block-table.wp-block-table thead th,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table thead th {
  border-inline-end-color: var(--color-white);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: 500;
}
.p-single__content .wp-block-table.wp-block-table tbody th,
.p-single__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table tbody th {
  background-color: var(--color-pink-20);
  text-align: start;
}

.p-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 3rem;
  padding-block: 1.5rem;
  border-top: 0.0625rem solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .p-single__tags {
    margin-block-start: 4rem;
    padding-block: 2rem;
  }
}

.p-single__tag {
  display: inline-block;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-accent);
  font-size: 0.75rem;
  text-decoration: none;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-single__tag {
    font-size: 0.875rem;
  }
}

.p-single__tag:hover {
  opacity: 0.8;
}

.p-single__tag--custom {
  color: var(--color-text);
  cursor: default;
}

.p-single__content-pagination {
  margin-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination {
    margin-block-start: 3rem;
  }
}

.p-single__content-pagination-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-inner {
    gap: 0.625rem;
  }
}

.p-single__content-pagination-prev {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-prev {
    text-align: center;
  }
}

.p-single__content-pagination-center {
  justify-self: center;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-center {
    justify-self: center;
  }
}

.p-single__content-pagination-next {
  min-width: 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-next {
    text-align: center;
  }
}

.p-single__content-pagination-link {
  color: var(--color-text);
  text-decoration: none;
  font-size: max(1rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-link {
    font-size: max(0.75rem, 8px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}
@media (any-hover: hover) {
  .p-single__content-pagination-link:hover {
    opacity: 0.7;
  }
}

.p-single--post .p-single__related {
  margin-block-start: 3rem;
  padding-block-start: 2rem;
  border-top: 0.0625rem solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related {
    margin-block-start: 4rem;
    padding-block-start: 3rem;
  }
}

.p-single--post .p-single__related-title {
  margin-block-end: 1.5rem;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-title {
    margin-block-end: 2rem;
    align-items: start;
  }
}
@media (any-hover: hover) {
  .p-single--post .p-single__related-title:hover {
    opacity: 0.7;
  }
}

.p-single--post .p-single__related-thumbnail {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 8px;
  background-color: var(--color-gray);
}
@media screen and (max-width: 600px) {
  .p-single--post .p-single__related-thumbnail {
    aspect-ratio: 4/3;
  }
}

.p-single--post .p-single__related-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-single--post .p-single__related-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-single--post .p-single__related-date {
  color: var(--color-text);
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-date {
    font-size: 0.875rem;
  }
}

.p-single--post .p-single__related-item-title {
  margin: 0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-item-title {
    font-size: 1rem;
  }
}

.p-supervisor {
  padding-block: 6.625rem 8.75rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-supervisor {
    padding-block: 3rem 2.5rem;
  }
}

.p-supervisor__inner {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-supervisor__inner {
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-supervisor__panel {
  display: flex;
  align-items: flex-start;
  gap: 2.75rem;
  margin-block-start: 1.9375rem;
  padding: 3.1875rem 2.5rem 3.0625rem 3.3125rem;
  background: radial-gradient(ellipse 55% 70% at 100% 100%, #eef6c8 0%, rgba(238, 246, 200, 0) 100%), linear-gradient(90deg, #fbf9fb 0%, #fff4f5 55%, #feeff2 100%);
}
@media screen and (max-width: 1023px) {
  .p-supervisor__panel {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 2.5rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-supervisor__panel {
    margin-block-start: 1rem;
  }
}

.p-supervisor__photo {
  flex: 0 1 23.125rem;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-large);
}
@media screen and (max-width: 1023px) {
  .p-supervisor__photo {
    flex: none;
    align-self: center;
    width: min(100%, 23.125rem);
  }
}
.p-supervisor__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-supervisor__body {
  flex: 1 1 41rem;
  min-width: 0;
  max-width: 41rem;
}
@media screen and (max-width: 1023px) {
  .p-supervisor__body {
    flex: none;
    max-width: none;
  }
}

.p-supervisor__tag {
  display: inline-flex;
  padding: 0.3125rem;
  background: linear-gradient(90deg, #d7b16a 0%, #c29a64 100%);
}

.p-supervisor__tag-text {
  padding: 0.5625rem 1.375rem;
  border: 1px solid var(--color-white);
  color: var(--color-white);
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.47;
}
@media screen and (max-width: 767px) {
  .p-supervisor__tag-text {
    padding-inline: 0.75rem;
    font-size: clamp(1rem, calc(-20 / 16 * 1rem) + 10vw, 1.1875rem);
  }
}

.p-supervisor__role {
  margin-block-start: 1.4375rem;
  font-family: var(--ff-serif);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.021em;
  line-height: 1.26;
}

.p-supervisor__name {
  margin-block-start: 0.25rem;
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.26;
}
.p-supervisor__name span {
  margin-inline-start: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.26;
}

.p-supervisor__specialty {
  margin-block-start: 0.5625rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.021em;
  line-height: 2;
}

.p-supervisor__bio {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.021em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-supervisor__bio {
    margin-block-start: 0.5rem;
  }
}

.p-supervisor__cred {
  max-width: 36.6875rem;
  margin-block-start: 0.75rem;
  padding: 0.625rem 1.1875rem 0.75rem;
  border-radius: var(--radius);
  background-color: var(--color-white);
  color: var(--color-brown-690);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
.p-supervisor__cred span {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-supervisor__cred {
    font-size: clamp(0.875rem, calc(-10 / 16 * 1rem) + 6.6666666667vw, 1rem);
  }
}

.p-supervisor__button {
  margin-block-start: 1.625rem;
}

.p-symptom-side__cta {
  padding: 1.75rem 1.5rem;
  border-radius: var(--radius-large);
  border: 1px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-symptom-side__cta {
    padding: 1.5rem 1.25rem;
    border-radius: 0.75rem;
  }
}

.p-symptom-side__cta-title {
  font-family: var(--ff-serif);
  font-size: max(1.25rem, 8px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--color-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-symptom-side__cta-title {
    font-size: 1.125rem;
  }
}

.p-symptom-side__cta-text {
  margin-block-start: 0.75rem;
  font-size: max(0.8125rem, 8px);
  font-weight: 500;
  line-height: 1.8;
  color: #555;
}

.p-symptom-side__cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}

.p-symptom-side__tel {
  padding: 0.625rem 1rem;
  border: 1px solid var(--color-text);
  border-radius: var(--radius);
  background-color: var(--color-white);
  text-align: center;
}

.p-symptom-side__tel-number {
  font-family: var(--ff-serif);
  font-size: max(1.5rem, 8px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.07em;
}
.p-symptom-side__tel-number a {
  color: var(--color-text);
  white-space: nowrap;
}

.p-symptom-side__tel-label {
  margin-inline-end: 0.375rem;
  font-size: 1rem;
  letter-spacing: 0;
}

.p-symptom-side__tel-hours {
  margin-block-start: 0.125rem;
  font-family: var(--ff-serif);
  font-size: max(0.75rem, 8px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-text);
}

.p-symptom-side__cta-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
  font-size: 0.875rem;
}

.p-symptom-side__block {
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-symptom-side__block {
    margin-block-start: 2.5rem;
  }
}

.p-symptom-side__title {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid #e5e5e5;
  font-family: var(--ff-serif);
  font-size: max(1.25rem, 8px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-symptom-side__title {
    font-size: 1.125rem;
  }
}

.p-symptom-side__title-icon {
  flex-shrink: 0;
  width: 1.25rem;
  margin-block-start: -0.5rem;
}
.p-symptom-side__title-icon img {
  width: 100%;
  height: auto;
}

.p-symptom-side__links > li {
  border-block-end: 1px solid #eee;
}

.p-symptom-side__link {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0.25rem;
  font-size: max(0.9375rem, 8px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-symptom-side__link {
    font-size: 0.875rem;
  }
}

.p-symptom-side__link-arrow {
  flex-shrink: 0;
  width: 1.125rem;
}
.p-symptom-side__link-arrow img {
  width: 100%;
  height: auto;
}

.p-symptom-side__symptoms {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-block-start: 1rem;
}

.p-symptom-side__symptom {
  display: flex;
  gap: 0.875rem;
  align-items: center;
  padding: 0.5rem;
  border: 1px solid #eee;
  border-radius: var(--radius);
  background-color: var(--color-white);
  font-size: max(0.9375rem, 8px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
}
.p-symptom-side__symptom.is-current {
  border-color: #fbd3dd;
  background-color: var(--color-pink-20);
  color: var(--color-primary);
  font-weight: 700;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-symptom-side__symptom {
    font-size: 0.875rem;
  }
}

.p-symptom-side__thumb {
  flex-shrink: 0;
  overflow: hidden;
  width: 5.5rem;
  aspect-ratio: 5/3;
  border-radius: 0.25rem;
  background-color: var(--color-gray);
}

.p-symptom-side__thumb-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-symptom {
  padding-block: 1rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-symptom {
    padding-block: 0.5rem 4.5rem;
  }
}

.p-symptom__inner {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  justify-content: center;
  width: min(100%, 73.75rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-symptom__inner {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-symptom__inner {
    width: min(100%, 37.5rem);
    gap: 3.5rem;
    padding-inline: 1.25rem;
  }
}

.p-symptom__article {
  flex: 0 1 42.5rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-symptom__article {
    flex: none;
    width: min(100%, 42.5rem);
  }
}

.p-symptom__header {
  position: relative;
  padding-block: 3rem 2rem;
  border-block-end: 1px solid #e5e5e5;
}
.p-symptom__header::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 5rem;
  height: 2px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-symptom__header {
    padding-block: 2rem 1.5rem;
  }
}

.p-symptom__title {
  font-family: var(--ff-serif);
  font-size: max(1.875rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-symptom__title {
    font-size: 1.375rem;
  }
}

.p-symptom__supervised {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  margin-block-start: 1.25rem;
  font-size: max(0.875rem, 8px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-gray-600);
}
@media screen and (max-width: 767px) {
  .p-symptom__supervised {
    margin-block-start: 1rem;
    font-size: 0.8125rem;
  }
}

.p-symptom__supervised-label {
  flex-shrink: 0;
  padding: 0.0625rem 0.625rem;
  border-radius: 62.4375rem;
  background-color: var(--color-primary);
  font-size: max(0.75rem, 8px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: var(--color-white);
}

.p-symptom__content {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-symptom__content {
    margin-block-start: 1.5rem;
  }
}
.p-symptom__content h2,
.p-symptom__content h3,
.p-symptom__content h4,
.p-symptom__content h5 {
  font-family: var(--ff-serif);
  font-weight: 500;
}
.p-symptom__content .wp-block-image img {
  width: 100%;
  border-radius: var(--radius);
}
.p-symptom__content #ez-toc-container {
  margin-block-start: 2.5rem;
  padding: 1.75rem 2rem 1.25rem;
  border: 1px solid #fbd3dd;
  background-color: var(--color-pink-20);
}
@media screen and (max-width: 767px) {
  .p-symptom__content #ez-toc-container {
    margin-block-start: 2rem;
    padding: 1.25rem 1rem 0.75rem;
  }
}
.p-symptom__content .ez-toc-title-container {
  display: flex;
  align-items: center;
}
.p-symptom__content .ez-toc-title {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-block-start: 0;
  font-family: var(--ff-serif);
  font-size: max(1.125rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
.p-symptom__content .ez-toc-title::before {
  content: "目次";
  padding: 0.125rem 0.75rem;
  border-radius: 62.4375rem;
  background-color: var(--color-primary);
  font-family: var(--ff-base);
  font-size: max(0.75rem, 8px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-symptom__content .ez-toc-title {
    font-size: 1rem;
  }
}
.p-symptom__content .ez-toc-title-toggle {
  display: none;
}
.p-symptom__content .ez-toc-list {
  margin-block-start: 0.75rem;
  padding-inline-start: 0;
  list-style-type: "";
}
.p-symptom__content .ez-toc-list li {
  margin-block-start: 0;
  border-block-start: 1px dashed #f3c2cf;
}
.p-symptom__content .ez-toc-list li:first-child {
  border-block-start: 0;
}
.p-symptom__content .ez-toc-list a {
  position: relative;
  display: block;
  padding: 0.75rem 0.25rem 0.75rem 1.75rem;
  font-size: max(0.9375rem, 8px);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  text-decoration: none;
}
.p-symptom__content .ez-toc-list a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.25rem;
  width: 0.875rem;
  height: 0.4375rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 7'%3E%3Cpath fill='none' stroke='%23F97B9C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 3.5h12M10 .8l3 2.7-3 2.7'/%3E%3C/svg%3E") center/contain no-repeat;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .p-symptom__content .ez-toc-list a {
    padding-block: 0.625rem;
    font-size: 0.875rem;
  }
}

.p-symptom__supervisor {
  display: flex;
  gap: 1.75rem;
  align-items: flex-start;
  margin-block-start: 4.5rem;
  padding: 2rem 2.25rem;
  border-radius: var(--radius-large);
  background: radial-gradient(ellipse 55% 70% at 100% 100%, #eef6c8 0%, rgba(238, 246, 200, 0) 100%), linear-gradient(90deg, #fbf9fb 0%, #fff4f5 55%, #feeff2 100%);
}
@media screen and (max-width: 767px) {
  .p-symptom__supervisor {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    margin-block-start: 3.5rem;
    padding: 1.75rem 1.25rem;
    border-radius: 0.75rem;
  }
}

.p-symptom__supervisor-photo {
  flex-shrink: 0;
  overflow: hidden;
  width: 6rem;
  aspect-ratio: 1;
  border: 3px solid var(--color-white);
  border-radius: 50%;
  background-color: var(--color-white);
}
.p-symptom__supervisor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-symptom__supervisor-body {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-symptom__supervisor-body {
    flex: none;
    width: 100%;
  }
}

.p-symptom__supervisor-label {
  font-size: max(0.8125rem, 8px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-symptom__supervisor-label {
    text-align: center;
  }
}

.p-symptom__supervisor-name {
  margin-block-start: 0.25rem;
  font-family: var(--ff-serif);
  font-size: max(1.25rem, 8px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-symptom__supervisor-name {
    font-size: 1.0625rem;
    text-align: center;
  }
}

.p-symptom__supervisor-text {
  margin-block-start: 0.75rem;
  font-size: max(0.8125rem, 8px);
  font-weight: 500;
  line-height: 1.8;
  color: #555;
}

.p-symptom__supervisor-link {
  margin-block-start: 1rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-symptom__supervisor-link {
    display: flex;
    justify-content: center;
  }
}

.p-symptom__note {
  margin-block-start: 2rem;
  padding: 1rem 1.25rem;
  border-radius: var(--radius);
  background-color: #f7f7f7;
  font-size: max(0.8125rem, 8px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-gray-600);
}
@media screen and (max-width: 767px) {
  .p-symptom__note {
    margin-block-start: 1.5rem;
    padding: 0.875rem 1rem;
    font-size: 0.75rem;
  }
}

.p-symptom__side {
  flex: 1 1 21.25rem;
  min-width: 0;
  max-width: 25rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 1023px) {
  .p-symptom__side {
    flex: none;
    width: min(100%, 42.5rem);
    max-width: none;
    margin-block-start: 0;
  }
}

.p-topics {
  padding-block: 2.25rem 2.125rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-topics {
    padding-block: 2.875rem 0;
  }
}

@media screen and (max-width: 767px) {
  .p-topics .c-section-heading[data-size=sm] .c-section-heading__title {
    font-size: 1.625rem;
  }
}

.p-topics__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2.5rem, calc(17.3333333333 / 16 * 1rem) + 2.9513888889vw, 4.625rem);
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-topics__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    width: min(100%, 37.5rem);
    padding-inline: 1.25rem;
  }
}

.p-topics__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-block-end: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-topics__head {
    padding-block-end: 1.375rem;
  }
}

.p-topics__block--news .p-topics__head {
  border-block-end: 0.125rem solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-topics__block--news .p-topics__head {
    flex-direction: column;
    gap: 0;
    padding-block-end: 1.125rem;
  }
}

.p-topics__block--column .p-topics__head {
  border-block-end: 0.0625rem solid #4ca495;
}
@media screen and (max-width: 767px) {
  .p-topics__block--column .p-topics__head {
    padding-block-end: 1.5rem;
    border-block-end-width: 2px;
  }
}

.p-topics__heading {
  flex: 1 1 auto;
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .p-topics__block--news .p-topics__heading {
    width: 100%;
  }
}

.p-topics__block--news .p-topics__heading[data-align=left] .c-section-heading__icon {
  width: 1.875rem;
  height: 1.875rem;
  margin-inline-start: 0.75rem;
}

.p-topics__block--column .p-topics__heading[data-align=left] .c-section-heading__icon {
  width: 1.875rem;
  height: 1.875rem;
  margin-inline-start: 0.9375rem;
}

.p-topics__heading[data-align=left] .c-section-heading__en {
  gap: 1rem;
}

.p-topics__block--column .p-topics__heading[data-align=left] .c-section-heading__en {
  gap: 0.8125rem;
}

.p-topics__block--news .p-topics__heading[data-align=left] .c-section-heading__title {
  margin-block-start: 1.4375rem;
  margin-inline-start: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-topics__block--news .p-topics__heading[data-align=left] .c-section-heading__title {
    margin-inline-start: 0.375rem;
  }
}

.p-topics__block--column .p-topics__heading[data-align=left] .c-section-heading__title {
  margin-block-start: 1.4375rem;
  margin-inline-start: 0.375rem;
}

.p-topics__block--news .p-topics__more {
  margin-inline-end: clamp(0rem, calc(-6.6666666667 / 16 * 1rem) + 0.8680555556vw, 0.625rem);
}
@media screen and (max-width: 767px) {
  .p-topics__block--news .p-topics__more {
    align-self: flex-end;
    margin-block-start: 1rem;
    margin-inline-end: 0.3125rem;
  }
}

.p-topics__block--column .p-topics__more {
  margin-inline-end: clamp(0rem, calc(-4 / 16 * 1rem) + 0.5208333333vw, 0.375rem);
}
@media screen and (max-width: 767px) {
  .p-topics__block--column .p-topics__more {
    margin-block-start: 3.4375rem;
    margin-inline-end: 0.3125rem;
  }
}

.p-topics__more {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: clamp(0.625rem, calc(6.6666666667 / 16 * 1rem) + 0.4340277778vw, 0.9375rem);
  margin-block-start: 3.25rem;
  font-size: clamp(0.875rem, calc(12.6666666667 / 16 * 1rem) + 0.1736111111vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
}

.p-topics__more-text {
  display: block;
}

.p-topics__more-arrow {
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.p-topics__more-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-topics__news-list {
  margin-block-start: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-topics__news-list {
    margin-block-start: 1.25rem;
  }
}

.p-topics__news-item {
  height: 8.625rem;
  background-image: repeating-linear-gradient(to right, var(--color-gray-270) 0, var(--color-gray-270) 0.1875rem, transparent 0.1875rem, transparent 0.3125rem);
  background-repeat: repeat-x;
  background-position: 0.875rem bottom;
  background-size: 0.3125rem 1px;
}
@media screen and (max-width: 767px) {
  .p-topics__news-item {
    height: 8.625rem;
    background-position: 0.125rem bottom;
  }
  .p-topics__news-item:nth-child(n+4) {
    display: none;
  }
}

.p-topics__news-link {
  display: block;
  box-sizing: border-box;
  height: 100%;
  padding-block: 1.75rem 0;
  padding-inline: 1.0625rem 0.875rem;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-topics__news-link {
    padding-block: 1.3125rem 0;
    padding-inline: 0.125rem 0;
  }
}

.p-topics__news-meta {
  display: flex;
  align-items: center;
  gap: 2.6875rem;
}
@media screen and (max-width: 767px) {
  .p-topics__news-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6875rem;
  }
}

.p-topics__news-date {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.p-topics__news-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 7.5rem;
  height: 2.125rem;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #ffdfe5;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-topics__news-cat {
    font-weight: 500;
  }
}

.p-topics__news-title {
  margin-block-start: 1.3125rem;
  overflow: hidden;
  max-width: 31.625rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-topics__news-title {
    margin-block-start: 0.875rem;
    max-width: none;
    line-height: 1.44;
  }
}

@media (any-hover: hover) {
  .p-topics__news-link:hover .p-topics__news-title {
    color: var(--color-primary);
    font-weight: 700;
  }
}
.p-topics__column-list {
  margin-block-start: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-topics__column-list {
    margin-block-start: 0.4375rem;
  }
}

.p-topics__column-item {
  height: 11.6875rem;
  background-image: repeating-linear-gradient(to right, var(--color-gray-270) 0, var(--color-gray-270) 0.1875rem, transparent 0.1875rem, transparent 0.3125rem);
  background-repeat: repeat-x;
  background-position: 0.875rem bottom;
  background-size: 0.3125rem 1px;
}
@media screen and (max-width: 767px) {
  .p-topics__column-item {
    height: auto;
    min-height: 11.6875rem;
    background-position: 0.125rem bottom;
  }
}

.p-topics__column-link {
  display: grid;
  grid-template-columns: 9.4375rem minmax(0, 1fr);
  gap: 1.1875rem;
  box-sizing: border-box;
  height: 100%;
  padding-block: 1.0625rem 0;
  padding-inline: 1.375rem 1rem;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-topics__column-link {
    grid-template-columns: 9.375rem minmax(0, 1fr);
    gap: 1.3125rem;
    padding-block: 1.125rem 1.125rem;
    padding-inline: 0.0625rem 0.75rem;
  }
}

.p-topics__column-thumb {
  overflow: hidden;
  width: 9.4375rem;
  height: 9.4375rem;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-topics__column-thumb {
    width: 9.375rem;
    height: 9.375rem;
    border-radius: var(--radius);
  }
}

.p-topics__column-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-topics__column-body {
  position: relative;
  min-width: 0;
  padding-block-start: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-topics__column-body {
    padding-block-start: 0.125rem;
  }
}

.p-topics__column-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-inline-start: 0.125rem;
  min-width: 4.75rem;
  height: 2.125rem;
  padding-inline: 0.75rem;
  border-radius: 1.0625rem;
  background-color: #bbe5d9;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-topics__column-cat {
    margin-inline-start: 0;
    font-weight: 500;
  }
}

.p-topics__column-title {
  margin-block-start: 0.5625rem;
  padding-inline-end: 1.625rem;
  font-size: clamp(1rem, calc(14.6666666667 / 16 * 1rem) + 0.1736111111vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--duration);
}
@media screen and (max-width: 767px) {
  .p-topics__column-title {
    width: auto;
    max-width: none;
    margin-block-start: 0.375rem;
    line-height: 1.44;
  }
}

.p-topics__column-arrow {
  position: absolute;
  right: 0.25rem;
  bottom: clamp(1.25rem, calc(12 / 16 * 1rem) + 1.0416666667vw, 2rem);
  display: block;
  width: 1.625rem;
  height: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-topics__column-arrow {
    right: 0rem;
    bottom: -0.0625rem;
  }
}
.p-topics__column-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (any-hover: hover) {
  .p-topics__column-link:hover .p-topics__column-title {
    color: #4ca495;
  }
}
.p-vaccination-caution {
  width: min(100%, 62.5rem);
  margin-inline: auto;
}

@media (prefers-reduced-motion: reduce) {
  .u-fadeup {
    opacity: 1;
    transform: none;
  }
}

.u-fadeup--delay1 {
  --fadeup-delay: 0.12s;
}

.u-fadeup--delay2 {
  --fadeup-delay: 0.24s;
}

html.is-scroll-in-ready .u-fadeup {
  opacity: 0;
  transform: translateY(1.5rem);
}
html.is-scroll-in-ready .u-fadeup.is-inview {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition-delay: var(--fadeup-delay, 0s);
}
@media (prefers-reduced-motion: reduce) {
  html.is-scroll-in-ready .u-fadeup {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (width <= 767px) {
  [data-only-device=md] {
    display: none;
  }
}

@media (width >= 768px) {
  [data-only-device=sm] {
    display: none;
  }
}

@media (width <= 767px) {
  .u-pc-hidden {
    display: block;
  }
}
@media (width >= 768px) {
  .u-pc-hidden {
    display: none;
  }
}

.u-skip-link {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  padding: 0.75rem 1rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  background-color: var(--color-white);
  border: 2px solid var(--focus-ring-color);
}
.u-skip-link:not(:focus-visible) {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

@media (width >= 768px) {
  .u-sp-hidden {
    display: block;
  }
}
@media (width <= 767px) {
  .u-sp-hidden {
    display: none;
  }
}

.u-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
}