@charset "UTF-8";
/*! 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;
}
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}
.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}
.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}
.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}
.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}
.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}
.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}
.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}
.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}
.scroll-hint-shadow-wrap {
  position: relative;
}
.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after
 {
  opacity: 1;
  visibility: visible;
}
.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before
 {
  opacity: 1;
  visibility: visible;
}
:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
}
:where(p) {
  margin: 0;
}
/**
 * フォントの読み込み（Google Fonts 等）
 * → WordPress: wordpress/themes/{テーマ名}/functions-lib/func-enqueue.php
 *   （wp_enqueue_style で fonts.googleapis.com を指定）
 *
 * このファイルでは「読み込んだフォントの font-family 名」を変数で定義し、
 * SCSS 全体で var(--xxx) として参照する。
 */
@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 */
  --inner: min(1080px, 100%);
  --inner-sp: min(500px, 100%);
  --padding-inner: 20px;
  /* z-index */
  --z-index-header: 900;
  /* color（共通） */
  --color-white: #fff;
  --color-black: #000;
  --color-text: #0d2936;
  --color-gray: #f0f0f0;
  --color-border: #aaaaaf;
  --color-accent: #408f95;
  --color-primary: #234f5e;
  --color-secondary: #00f;
  --color-orange: #de8430;
  /* color（案件・トップFV 等で使用） */
  --color-navy-deep: #012b60;
  --color-navy-mid: #005d91;
  --color-navy-text: #1c2e45;
  --color-top-bar-bg: #f5f5f5;
  --color-mv-sp-top-bar-bg: #fff;
  --color-mv-sp-top-bar-border: #dae4f0;
  --color-mv-overlay: rgba(5, 32, 67, 0.4);
  --color-schedule-header-start: #005d91;
  --color-schedule-header-end: #012b60;
  --color-message-title: #003981;
  --color-message-accent: #003981;
  /* ボタン・アクセントと揃える青（STRENGTH見出し等） */
  --btn-color: #003981;
  --color-message-mid: #004a86;
  --color-concept-bg: #fafaf5;
  --color-faq-bg: #fafafa;
  --color-bg-light-blue: #F4FBFF;
  --color-primary-blue: #154E96;
  --color-bg-mid-blue: #7298C8;
  /* font-weight */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  /**
   * font-family
   * Google Fonts で Noto Sans JP を読み込む場合、family 名は "Noto Sans JP"
   */
  --font-family-noto-sans-jp: "Noto Sans JP", sans-serif;
  /* Futura PT の代替（Google Fonts: Jost） */
  --font-family-jost: "Jost", sans-serif;
  --base-font-family: "Local Noto Sans JP", var(--font-family-noto-sans-jp);
  --title-font-family: "Lato", sans-serif;
  --font-family-futura: "futura-pt", sans-serif;
  --to-rem: calc(tan(atan2(1px, var(--root-font-size))) * 1rem);
  /* transition duration */
  --duration: 0.3s;
  /* header height */
  --header-height: 64px;
}
@media screen and (width >= 768px) {
  :root {
    --header-height: 80px;
  }
}
html {
  font-size: 100%;
  overflow-x: clip;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
a[href^=tel] {
  text-decoration: none;
}
a {
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
}
a:hover {
  text-decoration: none;
}
img,
svg {
  vertical-align: middle;
}
img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
: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;
}
:where(ul, menu) {
  padding-inline-start: unset;
  list-style-type: "";
}
:where(ol) {
  padding-inline-start: 1.5em;
  list-style-type: decimal;
}
:focus:not(:focus-visible) {
  outline: none;
}
input[type=text] {
  font-size: 1rem;
  /* = 16px */
}
textarea {
  field-sizing: content;
}
body {
  color: var(--color-text);
  font-family: var(--base-font-family);
  font-weight: var(--fw-regular);
  overflow-x: clip;
  background: #fff;
}
.md {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .md {
    display: revert !important;
  }
}
.sm {
  display: revert !important;
}
@media screen and (min-width: 768px) {
  .sm {
    display: none !important;
  }
}
main {
  position: relative;
  z-index: 2;
  background: #fff;
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  main {
    margin-bottom: 100vh;
  }
}
.l-site-page {
  position: relative;
  z-index: 5;
  background: #fff;
  margin-bottom: 0;
}
.p-footer-cover {
  display: none;
}
@media screen and (min-width: 768px) {
  body.has-page-fixed-header:not(.is-page-fixed-header-hidden):not(.is-footer-cover-hidden) .p-footer-cover {
    display: block;
    position: fixed;
    inset-inline: 0;
    top: 0;
    bottom: 0;
    background: #fff;
    pointer-events: none;
    z-index: 4;
  }
}
body.has-page-fixed-header .l-site-page :is(section[id], div[id], h2[id], h3[id]) {
  scroll-margin-top: calc(var(--page-fixed-header-offset, 0px) + calc(24 * var(--to-rem)));
}
.js-footer-activate-point {
  height: 1px;
}
.l-header {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-header);
}
.l-main {
  margin-block-start: var(--header-height);
}
.news_button_wrap {
  padding-bottom: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news_button_wrap {
    padding-bottom: calc(120 * var(--to-rem));
  }
}
/* 共通：装飾SVG＋ラベル（リンクボタン） */
.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 300 * var(--to-rem));
  min-height: calc(70 * var(--to-rem));
  padding: 0;
  background: #003981;
  border-radius: calc(40 * var(--to-rem));
  color: #fff;
  text-decoration: none;
  transition: opacity var(--duration), background-color 0.28s cubic-bezier(0.33, 0, 0.2, 1);
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .button {
    width: calc(300 * var(--to-rem));
    height: calc(70 * var(--to-rem));
    min-height: calc(70 * var(--to-rem));
  }
}
.button.news_button {
  margin: 0 auto;
}
.button.news_button .button__icon {
  inset-inline-start: calc(20 * var(--to-rem));
  inset-inline-end: auto;
}
.button.news_button .button__arrow {
  transform: rotate(180deg);
}
.button.access__button {
  width: calc(226 * var(--to-rem));
  min-height: calc(60 * var(--to-rem));
  height: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .button.access__button {
    width: calc(300 * var(--to-rem));
    margin: 0 auto;
  }
}
.button:hover {
  background: #7298c8;
  color: #fff;
}
.button.first__button {
  width: calc(300 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .button.first__button {
    margin: 0 auto;
  }
}
.button.price__button {
  margin-top: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .button.price__button {
    margin: calc(30 * var(--to-rem)) auto 0;
  }
}
.button.adult_ortho_button {
  margin: calc(30 * var(--to-rem)) 0 0 calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .button.adult_ortho_button {
    margin: calc(30 * var(--to-rem)) auto 0;
  }
}
/* 装飾SVGはテキストより下のレイヤー */
.button__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.button__deco {
  position: absolute;
  inset-inline-start: calc(30 * var(--to-rem));
  inset-block-start: 50%;
  transform: translateY(calc(-50% - 3 * var(--to-rem)));
  line-height: 0;
  /* ホバー時は #92B4E0 の装飾 SVG を重ねて表示 */
}
.button__deco::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3csvg%20width='78'%20height='64'%20viewBox='0%200%2078%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.62898%2020.4699L3.54041%2022.2754L33.0269%2056.8015L35.1155%2054.9961L5.62898%2020.4699Z'%20fill='%2392B4E0'/%3e%3cpath%20d='M53.3734%2019.9669L23.8689%2054.4775L25.9565%2056.2841L55.461%2021.7735L53.3734%2019.9669Z'%20fill='%2392B4E0'/%3e%3cpath%20d='M48.6229%2063.6636L19.3156%2028.98L48.6229%20-54.2686L77.9303%2028.9898L48.6229%2063.6734V63.6636ZM22.4389%2028.4024L48.6229%2059.3857L74.8069%2028.4024L48.6229%20-45.9672L22.4389%2028.4024Z'%20fill='%2392B4E0'/%3e%3cpath%20d='M29.3074%2063.6636L0%2028.9898L29.3074%20-54.2686L58.6148%2028.9898L29.3074%2063.6734V63.6636ZM3.1234%2028.4024L29.3074%2059.3857L55.4914%2028.4024L29.3074%20-45.9672L3.1234%2028.4024Z'%20fill='%2392B4E0'/%3e%3c/svg%3e") no-repeat center/contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.button:hover .button__deco::after,
.button:focus-visible .button__deco::after {
  opacity: 1;
}
.button:hover .button__deco-image,
.button:focus-visible .button__deco-image {
  opacity: 0;
}
.button__deco-image {
  display: block;
  width: calc(78 * var(--to-rem));
  height: auto;
  max-height: calc(64 * var(--to-rem));
  object-fit: contain;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.button__deco-image.button__deco__access {
  height: calc(54 * var(--to-rem));
}
/* サービス3列目：インプラント用デコSVG */
.button__deco--implant {
  inset-inline-start: calc(24 * var(--to-rem));
  transform: translateY(calc(-50% - 2 * var(--to-rem)));
}
.button__deco--implant .button__deco-image {
  width: calc(63 * var(--to-rem));
  max-height: calc(95 * var(--to-rem));
}
.button__label {
  position: relative;
  z-index: 1;
  font-family: var(--base-font-family);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.75px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .button__label {
    letter-spacing: 1.5px;
  }
}
.button__icon {
  position: absolute;
  inset-inline-end: calc(20 * var(--to-rem));
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
}
.button__arrow {
  display: block;
  width: calc(9.857 * var(--to-rem));
  height: calc(8.065 * var(--to-rem));
  object-fit: contain;
}
.c-button {
  position: relative;
  display: inline-block;
  padding: calc(14 * var(--to-rem)) calc(60 * var(--to-rem));
  border: 1px solid currentcolor;
  background-color: var(--color-white);
  color: var(--color-black);
  font-size: calc(15 * var(--to-rem));
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.c-button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(20 * var(--to-rem));
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border-top: 2px solid var(--color-black);
  border-right: 2px solid var(--color-black);
  translate: 0 -50%;
  rotate: 45deg;
  transition: rotate 0.3s, translate 0.3s;
}
@media (any-hover: hover) {
  .c-button:hover::before {
    translate: 5px -50%;
  }
}
.c-button[data-color=black] {
  border-color: var(--color-black);
  background-color: var(--color-black);
  color: var(--color-white);
}
.c-button[data-color=black]::before {
  border-top: 2px solid currentcolor;
  border-right: 2px solid currentcolor;
}
.c-heading-line {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(10 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid linear-gradient(90deg, var(--btn-color, #003981) 0%, #7298c8 100%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-heading-line {
    font-size: calc(24 * var(--to-rem));
  }
}
.c-heading-line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(2 * var(--to-rem));
  background: linear-gradient(90deg, var(--btn-color, #003981) 0%, #7298c8 100%);
}
@media screen and (max-width: 767px) {
  .c-heading-line::after {
    height: calc(2 * var(--to-rem));
  }
}
.c-heading-line.c-heading-line_50 {
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-heading-line.c-heading-line_50 {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.c-heading-line.c-heading-line_20 {
  margin-bottom: calc(20 * var(--to-rem));
}
.c-heading-line.c-heading-line_30 {
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-heading-line.c-heading-line_30 {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.c-heading-line.c-heading-line_40 {
  margin-bottom: calc(40 * var(--to-rem));
}
.c-heading-line.c-heading-line_60 {
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-heading-line.c-heading-line_60 {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.c-heading-line.c-heading-line_70 {
  margin-bottom: calc(70 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-heading-line.c-heading-line_70 {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
/**
 * ページネーション共通コンポーネント
 *
 * 親（プロジェクト）から上書きする場合:
 *   - 呼び出し元で親クラスで 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-active-bg: #003981;
  --_pagination-active-text: var(--color-white, #fff);
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--to-rem));
}
.c-pagination--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-pagination--pc {
    display: flex;
  }
}
.c-pagination--sp {
  display: flex;
  width: 100%;
  max-width: calc(100vw - var(--padding-inner) * 2);
  margin-inline: auto;
  flex-wrap: nowrap;
  gap: clamp(calc(4 * var(--to-rem)), 1.1vw, calc(6 * var(--to-rem)));
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-pagination--sp {
    display: none;
  }
}
.c-pagination--sp .c-pagination__item {
  width: clamp(calc(32 * var(--to-rem)), 9vw, calc(36 * var(--to-rem)));
  height: clamp(calc(32 * var(--to-rem)), 9vw, calc(36 * var(--to-rem)));
  min-width: clamp(calc(32 * var(--to-rem)), 9vw, calc(36 * var(--to-rem)));
  font-size: clamp(calc(12 * var(--to-rem)), 3.7vw, calc(14 * var(--to-rem)));
  line-height: 1;
}
.c-pagination--sp .c-pagination__item[data-state=prev] {
  margin-right: clamp(calc(4 * var(--to-rem)), 1.1vw, calc(6 * var(--to-rem)));
}
.c-pagination--sp .c-pagination__item[data-state=next] {
  margin-left: clamp(calc(4 * var(--to-rem)), 1.1vw, calc(6 * var(--to-rem)));
}
.c-pagination--sp .c-pagination__item[data-state=dots] {
  margin-inline: clamp(calc(-4 * var(--to-rem)), -0.8vw, calc(-2 * var(--to-rem)));
  min-width: auto;
  width: auto;
  padding-inline: calc(2 * var(--to-rem));
}
.c-pagination__item[data-state=prev] {
  margin-right: calc(10 * var(--to-rem));
}
.c-pagination__item[data-state=next] {
  margin-left: calc(10 * var(--to-rem));
}
.c-pagination__item[data-state=dots] {
  margin-inline: calc(-10 * var(--to-rem));
}
.c-pagination__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(45 * var(--to-rem));
  height: calc(45 * var(--to-rem));
  aspect-ratio: 1/1;
  border: solid calc(1 * var(--to-rem)) #003981;
  border-radius: calc(50 * var(--to-rem));
  color: #003981;
  font-family: var(--font-family-futura);
  font-size: 16px;
  font-style: normal;
  font-weight: 450;
  line-height: 180%; /* 28.8px */
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
@media screen and (min-width: 768px) {
  .c-pagination__item {
    height: calc(44 * var(--to-rem));
    min-width: calc(44 * var(--to-rem));
    font-size: calc(15 * var(--to-rem));
  }
}
@media (any-hover: hover) {
  .c-pagination__item:hover:not([data-state=current]) {
    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: var(--fw-medium, 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-triangle {
  display: inline-block;
  width: calc(64 * var(--to-rem));
  aspect-ratio: 1/1;
  background-color: var(--color-black);
}
.c-triangle[data-direction=top] {
  clip-path: var(--clip-triangle-top);
}
.c-triangle[data-direction=bottom] {
  clip-path: var(--clip-triangle-bottom);
}
.c-triangle[data-direction=left] {
  clip-path: var(--clip-triangle-left);
}
.c-triangle[data-direction=right] {
  clip-path: var(--clip-triangle-right);
}
.c-triangle[data-direction=lower-left] {
  clip-path: var(--clip-triangle-lower-left);
}
.c-triangle[data-direction=upper-left] {
  clip-path: var(--clip-triangle-upper-left);
}
.c-triangle[data-direction=lower-right] {
  clip-path: var(--clip-triangle-lower-right);
}
.c-triangle[data-direction=upper-right] {
  clip-path: var(--clip-triangle-upper-right);
}
.p-first__inner {
  display: flex;
  gap: calc(80 * var(--to-rem));
  justify-content: flex-end;
  max-width: calc(1440 * var(--to-rem));
  width: 100%;
  margin: 0 auto calc(89 * var(--to-rem));
  padding-left: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner {
    padding: 0;
  }
}
.p-first__inner.p-staff-inner {
  padding-bottom: calc(0 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-staff-inner {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-first__inner_guide {
    margin-bottom: calc(60 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-first__inner {
    margin-bottom: calc(60 * var(--to-rem));
  }
}
.p-first__inner.p-first__inner_access {
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-first__inner_access {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-first__inner.p-first__inner_introduce {
  margin-bottom: calc(146 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-first__inner_introduce {
    margin-bottom: calc(100 * var(--to-rem));
    padding-bottom: 0;
  }
}
.p-first__inner.p-first_inner_contact {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-first__inner.p-first_inner_contact {
    margin-bottom: calc(100 * var(--to-rem));
    padding-bottom: 0;
  }
}
@media (max-width: 1199px) {
  .p-first__inner {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-first__inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    gap: calc(40 * var(--to-rem));
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-first__inner .p-first__content {
  padding-top: calc(80 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content {
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list {
    flex-wrap: wrap;
    gap: calc(12 * var(--to-rem));
    padding: 0 calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(5 * var(--to-rem));
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:first-child::before {
  display: none;
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item::before {
  content: "";
  display: block;
  width: calc(13 * var(--to-rem));
  height: calc(13 * var(--to-rem));
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='13'%20viewBox='0%200%2013%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.22515%206.7874L5.16265%2010.8499C5.1249%2010.8876%205.08009%2010.9176%205.03078%2010.938C4.98146%2010.9584%204.9286%2010.969%204.87523%2010.969C4.82185%2010.969%204.76899%2010.9584%204.71967%2010.938C4.67036%2010.9176%204.62555%2010.8876%204.5878%2010.8499C4.55006%2010.8122%204.52012%2010.7673%204.49969%2010.718C4.47926%2010.6687%204.46875%2010.6159%204.46875%2010.5625C4.46875%2010.5091%204.47926%2010.4562%204.49969%2010.4069C4.52012%2010.3576%204.55006%2010.3128%204.5878%2010.2751L8.36339%206.49998L4.5878%202.7249C4.51157%202.64867%204.46875%202.54529%204.46875%202.43748C4.46875%202.32968%204.51157%202.22629%204.5878%202.15006C4.66403%202.07383%204.76742%202.03101%204.87523%202.03101C4.98303%202.03101%205.08642%202.07383%205.16265%202.15006L9.22515%206.21256C9.26292%206.25029%209.29288%206.29509%209.31333%206.34441C9.33377%206.39373%209.34429%206.44659%209.34429%206.49998C9.34429%206.55337%209.33377%206.60623%209.31333%206.65555C9.29288%206.70487%209.26292%206.74967%209.22515%206.7874Z'%20fill='%231C2E45'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item__blue {
  color: var(--btn-color, #003981);
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__link {
  position: relative;
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child {
  text-decoration-line: none;
}
.p-first__inner .p-first__content .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child .p-breadcrumb__link::after {
  display: none;
}
.p-first__inner .p-first__content .p-first__title {
  color: var(--font_color, #1c2e45);
  font-size: calc(46 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 160%; /* 73.6px */
  letter-spacing: 2.3px;
  margin-bottom: calc(20 * var(--to-rem));
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content .p-first__title {
    font-size: calc(28 * var(--to-rem));
    white-space: normal;
    line-height: 1;
  }
}
.p-first__inner .p-first__content .p-first__title.p-first__title_doctor {
  line-height: 140%; /* 64.4px */
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content .p-first__title.p-first__title_doctor {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content .p-first__title {
    line-height: 140%;
  }
}
.p-first__inner .p-first__content .p-first__title span {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 38.4px */
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__content .p-first__title span {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-first__inner .p-first__content .p-first__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
}
.p-first__inner .p-first__image img {
  max-width: calc(650 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  border-radius: 0 0 0 calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first__inner .p-first__image img {
    max-width: calc(335 * var(--to-rem));
    margin-left: auto;
    display: block;
  }
}
.p-floor {
  background-color: var(--color-bg-light-blue);
  margin-top: calc(-140 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor {
    margin-top: 0;
  }
}
.p-floor.p-floor_about {
  margin-top: calc(0 * var(--to-rem));
}
.p-floor .p-floor__inner {
  padding: calc(180 * var(--to-rem)) 0 calc(120 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  margin: 0 auto;
  width: 100%;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
}
.p-floor .p-floor__inner .p-floor__en {
  color: #daa726;
  font-family: var(--font-family-futura);
  font-size: calc(20 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 20px */
  letter-spacing: 1px;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__en {
    font-size: calc(16 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__title {
  color: var(--btn-color, #003981);
  font-size: calc(42 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 42px */
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__title {
    font-size: calc(28 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__lead {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item {
  display: flex;
  gap: calc(50 * var(--to-rem));
  background-color: var(--color-white);
  border-radius: calc(10 * var(--to-rem));
  margin-bottom: calc(60 * var(--to-rem));
  padding: calc(60 * var(--to-rem)) calc(0 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item {
    flex-wrap: wrap;
    padding: calc(40 * var(--to-rem)) 0;
    margin-bottom: calc(50 * var(--to-rem));
    flex-direction: column-reverse;
    gap: calc(40 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item:last-child {
  margin-bottom: 0;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content.p-floor__content_implant {
  max-width: calc(667 * var(--to-rem));
  width: 100%;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__heading {
  color: var(--font_color, #1c2e45);
  font-size: calc(28 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 44.8px */
  margin-bottom: calc(20 * var(--to-rem));
  position: relative;
  padding-left: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__heading {
    font-size: calc(24 * var(--to-rem));
    padding-left: calc(30 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(0.6em);
  width: calc(30 * var(--to-rem));
  height: calc(5 * var(--to-rem));
  background: var(--gold, linear-gradient(23deg, #daa726 9.8%, #ffd364 92.65%));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__heading::before {
    width: calc(20 * var(--to-rem));
    height: calc(4 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap {
  padding-left: calc(50 * var(--to-rem));
  max-width: calc(540 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap {
    padding-inline: calc(10 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__text {
    margin-bottom: calc(30 * var(--to-rem));
    padding-left: calc(20 * var(--to-rem));
    max-width: calc(325 * var(--to-rem));
    width: 100%;
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__subheading {
  color: var(--btn-color, #003981);
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow {
  background-color: var(--color-bg-light-blue);
  padding: calc(25 * var(--to-rem)) calc(20 * var(--to-rem)) calc(30 * var(--to-rem)) calc(25 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow {
    padding: calc(25 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-floor__flow-title {
  color: #003981;
  font-size: calc(18 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 18px */
  padding-bottom: calc(12 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step {
  display: flex;
  margin-bottom: calc(20 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step {
    align-items: flex-start;
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step .p-access-route__step-number {
  width: calc(30 * var(--to-rem));
  height: calc(30 * var(--to-rem));
  background-color: #7298c8;
  color: #fff;
  font-family: var(--font-family-futura);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(50 * var(--to-rem));
  font-weight: 400;
  display: inline-flex;
  line-height: 200%; /* 30px */
  margin-right: calc(10 * var(--to-rem));
  position: relative;
  padding: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step .p-access-route__step-number {
    padding: 0 calc(11 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step .p-access-route__step-number::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%; /* ←丸の下から */
  transform: translateX(-50%);
  width: calc(1 * var(--to-rem));
  height: calc(100% + 20 * var(--to-rem));
  border-left: 2px dotted #7298c8;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step .p-access-route__step-text {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step:last-child {
  margin-bottom: calc(15 * var(--to-rem));
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-access-route__step:last-child .p-access-route__step-number::after {
  display: none;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-floor__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 150%; /* 19.5px */
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__content_wrap .p-floor__flow .p-floor__note span {
  display: inline-block;
  margin-right: calc(2 * var(--to-rem));
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__text_bottom {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  padding-left: calc(50 * var(--to-rem));
  max-width: calc(540 * var(--to-rem));
  width: 100%;
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__text_bottom.p-floor__text_bottom_implant {
  max-width: calc(667 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__text_bottom.p-floor__text_bottom_implant {
    max-width: calc(335 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__content .p-floor__text_bottom {
    padding-left: calc(30 * var(--to-rem));
    max-width: calc(335 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image {
    margin: 0 auto;
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image.p-floor__image_implant img {
  max-width: calc(350 * var(--to-rem));
  height: calc(260 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image.p-floor__image_implant img {
    max-width: none;
    height: auto;
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  height: calc(464 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img {
    margin: 0 auto;
    max-width: calc(325 * var(--to-rem));
    height: calc(200 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img.guide-03 {
  height: calc(300 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img.guide-03 {
    height: calc(200 * var(--to-rem));
    width: calc(325 * var(--to-rem));
  }
}
.p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img.guide-04 {
  height: calc(362 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-floor .p-floor__inner .p-floor__list .p-floor__item .p-floor__image img.guide-04 {
    height: calc(200 * var(--to-rem));
  }
}
.p-flow__item {
  padding-bottom: calc(60 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #dae4f0;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item {
    padding-bottom: 0;
    margin-bottom: calc(50 * var(--to-rem));
    border-bottom: none;
  }
}
.p-flow__item.parent {
  margin-top: calc(70 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item.parent {
    margin-top: calc(40 * var(--to-rem));
  }
}
.p-flow__item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none;
}
.p-flow__item .p-flow__step {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 38.4px */
  display: flex;
  align-items: center;
  margin-bottom: calc(3 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__step {
    font-size: calc(20 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-flow__item .p-flow__step .p-flow__number {
  color: #daa726;
  text-align: flex-start;
  font-family: var(--font-family-futura);
  font-size: calc(50 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 50px */
  letter-spacing: 2.5px;
  margin-right: calc(55 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__step .p-flow__number {
    font-size: calc(42 * var(--to-rem));
    margin-right: calc(15 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body {
  padding-left: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body {
    padding-left: 0;
  }
}
.p-flow__item .p-flow__body .p-flow__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(20 * var(--to-rem));
}
.p-flow__item .p-flow__body .p-flow__text.p-flow__text__second {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__text.p-flow__text__sec {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__text {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body .p-flow__contact {
  display: flex;
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__contact {
    flex-wrap: wrap;
    gap: calc(10 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item {
  background-color: var(--color-bg-light-blue);
  padding: calc(25 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
  max-width: calc(510 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item {
    padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__label {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 15px */
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__label {
    font-size: calc(14 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__tel {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__tel {
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__tel .p-flow__icon {
  width: calc(15 * var(--to-rem));
  object-fit: cover;
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__tel .p-flow__tel-number {
  color: var(--font_color, #1c2e45);
  text-align: right;
  font-family: var(--font-family-futura);
  font-size: calc(30 * var(--to-rem));
  font-weight: 450;
  line-height: 100%; /* 30px */
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__time {
  color: var(--font_color, #1c2e45);
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 13px */
  letter-spacing: 0.39px;
  display: flex;
  gap: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__time {
    font-size: calc(12 * var(--to-rem));
    gap: calc(5 * var(--to-rem));
    letter-spacing: 0;
  }
}
.p-flow__item .p-flow__body .p-flow__contact .p-flow__contact-item .p-flow__btn {
  max-width: calc(300 * var(--to-rem));
  width: 100%;
  display: block;
  text-align: center;
  position: relative;
  color: var(--color-white);
  background-color: var(--color-message-accent);
  padding: calc(23 * var(--to-rem)) 0;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 15px */
  letter-spacing: 0.75px;
  border-radius: calc(50 * var(--to-rem));
}
.p-flow__item .p-flow__body .p-flow__note {
  background-color: var(--color-bg-light-blue);
  padding: calc(25 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
}
.p-flow__item .p-flow__body .p-flow__note .p-flow__note-title {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: #dae4f0 solid calc(1 * var(--to-rem));
}
.p-flow__item.p-flow__item__flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-flow__item.p-flow__item__flex {
    flex-wrap: wrap;
  }
}
.p-flow__item .p-flow__content .p-flow__text {
  max-width: calc(800 * var(--to-rem));
  width: 100%;
  padding-left: calc(100 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__content .p-flow__text {
    padding-left: 0;
    font-size: calc(14 * var(--to-rem));
    margin-bottom: calc(15 * var(--to-rem));
  }
}
.p-flow__item .p-flow__image {
  max-width: calc(300 * var(--to-rem));
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-flow__item .p-flow__image {
    max-width: none;
  }
}
.p-price__table-wrapper {
  --price-table-scale: 1;
  border-radius: calc(10 * var(--to-rem));
  border: solid calc(1 * var(--to-rem)) #003981;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-price__table-wrapper {
    --price-table-scale: 0.7;
    overflow-x: hidden;
    overflow-y: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-price__table-wrapper .scroll-hint-icon-wrap {
    display: none;
  }
}
.p-price__table-wrapper .p-price__scroll-hint {
  width: calc(160 * var(--to-rem));
  background: rgba(0, 0, 0, 0.7);
  border-radius: calc(10 * var(--to-rem));
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(305 * var(--to-rem));
  padding: calc(22 * var(--to-rem)) calc(17 * var(--to-rem)) calc(16 * var(--to-rem));
}
.p-price__table-wrapper .p-price__scroll-hint .p-price__scroll-hint-icon {
  width: calc(42 * var(--to-rem));
  object-fit: cover;
  display: flex;
  justify-content: center;
  margin: 0 auto calc(5 * var(--to-rem));
}
.p-price__table-wrapper .p-price__scroll-hint .p-price__scroll-hint-text {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 25.2px */
}
.p-price__table-wrapper .p-price__table-wrap {
  max-width: calc(1140 * var(--to-rem));
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-price__table-wrapper .p-price__table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    touch-action: pan-y pan-x;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid {
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-price__table-wrapper .p-price__table-wrap .p-price-grid {
    min-width: calc(calc(1140 * var(--to-rem)) * var(--price-table-scale));
  }
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--five-col .p-price-grid__head,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--five-col .p-price-grid__group {
  grid-template-columns: 2.75fr 2.25fr 2.1fr 1.4fr 1.4fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--three-col .p-price-grid__head,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--three-col .p-price-grid__group {
  grid-template-columns: 3.95fr 4.85fr 2fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--three-col-implant .p-price-grid__head,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--three-col-implant .p-price-grid__group {
  grid-template-columns: 2.95fr 3.85fr 4fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group {
  grid-template-columns: 2.75fr 2.25fr 2.4fr 2.5fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head.p-price-grid__head--menu, .p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head.p-price-grid--four-col-price-wide,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group.p-price-grid__head--menu,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group.p-price-grid--four-col-price-wide {
  grid-template-columns: 3.95fr 2.85fr 2fr 2fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head.p-price-grid--four-col-price-wide--col-3,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group.p-price-grid--four-col-price-wide--col-3 {
  grid-template-columns: 3.95fr 4.85fr 2fr;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__title {
  background: var(--color-primary-blue);
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__title-text {
  margin: 0;
  color: var(--color-white);
  text-align: center;
  font-size: calc(calc(24 * var(--to-rem)) * var(--price-table-scale));
  font-weight: 600;
  line-height: 100%;
  padding: calc(calc(30 * var(--to-rem)) * var(--price-table-scale)) 0;
}
@media screen and (max-width: 767px) {
  .p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__title-text {
    text-align: left;
    padding-left: calc(28 * var(--to-rem));
  }
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__group {
  display: grid;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-spacer,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__category,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell {
  min-width: 0;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-spacer,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item {
  background: rgba(218, 228, 240, 0.4);
  border-top: solid calc(1 * var(--to-rem)) var(--color-message-title);
  border-bottom: solid calc(1 * var(--to-rem)) var(--color-message-title);
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-spacer.p-price-grid__head-item--menu,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--menu {
  border-top: none;
  background: #154e96;
  color: #fff;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-spacer.p-price-grid__head-item--category,
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--category {
  border-top: none;
  background: #154e96;
  color: #fff;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-spacer {
  border-right: solid calc(1 * var(--to-rem)) var(--color-message-title);
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-size: calc(calc(18 * var(--to-rem)) * var(--price-table-scale));
  font-weight: 600;
  line-height: 160%;
  padding: calc(calc(26 * var(--to-rem)) * var(--price-table-scale)) 0 calc(calc(25 * var(--to-rem)) * var(--price-table-scale)) calc(calc(30 * var(--to-rem)) * var(--price-table-scale));
  border-right: solid calc(1 * var(--to-rem)) var(--color-message-title);
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--col-1 {
  border-right: solid calc(1 * var(--to-rem)) var(--color-message-title);
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--col-5 {
  border-right: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--col-price {
  border-right: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head-item.p-price-grid__head-item--col-4 {
  border-right: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__category {
  margin: 0;
  grid-column: 1;
  grid-row: 1/span var(--row-count);
  color: var(--btn-color, #003981);
  font-size: calc(calc(20 * var(--to-rem)) * var(--price-table-scale));
  font-weight: 600;
  line-height: 160%;
  border-right: solid calc(1 * var(--to-rem)) #003981;
  border-bottom: solid calc(1 * var(--to-rem)) #003981;
  padding: calc(calc(20 * var(--to-rem)) * var(--price-table-scale)) calc(calc(20 * var(--to-rem)) * var(--price-table-scale)) calc(calc(20 * var(--to-rem)) * var(--price-table-scale)) calc(calc(40 * var(--to-rem)) * var(--price-table-scale));
  background: rgba(218, 228, 240, 0.4);
  display: flex;
  align-items: center;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__category.p-price-grid__category__last {
  border-bottom: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__category.p-price-grid__category--col-1 {
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 10px;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__category span {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(14px * var(--price-table-scale));
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 14px */
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__row {
  display: contents;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell {
  color: var(--font_color, #1c2e45);
  font-size: calc(calc(16 * var(--to-rem)) * var(--price-table-scale));
  font-weight: 400;
  line-height: 1.6;
  background-color: var(--color-white);
  padding: calc(calc(20 * var(--to-rem)) * var(--price-table-scale)) calc(calc(16 * var(--to-rem)) * var(--price-table-scale)) calc(calc(20 * var(--to-rem)) * var(--price-table-scale)) calc(calc(30 * var(--to-rem)) * var(--price-table-scale));
  border-right: solid calc(1 * var(--to-rem)) #003981;
  border-bottom: dotted calc(1 * var(--to-rem)) #003981;
  word-break: break-word;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell.p-price-grid__cell--col-5 {
  border-right: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell.p-price-grid__cell__beside {
  border-bottom: calc(1 * var(--to-rem)) solid #003981;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell.p-price-grid__cell__beside_bottom {
  border-bottom: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell.p-price-grid__cell--col-price {
  border-right: none;
}
.p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__cell.p-price-grid__cell__bottom {
  border-bottom: none;
}
.p-price__info {
  padding: calc(120 * var(--to-rem)) 0 calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price__info {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner {
    max-width: none;
    padding-inline: 0;
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box {
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box.p-price__info-box_drip {
  margin-bottom: 0;
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #003981;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--to-rem));
  max-width: calc(468 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  border: calc(3 * var(--to-rem)) solid #dae4f0;
  padding: calc(13 * var(--to-rem)) calc(40 * var(--to-rem));
  margin: calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons {
    padding: calc(10 * var(--to-rem)) calc(29 * var(--to-rem)) calc(8 * var(--to-rem));
    max-width: calc(345 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-01 {
  width: calc(85 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-01 {
    width: calc(62 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-02 {
  width: calc(67 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-02 {
    width: calc(49 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-03 {
  width: calc(50 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-03 {
    width: calc(36 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-04 {
  width: calc(120 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-04 {
    width: calc(92 * var(--to-rem));
  }
}
.p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 28px */
}
.whitening-caution {
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening-caution {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.whitening-caution .whitening-caution__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.whitening-caution .whitening-caution__inner .whitening-caution__intro {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening-caution .whitening-caution__inner .whitening-caution__intro {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.whitening-caution .whitening-caution__inner .whitening-caution__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--to-rem));
  justify-content: center;
}
.whitening-caution .whitening-caution__inner .whitening-caution__list .whitening-caution__item {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening-caution .whitening-caution__inner .whitening-caution__list .whitening-caution__item {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.whitening-caution .whitening-caution__inner .whitening-caution__list .whitening-caution__item .whitening-caution__item-title {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  line-height: 140%; /* 28px */
}
@media screen and (max-width: 767px) {
  .whitening-caution .whitening-caution__inner .whitening-caution__list .whitening-caution__item .whitening-caution__item-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.whitening-caution .whitening-caution__inner .whitening-caution__list .whitening-caution__item .whitening-caution__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
/**
 * セクション英字見出し + 日本語ラベル（複数セクションで再利用）
 */
/* SP: 60px / 3px letter | PC: 80px / 4px letter（Jost） */
.section__title-en {
  position: relative;
  margin: 0;
  color: var(--btn-color, #003981);
  text-align: center;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(60 * var(--to-rem));
  font-weight: 400;
  line-height: 100%;
  letter-spacing: calc(3 * var(--to-rem));
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .section__title-en {
    text-align: start;
    font-size: calc(80 * var(--to-rem));
    letter-spacing: calc(4 * var(--to-rem));
  }
}
.section__title-en[data-fill-text]:not(:has(.line)) {
  color: var(--section-title-fill-base, rgba(0, 57, 129, 0.2));
}
.section__title-en[data-fill-text]:not(:has(.line))::after {
  content: attr(data-fill-text);
  position: absolute;
  inset: 0;
  color: var(--section-title-fill-color, #003981);
  width: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: width 2.2s ease;
}
.section__title-en[data-fill-text]:not(:has(.line)).is-active::after {
  width: 100%;
}
.section__title-en:has(.line) .line + .line {
  margin-top: calc(4 * var(--to-rem));
}
.section__title-en:has(.line) br {
  display: none;
}
.section__title-en:has(.line) .line {
  position: relative;
  display: block;
  width: fit-content;
  margin-inline: auto;
  color: var(--section-title-fill-base, rgba(0, 57, 129, 0.2));
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .section__title-en:has(.line) .line {
    margin-inline: 0;
  }
}
.section__title-en:has(.line) .line::after {
  content: attr(data-fill-text);
  position: absolute;
  inset: 0;
  color: var(--section-title-fill-color, #003981);
  width: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: width 1s ease;
}
.section__title-en:has(.line).is-active .line:nth-of-type(1)::after {
  width: 100%;
}
.section__title-en:has(.line).is-active .line:nth-of-type(2)::after {
  width: 100%;
  transition-delay: 0.2s;
}
.section__label {
  margin: 0;
  margin-block-start: calc(15 * var(--to-rem));
  color: var(--btn-color, #003981);
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .section__label {
    margin-block-start: calc(15 * var(--to-rem));
    text-align: start;
  }
}
@media screen and (min-width: 1024px) {
  .section__label {
    color: var(--btn-color, #003981);
    font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
    font-size: calc(18 * var(--to-rem));
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
  }
}
.p-about-access {
  padding-block: calc(120 * var(--to-rem)) calc(120 * var(--to-rem));
  background: var(--color-white);
  color: var(--color-navy-text);
}
@media screen and (min-width: 768px) {
  .p-about-access {
    padding-block: calc(200 * var(--to-rem)) calc(170 * var(--to-rem));
  }
}
.p-about-access__inner {
  max-width: calc(1120px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-about-access__inner {
    padding-inline: var(--padding-inner);
  }
}
.p-about-access__header {
  text-align: center;
}
.p-about-access__header .section__title-en {
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-access__header .section__title-en {
    text-align: center;
  }
}
.p-about-access__header .section__title-en[data-fill-text]::after {
  transition-duration: 1.2s;
}
.p-about-access__header .section__label {
  margin: calc(16 * var(--to-rem)) 0 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-about-access__header .section__label {
    text-align: center;
  }
}
.p-about-access__lead {
  margin-block-start: calc(60 * var(--to-rem));
  max-width: 52em;
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-about-access__lead {
    margin-block-start: calc(50 * var(--to-rem));
  }
}
.p-about-access__lead-text {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1024px) {
  .p-about-access__lead-text {
    font-size: calc(16 * var(--to-rem));
    line-height: 2;
  }
}
.p-about-access__btn-wrap {
  display: flex;
  justify-content: center;
  margin-block-start: calc(40 * var(--to-rem));
}
.p-about-access__grid {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
  margin-block-start: calc(40 * var(--to-rem));
  align-items: stretch;
}
.p-about-access__grid .p-about-access__map {
  order: -1;
}
.p-about-access__grid .p-about-access__details {
  order: 1;
}
@media screen and (min-width: 1024px) {
  .p-about-access__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, calc(419 * var(--to-rem)));
    gap: calc(81 * var(--to-rem));
    margin-block-start: calc(100 * var(--to-rem));
    align-items: start;
  }
  .p-about-access__grid .p-about-access__map,
  .p-about-access__grid .p-about-access__details {
    order: unset;
  }
}
.p-about-access__dl {
  margin: 0;
}
.p-about-access__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: calc(20 * var(--to-rem));
  align-items: start;
  padding-block-start: calc(10 * var(--to-rem));
  padding-block-end: calc(35 * var(--to-rem));
  border-block-start: 1px solid rgba(0, 57, 129, 0.1);
}
@media screen and (min-width: 1024px) {
  .p-about-access__row {
    grid-template-columns: max-content minmax(0, 1fr);
    gap: calc(40 * var(--to-rem));
    padding-block-end: calc(30 * var(--to-rem));
  }
}
/* PC: 診療時間の dd は可変列いっぱいに伸ばす */
@media screen and (min-width: 1024px) {
  .p-about-access__row--clinic-name {
    gap: calc(55 * var(--to-rem));
  }
  .p-about-access__row--schedule .p-about-access__desc--schedule {
    width: 100%;
    min-width: 0;
  }
}
/* SP: 診療時間行のみ dt/dd を縦並び */
@media screen and (max-width: 1023px) {
  .p-about-access__row--clinic-name {
    gap: calc(30 * var(--to-rem));
  }
  .p-about-access__row--schedule {
    grid-template-columns: minmax(0, 1fr);
    gap: calc(10 * var(--to-rem));
    padding-block-end: 0;
  }
  .p-about-access__row--schedule .p-about-access__term,
  .p-about-access__row--schedule .p-about-access__desc--schedule {
    width: 100%;
    min-width: 0;
  }
}
.p-about-access__term {
  margin: 0;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media screen and (min-width: 1024px) {
  .p-about-access__term {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-about-access__desc {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1024px) {
  .p-about-access__desc {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-about-access__desc--wide {
  max-width: 33.75em;
}
.p-about-access__desc-line--emph {
  display: block;
  margin-block-start: calc(8 * var(--to-rem));
}
/* 行（グリッドセル）いっぱいに広げる（max-width 345/540 は親を狭めていた） */
.p-about-access__desc--schedule {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.p-about-access__schedule {
  width: 100%;
  min-width: 0;
}
.p-about-access__schedule-head {
  display: grid;
  box-sizing: border-box;
  /* SP: 左列は「診療日／時間」で幅を揃え、曜日8列は均等 */
  grid-template-columns: minmax(calc(88 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: calc(40 * var(--to-rem));
  padding-inline: calc(8 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(5 * var(--to-rem)) calc(5 * var(--to-rem)) 0 0;
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-head {
    width: 100%;
    /* 本文と同じ「時間列 + 8列」で 月〜祝 を ● の真上に */
    grid-template-columns: auto repeat(8, minmax(0, 1fr));
    /* 狭い PC 幅で固定 gap だと本文だけはみ出しやすい → ヘッダと同じく縮むようにする */
    column-gap: clamp(4 * var(--to-rem), 2.8vw, 43 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    border-radius: 0;
  }
}
/* PC: 1列目を本文の診療時間と同じ幅に（中身は非表示・レイアウトのみ） */
.p-about-access__schedule-head-pc-gutter {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-head-pc-gutter {
    display: block;
    margin: 0;
    padding: 0;
    min-width: 0;
    overflow: hidden;
    color: transparent;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: calc(15 * var(--to-rem));
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: calc(0.45 * var(--to-rem));
    white-space: nowrap;
    user-select: none;
    pointer-events: none;
  }
}
.p-about-access__schedule-head-title--sp {
  display: flex;
  align-items: center;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: calc(0.39 * var(--to-rem));
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-head-title--sp {
    display: none;
  }
}
.p-about-access__schedule-head .p-about-access__schedule-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-head .p-about-access__schedule-cell {
    min-width: 0;
    font-size: calc(14 * var(--to-rem));
  }
}
.p-about-access__schedule-body {
  display: grid;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: calc(40 * var(--to-rem));
  /* SP: ヘッダー左列と同じトラック定義で位置を一致 */
  grid-template-columns: minmax(calc(88 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  padding-block: 0;
  padding-inline: calc(8 * var(--to-rem));
  overflow: hidden;
  background: #fff;
  border-block-start: none;
  border-radius: 0 0 calc(5 * var(--to-rem)) calc(5 * var(--to-rem));
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-body {
    width: 100%;
    grid-template-columns: auto repeat(8, minmax(0, 1fr));
    column-gap: clamp(4 * var(--to-rem), 2.8vw, 43 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    border-radius: 0;
  }
}
.p-about-access__schedule-symbols {
  display: grid;
  grid-column: 2/span 8;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: center;
  /* PC: 親グリッドに8セルを直接載せ、column-gap が ● 列間にも効くようにする */
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-symbols {
    display: contents;
  }
}
.p-about-access__schedule-time {
  grid-column: 1;
  margin: 0;
  text-align: center;
  color: #32363b;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: calc(0.39 * var(--to-rem));
  white-space: nowrap;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-time {
    min-width: 0;
    color: var(--font_color, #1c2e45);
    font-size: calc(15 * var(--to-rem));
    letter-spacing: calc(0.45 * var(--to-rem));
  }
}
.p-about-access__schedule-body .p-about-access__schedule-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #32363b;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-body .p-about-access__schedule-cell {
    min-width: 0;
    color: #222;
    font-size: calc(14 * var(--to-rem));
  }
}
.p-about-access__schedule-notes {
  margin: 0;
  margin-block-start: calc(16 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1024px) {
  .p-about-access__schedule-notes {
    font-size: calc(15 * var(--to-rem));
  }
}
/* SP: width 100% / height 230 / 角丸10 — 345:230 は表示領域の比率目安 */
.p-about-access__map {
  position: relative;
  width: 100%;
  height: calc(230 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(10 * var(--to-rem));
  background: #e8eaed;
}
@media screen and (min-width: 1024px) {
  .p-about-access__map {
    flex-shrink: 0;
    width: calc(419 * var(--to-rem));
    height: calc(379 * var(--to-rem));
  }
}
.p-about-access__map-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-about {
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-about {
    margin-bottom: 0;
  }
}
.p-about .p-about-rjd {
  max-width: calc(1400 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-about .p-about-rjd .p-about-rjd__inner {
  padding-bottom: calc(100 * var(--to-rem));
  max-width: calc(1250 * var(--to-rem));
  width: 100%;
  margin: 0 auto 0 0;
}
.p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap {
  display: flex;
  gap: calc(80 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap {
    flex-wrap: wrap;
    gap: calc(50 * var(--to-rem));
    justify-content: center;
  }
}
@media (max-width: 1350px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap {
    flex-wrap: wrap;
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__label .p-about-rjd__label-text {
  color: #003981;
  font-family: var(--font-family-futura);
  font-size: calc(80 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 80px */
  letter-spacing: 4px;
  opacity: 0.06;
  margin-left: calc(-20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__label .p-about-rjd__label-text {
    font-size: calc(58 * var(--to-rem));
    margin-left: calc(-10 * var(--to-rem));
  }
}
.p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__title {
  color: var(--btn-color, #003981);
  font-size: calc(42 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 42px */
  margin-top: calc(-24 * var(--to-rem));
  padding-left: calc(135 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__title {
    padding-left: calc(15 * var(--to-rem));
    font-size: calc(28 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  padding-left: calc(135 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__content .p-about-rjd__text {
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__image-wrap img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-rjd .p-about-rjd__inner .p-about-rjd__wrap .p-about-rjd__image-wrap img {
    max-width: calc(260 * var(--to-rem));
    width: 100%;
  }
}
.p-about .p-about-concept {
  padding-bottom: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-concept {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-about .p-about-concept .p-about-concept__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #003981;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-concept .p-about-concept__inner .p-about-concept__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(17 * var(--to-rem));
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content {
  display: flex;
  gap: calc(35 * var(--to-rem));
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-concept .p-about-concept__inner .p-about-concept__content {
    flex-wrap: wrap;
    gap: calc(40 * var(--to-rem));
  }
}
@media (max-width: 1000px) {
  .p-about .p-about-concept .p-about-concept__inner .p-about-concept__content {
    flex-wrap: wrap;
  }
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__image img {
  width: calc(450 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__image img {
    width: calc(325 * var(--to-rem));
  }
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__body .p-about-concept__item {
  max-width: calc(640 * var(--to-rem));
  width: 100%;
  padding: calc(30 * var(--to-rem)) calc(40 * var(--to-rem));
  border-radius: calc(20 * var(--to-rem));
  border: calc(2 * var(--to-rem)) solid #7298c8;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__body .p-about-concept__item {
    max-width: none;
    padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__body .p-about-concept__item:last-child {
  margin-bottom: 0;
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__body .p-about-concept__item .p-greeting__label-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(20 * var(--to-rem));
  font-weight: 700;
  line-height: 160%; /* 32px */
}
.p-about .p-about-concept .p-about-concept__inner .p-about-concept__content .p-about-concept__body .p-about-concept__item .p-about-concept__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-about .p-about-link {
  position: relative;
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link {
    padding-bottom: calc(60 * var(--to-rem));
  }
}
.p-about .p-about-link .p-about-link__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  border-radius: calc(40 * var(--to-rem));
  background: linear-gradient(180deg, #24227a 0%, #005d91 100%);
  padding: calc(80 * var(--to-rem)) 0;
  position: relative;
  padding-inline: calc(15 * var(--to-rem));
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link .p-about-link__inner {
    max-width: none;
    border-radius: 0;
    padding: calc(60 * var(--to-rem)) 0;
  }
}
.p-about .p-about-link .p-about-link__inner .about-bg-img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(515 * var(--to-rem));
  object-fit: cover;
  height: calc(374 * var(--to-rem));
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link .p-about-link__inner .about-bg-img {
    width: calc(328 * var(--to-rem));
    height: calc(238 * var(--to-rem));
  }
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap {
  max-width: calc(890 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap {
    max-width: calc(320 * var(--to-rem));
  }
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__title {
  color: #fff;
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__title {
    font-size: calc(28 * var(--to-rem));
  }
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__text {
  color: #fff;
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__button {
  display: inline-flex;
  height: calc(70 * var(--to-rem));
  padding: calc(27 * var(--to-rem)) calc(20 * var(--to-rem)) calc(28 * var(--to-rem)) calc(68 * var(--to-rem));
  align-items: center;
  gap: calc(37 * var(--to-rem));
  border-radius: calc(40 * var(--to-rem));
  background: #f4fbff;
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__button p {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
}
.p-about .p-about-link .p-about-link__inner .p-about-link__inner_wrap .p-about-link__button img {
  width: calc(13 * var(--to-rem));
  object-fit: cover;
}
.p-about .p-about-faq {
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem)) calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-about .p-about-faq {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
    margin-bottom: 0;
  }
}
.p-access {
  max-width: calc(1440 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-access {
    margin-bottom: 0;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content {
  display: flex;
  gap: calc(81 * var(--to-rem));
  justify-content: center;
  margin-top: calc(82 * var(--to-rem));
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content {
    flex-wrap: wrap;
    margin-top: calc(40 * var(--to-rem));
    margin-bottom: calc(100 * var(--to-rem));
    gap: calc(30 * var(--to-rem));
  }
}
@media (max-width: 1199px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content {
    flex-wrap: wrap;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details {
  max-width: calc(641 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details {
    max-width: none;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item {
  display: flex;
  gap: calc(19 * var(--to-rem));
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item {
    flex-wrap: wrap;
    gap: calc(10 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
    padding-bottom: calc(20 * var(--to-rem));
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item:last-child {
  margin-bottom: 0;
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__term {
  max-width: calc(160 * var(--to-rem));
  width: 100%;
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 25.6px */
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__term {
    max-width: none;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__desc {
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 25.6px */
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__desc .p-clinic-info__holiday {
  display: inline-block;
  margin-bottom: calc(10 * var(--to-rem));
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__desc .p-clinic-info__link {
  color: var(--btn-color, #003981);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 160%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__buttons {
  display: flex;
  gap: calc(9 * var(--to-rem));
  margin-top: calc(19 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__details .p-clinic-info__list .p-clinic-info__item .p-clinic-info__buttons {
    flex-wrap: wrap;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map {
  max-width: calc(419 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map {
    max-width: none;
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-frame {
  height: calc(379 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-frame {
    height: calc(240 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-frame iframe {
  height: calc(379 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-frame iframe {
    height: calc(240 * var(--to-rem));
  }
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-link {
  text-align: center;
  display: block;
  color: var(--btn-color, #003981);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 25.6px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  margin-bottom: calc(30 * var(--to-rem));
  position: relative;
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__map-link::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-left: calc(5 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(13 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='11'%20viewBox='0%200%2013%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10%202H1C0.734784%202%200.48043%202.10536%200.292893%202.29289C0.105357%202.48043%200%202.73478%200%203V10C0%2010.2652%200.105357%2010.5196%200.292893%2010.7071C0.48043%2010.8946%200.734784%2011%201%2011H10C10.2652%2011%2010.5196%2010.8946%2010.7071%2010.7071C10.8946%2010.5196%2011%2010.2652%2011%2010V3C11%202.73478%2010.8946%202.48043%2010.7071%202.29289C10.5196%202.10536%2010.2652%202%2010%202ZM10%2010H1V3H10V10ZM13%201V8.5C13%208.63261%2012.9473%208.75979%2012.8536%208.85355C12.7598%208.94732%2012.6326%209%2012.5%209C12.3674%209%2012.2402%208.94732%2012.1464%208.85355C12.0527%208.75979%2012%208.63261%2012%208.5V1H2.5C2.36739%201%202.24021%200.947321%202.14645%200.853553C2.05268%200.759785%202%200.632608%202%200.5C2%200.367392%202.05268%200.240215%202.14645%200.146447C2.24021%200.0526785%202.36739%200%202.5%200H12C12.2652%200%2012.5196%200.105357%2012.7071%200.292893C12.8946%200.48043%2013%200.734784%2013%201Z'%20fill='%23003981'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 24px */
  padding: calc(20 * var(--to-rem));
  background-color: rgba(218, 228, 240, 0.4);
  border-radius: calc(10 * var(--to-rem));
  border: calc(3 * var(--to-rem)) solid #dae4f0;
}
.p-access .p-clinic-info .p-clinic-info__inner .p-clinic-info__content .p-clinic-info__map .p-clinic-info__note span {
  font-weight: 600;
}
.p-access .p-clinic-schedule {
  margin-bottom: calc(180 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule {
    width: 100%;
    margin: 0 auto calc(100 * var(--to-rem));
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner {
    max-width: none;
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid;
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content {
  display: flex;
  gap: calc(100 * var(--to-rem));
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content {
    gap: calc(30 * var(--to-rem));
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__calendar {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__calendar {
    max-width: none;
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__calendar .p-clinic-schedule__cal-box {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
  padding: calc(40 * var(--to-rem)) calc(46 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__calendar .p-clinic-schedule__cal-box {
    max-width: none;
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem)) calc(32 * var(--to-rem));
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time {
  max-width: calc(540 * var(--to-rem));
  width: 100%;
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__table {
  margin-bottom: calc(15 * var(--to-rem));
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__table .p-mv__schedule-body {
  background: rgba(218, 228, 240, 0.35);
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-mv__schedule-footnote {
  padding-bottom: calc(35 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #dae4f0;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-mv__schedule-footnote {
    padding-bottom: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-mv__schedule-footnote .p-mv__schedule-footnote-text {
    font-size: calc(11 * var(--to-rem));
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__reservation-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__reservation-text {
    line-height: 160%;
  }
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__contact {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(20 * var(--to-rem));
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__contact img {
  width: calc(25 * var(--to-rem));
  object-fit: cover;
}
.p-access .p-clinic-schedule .p-clinic-schedule__inner .p-clinic-schedule__content .p-clinic-schedule__time .p-clinic-schedule__time-inner .p-clinic-schedule__contact .p-clinic-schedule__phone {
  color: var(--font_color, #1c2e45);
  text-align: right;
  font-family: var(--font-family-futura);
  font-size: calc(40 * var(--to-rem));
  font-weight: 450;
  line-height: 100%; /* 40px */
}
.p-access .p-access-route {
  margin-bottom: calc(200 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route {
    margin-bottom: calc(120 * var(--to-rem));
  }
}
.p-access .p-access-route .p-access-route__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-access .p-access-route .p-access-route__inner .p-access-route__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid;
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-top: calc(20 * var(--to-rem));
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__lead {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes {
  display: flex;
  padding-bottom: calc(10 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  margin-bottom: calc(30 * var(--to-rem));
}
@media (max-width: 1199px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes {
    flex-wrap: wrap;
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route {
    padding-bottom: calc(30 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
    border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route.p-access-route__route--underground {
  padding-right: calc(30 * var(--to-rem));
  margin-right: calc(30 * var(--to-rem));
  border-right: solid calc(1 * var(--to-rem)) #dae4f0;
}
@media (max-width: 1199px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route.p-access-route__route--underground {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route.p-access-route__route--underground {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__image {
  width: calc(60 * var(--to-rem));
  object-fit: cover;
  height: calc(60 * var(--to-rem));
  display: flex;
  margin: 0 auto calc(10 * var(--to-rem));
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__route-title {
  text-align: center;
  color: var(--font_color, #1c2e45);
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__steps .p-access-route__step {
  display: flex;
  margin-bottom: calc(20 * var(--to-rem));
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__steps .p-access-route__step .p-access-route__step-number {
  width: calc(30 * var(--to-rem));
  height: calc(30 * var(--to-rem));
  background-color: #005d91;
  color: #fff;
  font-family: var(--font-family-futura);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(50 * var(--to-rem));
  font-weight: 400;
  display: inline-flex;
  line-height: 200%; /* 30px */
  margin-right: calc(10 * var(--to-rem));
  position: relative;
  padding: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__steps .p-access-route__step .p-access-route__step-number {
    padding: 0 calc(11 * var(--to-rem));
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__steps .p-access-route__step .p-access-route__step-number::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%; /* ←丸の下から */
  transform: translateX(-50%);
  width: calc(1 * var(--to-rem));
  height: calc(100% + 20 * var(--to-rem));
  border-left: 2px dotted #005d91;
}
.p-access .p-access-route .p-access-route__inner .p-access-route__routes .p-access-route__route .p-access-route__steps .p-access-route__step:last-child .p-access-route__step-number::after {
  display: none;
}
.p-access .p-access-route .p-access-route__inner .p-access-route__car {
  display: flex;
  gap: calc(20 * var(--to-rem));
  padding-bottom: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-access .p-access-route .p-access-route__inner .p-access-route__car {
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: calc(0 * var(--to-rem));
  }
}
.p-access .p-access-route .p-access-route__inner .p-access-route__car .p-access-route__car-header .p-access-route__image {
  width: calc(60 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  object-fit: cover;
  display: flex;
  margin: 0 auto calc(10 * var(--to-rem));
}
.p-access .p-access-route .p-access-route__inner .p-access-route__car .p-access-route__car-header .p-access-route__car-title {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
}
.p-access .p-access-route .p-access-route__inner .p-access-route__car .p-access-route__car-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.ortho-section {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(120 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .ortho-section {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
  }
}
.ortho-section.ortho-section--demerit {
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section.ortho-section--demerit {
    padding-top: calc(80 * var(--to-rem));
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.ortho-section .ortho-section__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section .ortho-section__lead {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.ortho-section .ortho-card-list .ortho-card {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section .ortho-card-list .ortho-card {
    padding: calc(20 * var(--to-rem)) calc(10 * var(--to-rem)) calc(20 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.ortho-section .ortho-card-list .ortho-card.ortho-card--demerit {
  background: #5076a7;
}
.ortho-section .ortho-card-list .ortho-card:last-child {
  margin-bottom: 0;
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__title {
  font-family: "Noto Sans JP";
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 24px */
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  margin-bottom: calc(20 * var(--to-rem));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section .ortho-card-list .ortho-card .ortho-card__title {
    font-size: calc(20 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
    line-height: 160%; /* 32px */
    align-items: flex-start;
  }
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__title.ortho-card__title--demerit {
  background: #fff;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__title.ortho-card__title--demerit::before {
  background: #fff;
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__title::before {
  content: "";
  display: block;
  width: calc(10 * var(--to-rem));
  height: calc(10 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  border-radius: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section .ortho-card-list .ortho-card .ortho-card__title::before {
    position: relative;
    top: calc(15 * var(--to-rem));
    width: calc(6 * var(--to-rem));
    height: calc(6 * var(--to-rem));
  }
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  padding-left: calc(20 * var(--to-rem));
}
.ortho-section .ortho-card-list .ortho-card .ortho-card__text.ortho-card__text--demerit {
  color: #fff;
}
.p-archive {
  padding-block: calc(40 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .p-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(32 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .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: var(--fw-bold);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .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 (min-width: 768px) {
  .p-archive__excerpt {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-archive__pagination {
  margin-block-start: calc(48 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .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 (min-width: 768px) {
  .p-archive__empty {
    padding-block: calc(80 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
  }
}
.p-single__back {
  margin-block-start: calc(48 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-single__back {
    margin-block-start: calc(60 * var(--to-rem));
  }
}
.p-archive--works .p-archive__link {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 12px;
  box-shadow: 0 calc(2 * var(--to-rem)) calc(8 * var(--to-rem)) oklch(from var(--color-black) l c h/8%);
  background-color: var(--color-white);
  text-decoration: none;
}
.p-archive--works .p-archive__thumbnail {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
  margin-block-end: 0;
  border-radius: 12px 12px 0 0;
}
.p-archive--works .p-archive__thumbnail img {
  transition: scale 0.5s ease;
}
@media (any-hover: hover) {
  .p-archive--works .p-archive__link:has(.p-archive__thumbnail):hover .p-archive__thumbnail img {
    scale: 1.1;
  }
}
.p-archive--works .p-archive__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(12 * var(--to-rem));
  padding: calc(20 * var(--to-rem));
}
.p-archive--works .p-archive__meta {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--to-rem));
  align-items: center;
  margin-block-end: calc(8 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(12 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-archive--works .p-archive__meta {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-archive--works .p-archive__date {
  display: inline-block;
}
.p-archive--works .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 (min-width: 768px) {
  .p-archive--works .p-archive__category {
    font-size: calc(12 * var(--to-rem));
  }
}
.p-archive--works .p-archive__item-title {
  margin: 0;
  margin-block-end: calc(8 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-archive--works .p-archive__item-title {
    margin-block-end: calc(12 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-height: 1.6;
  }
}
.p-archive--works .p-archive__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-block-start: 0;
  color: var(--color-text);
  font-size: calc(13 * var(--to-rem));
  line-height: 1.7;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (min-width: 768px) {
  .p-archive--works .p-archive__excerpt {
    font-size: calc(14 * var(--to-rem));
    line-height: 1.8;
  }
}
.p-archive--works .p-archive__client,
.p-archive--works .p-archive__period {
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  color: var(--color-text);
  font-size: calc(12 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-archive--works .p-archive__client,
  .p-archive--works .p-archive__period {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-archive--works .p-archive__client-label,
.p-archive--works .p-archive__period-label {
  font-weight: var(--fw-medium);
}
.p-archive--works .p-archive__technologies {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--to-rem));
  margin-block-start: calc(12 * var(--to-rem));
}
.p-archive--works .p-archive__technology {
  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 (min-width: 768px) {
  .p-archive--works .p-archive__technology {
    font-size: calc(12 * var(--to-rem));
  }
}
.p-drip-info {
  background: #f4fbff;
}
.p-drip-info .p-drip-info__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__text {
  margin-bottom: calc(40 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
}
.p-drip-info .p-drip-info__inner .p-drip-info__block {
  padding: calc(60 * var(--to-rem)) 0;
  background-color: #fff;
  border-radius: calc(20 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block {
    padding: calc(40 * var(--to-rem)) calc(20 * var(--to-rem)) calc(40 * var(--to-rem)) 0;
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block:last-child {
  margin-bottom: 0;
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading {
  color: var(--font_color, #1c2e45);
  font-size: calc(28 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 28px */
  margin-bottom: calc(20 * var(--to-rem));
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading {
    font-size: calc(20 * var(--to-rem));
    line-height: 160%; /* 32px */
    align-items: flex-start;
    gap: calc(10 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading::before {
  content: "";
  display: block;
  position: relative;
  width: calc(30 * var(--to-rem));
  height: calc(5 * var(--to-rem));
  background: var(--gold, linear-gradient(23deg, #daa726 9.8%, #ffd364 92.65%));
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading::before {
    top: calc(15 * var(--to-rem));
    width: calc(20 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__text_inner {
  padding-left: calc(50 * var(--to-rem));
  max-width: calc(904 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__text_inner {
    padding-left: calc(30 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__text_inner.p-drip-info__text_inner--30 {
  margin-bottom: calc(30 * var(--to-rem));
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper {
  padding-left: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper {
    padding-left: calc(30 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper .p-drip-info__list-wrap {
  max-width: calc(490 * var(--to-rem));
  width: 100%;
  padding: calc(25 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
}
@media screen and (max-width: 767px) {
  .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper .p-drip-info__list-wrap {
    max-width: calc(285 * var(--to-rem));
    padding: calc(25 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper .p-drip-info__list-wrap .p-drip-info__list-title {
  color: #003981;
  font-size: calc(18 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 18px */
  padding-bottom: calc(12 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) #dae4f0 solid;
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper .p-drip-info__list-wrap .p-drip-info__list {
  list-style: disc;
  padding-left: 1.2em;
}
.p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__list-wrapper .p-drip-info__list-wrap .p-drip-info__list .p-drip-info__list-item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 200%; /* 30px */
}
.p-drip-about {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-about {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-drip-about .p-drip-about__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-drip-about .p-drip-about__block {
  border-radius: calc(20 * var(--to-rem));
  border: calc(2 * var(--to-rem)) solid #7298c8;
  padding: calc(30 * var(--to-rem)) calc(40 * var(--to-rem));
  max-width: calc(900 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-about .p-drip-about__block {
    padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-drip-about .p-drip-about__block .p-drip-about__heading {
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-drip-about .p-drip-about__block .p-drip-about__heading {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-drip-about .p-drip-about__block .p-drip-about__text {
  margin-bottom: 0;
}
.p-drip-types {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-drip-types.p-drip-types-implant {
  padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-types {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-drip-types .p-drip-types__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-types .p-drip-types__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-drip-types .p-drip-types__list {
  display: flex;
  gap: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-types .p-drip-types__list {
    flex-wrap: wrap;
    gap: calc(20 * var(--to-rem));
    justify-content: center;
  }
}
@media (max-width: 1150px) {
  .p-drip-types .p-drip-types__list {
    flex-wrap: wrap;
  }
}
.p-drip-types .p-drip-types__list .p-drip-types__item {
  max-width: calc(360 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-drip-types .p-drip-types__list .p-drip-types__item {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-drip-types .p-drip-types__list .p-drip-types__item .p-drip-types__heading {
  color: var(--font_color, #1c2e45);
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) dotted #7298c8;
}
.p-drip-types .p-drip-types__list .p-drip-types__item .p-drip-types__desc {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%; /* 27px */
}
.p-drip-types .p-drip-types__list .p-drip-types__item .p-drip-types__desc.p-drip-types__desc_implant {
  text-align: left;
}
.p-drip-detail {
  background: #f4fbff;
}
.p-drip-detail .p-drip-detail__wrapper {
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner {
  border-radius: calc(20 * var(--to-rem));
  background: #fff;
  padding: calc(60 * var(--to-rem)) calc(60 * var(--to-rem)) calc(60 * var(--to-rem)) 0;
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner {
    padding: calc(40 * var(--to-rem)) calc(9 * var(--to-rem)) calc(40 * var(--to-rem)) 0;
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner:last-child {
  margin-bottom: 0;
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__title {
  color: var(--font_color, #1c2e45);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 33px */
  margin-bottom: calc(20 * var(--to-rem));
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__title {
    font-size: calc(24 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
    gap: calc(10 * var(--to-rem));
    line-height: 160%; /* 38.4px */
    align-items: flex-start;
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__title::before {
  content: "";
  display: block;
  position: relative;
  width: calc(30 * var(--to-rem));
  height: calc(5 * var(--to-rem));
  background: var(--gold, linear-gradient(23deg, #daa726 9.8%, #ffd364 92.65%));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__title::before {
    width: calc(20 * var(--to-rem));
    position: relative;
    top: calc(15 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content {
  padding-left: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content {
    padding-left: calc(15 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__text {
    margin-bottom: calc(30 * var(--to-rem));
    padding-left: calc(15 * var(--to-rem));
    max-width: calc(315 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body {
  display: flex;
  gap: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    gap: calc(30 * var(--to-rem));
  }
}
@media (max-width: 1100px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body {
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info {
  max-width: calc(510 * var(--to-rem));
  width: 100%;
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block {
  margin-bottom: calc(40 * var(--to-rem));
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__heading {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 24px */
  margin-bottom: calc(12 * var(--to-rem));
  display: flex;
  gap: calc(10 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__heading {
    font-size: calc(18 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
    gap: calc(7 * var(--to-rem));
    align-items: flex-start;
    line-height: 160%; /* 28.8px */
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__heading::before {
  content: "";
  display: block;
  width: calc(10 * var(--to-rem));
  height: calc(10 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  border-radius: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__heading::before {
    width: calc(8 * var(--to-rem));
    height: calc(8 * var(--to-rem));
    position: relative;
    top: calc(10 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__desc {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__desc {
    padding-left: calc(15 * var(--to-rem));
    max-width: calc(310 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__list {
  list-style: disc;
  padding-left: 1.2em;
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__list {
    padding-left: 2.2em;
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__list .p-drip-detail__list-item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__info .p-drip-detail__block .p-drip-detail__list .p-drip-detail__list-item {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__image {
  max-width: calc(440 * var(--to-rem));
  width: 100%;
  height: calc(400 * var(--to-rem));
  object-fit: cover;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-detail .p-drip-detail__wrapper .p-drip-detail__inner .p-drip-detail__content .p-drip-detail__body .p-drip-detail__image {
    max-width: calc(315 * var(--to-rem));
    height: calc(200 * var(--to-rem));
  }
}
.p-drip-risk {
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-drip-risk {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-risk .p-drip-risk__inner .p-drip-risk__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid {
  display: flex;
  gap: calc(20 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
  align-items: flex-start;
}
@media (max-width: 1000px) {
  .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__heading {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__heading {
    line-height: 160%; /* 28.8px */
  }
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__list {
  padding: calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
  list-style: disc;
  padding-left: 1.2em;
  margin-bottom: calc(20 * var(--to-rem));
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__list .p-drip-risk__list-item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%; /* 27px */
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
}
.p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block .p-drip-risk__text {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-drip-risk .p-drip-risk__inner .p-information__block-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-drip-price {
  background-color: #f4fbff;
}
.p-drip-price .p-drip-price_inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-drip-price .p-drip-price_inner {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-drip-price .p-drip-price_inner .p-price__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-price__lead_adult_ortho {
  margin-top: calc(20 * var(--to-rem));
  margin-bottom: 0;
}
.p-service-page--botox .p-trouble .p-trouble__subtitle {
  margin-bottom: calc(30 * var(--to-rem));
  text-align: center;
  font-size: calc(24 * var(--to-rem));
  color: var(--color-message-title);
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-trouble .p-trouble__subtitle {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-service-page--botox .p-trouble .p-trouble__hr {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-message-title);
  margin-top: calc(30 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-trouble .p-trouble__hr {
    margin-top: calc(20 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-service-page--botox .p-prevention {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-prevention {
    padding-top: calc(100 * var(--to-rem));
  }
}
.p-service-page--botox .p-drip-types {
  padding-top: 0;
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-drip-types {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page--botox .p-drip-types .p-drip-types__list {
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-drip-types .p-drip-types__list {
    gap: calc(10 * var(--to-rem));
  }
}
.p-service-page--botox .p-drip-types .p-drip-types__list .p-drip-types__item {
  max-width: none;
  padding: calc(20 * var(--to-rem)) calc(10 * var(--to-rem));
  border: calc(2 * var(--to-rem)) solid var(--color-mv-sp-top-bar-border);
  color: #1c2e45;
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 28.8px */
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-drip-types .p-drip-types__list .p-drip-types__item {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-service-page--botox .p-service-page__section-text {
  font-weight: var(--fw-regular);
  font-size: calc(15 * var(--to-rem));
  line-height: 200%;
}
.p-service-page--botox .p-drip-risk {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-drip-risk {
    padding-top: calc(100 * var(--to-rem));
  }
}
.p-service-page--botox .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block {
  max-width: calc(580 * var(--to-rem));
}
.p-service-page--botox .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block:first-child {
  width: calc(500 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-drip-risk .p-drip-risk__inner .p-drip-risk__grid .p-drip-risk__block:first-child {
    width: 100%;
  }
}
.p-service-page--botox .p-botox-flow {
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--botox .p-botox-flow {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page--botox .p-botox-price .p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head.p-price-grid__head--menu,
.p-service-page--botox .p-botox-price .p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__head.p-price-grid--four-col-price-wide,
.p-service-page--botox .p-botox-price .p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group.p-price-grid__head--menu,
.p-service-page--botox .p-botox-price .p-price__table-wrapper .p-price__table-wrap .p-price-grid.p-price-grid--four-col .p-price-grid__group.p-price-grid--four-col-price-wide {
  grid-template-columns: 31fr 24fr 44fr 15fr;
}
.p-botox-flow__text {
  display: flex;
  gap: calc(10 * var(--to-rem));
  max-width: calc(750 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-botox-flow__text {
    flex-direction: column;
    gap: calc(5 * var(--to-rem)) 0;
  }
}
.p-botox-flow__text .p-botox-flow__text-badge {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  height: calc(27 * var(--to-rem));
  padding: 0 calc(15 * var(--to-rem));
  background-color: var(--color-mv-sp-top-bar-border);
  border-radius: calc(13.5 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--btn-color);
}
.p-botox-flow__text .p-botox-flow__text-content {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 200%;
  color: var(--color-navy-text);
}
.p-peri-implantitis-flow__text {
  max-width: calc(770 * var(--to-rem));
}
.p-botox-flow__list {
  padding-left: calc(125 * var(--to-rem));
  list-style: disc;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-botox-flow__list {
    padding-left: calc(20 * var(--to-rem));
  }
}
.p-botox-flow__list .p-botox-flow__list-item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 200%;
  color: var(--color-navy-text);
}
@media screen and (max-width: 767px) {
  .p-botox-flow__list .p-botox-flow__list-item {
    font-size: calc(14 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-botox-flow__image {
    margin-top: 0;
  }
}
.p-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(calc(320 * var(--to-rem)), 1fr));
  gap: calc(24 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-card-list {
    gap: calc(32 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .p-service-page__body-inner {
  padding-left: calc(20 * var(--to-rem));
  padding-right: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-service-page__body-inner {
    max-width: none !important;
    padding-left: calc(15 * var(--to-rem));
    padding-right: calc(15 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble {
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner {
  max-width: calc(1140 * var(--to-rem));
  padding: calc(80 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner {
    padding: none;
  }
}
.p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list {
  gap: calc(20 * var(--to-rem));
  max-width: none;
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    place-items: center;
    padding: 0;
  }
}
.p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
  flex-direction: column;
  gap: calc(10 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
  min-height: calc(203 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
    max-width: none;
    min-height: calc(140 * var(--to-rem));
    height: auto;
    padding: calc(20 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
  font-size: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item p {
  font-size: calc(15 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item p {
    font-size: calc(14 * var(--to-rem));
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
}
.p-service-page--cavities .p-service-page__body .cause {
  max-width: none !important;
  padding: calc(180 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .cause {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .cause .p-service-page__section {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto !important;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .cause .p-service-page__section {
    max-width: none;
  }
}
.p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox {
  display: flex;
  justify-content: space-between;
  gap: calc(10 * var(--to-rem));
}
@media (max-width: 1000px) {
  .p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox {
    flex-direction: column;
    align-items: center;
    gap: calc(50 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt {
  max-width: calc(640 * var(--to-rem));
  width: 100%;
}
@media (max-width: 1000px) {
  .p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt .c-text-list {
    padding: calc(15 * var(--to-rem));
    padding-left: calc(15 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .cause .p-service-page__section .cause-flexbox picture {
  display: block;
  max-width: calc(420 * var(--to-rem));
  width: 100%;
  opacity: 0.95;
  border-radius: calc(6 * var(--to-rem));
}
.p-service-page--cavities .p-service-page__body .p-prevention {
  padding: 0 calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-prevention {
    max-width: none;
    padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .p-prevention .c-heading-line {
    margin-bottom: calc(50 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list {
  gap: calc(20 * var(--to-rem)) calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list {
    gap: calc(20 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list .point-list__item {
  max-width: calc(360 * var(--to-rem));
  padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list .point-list__item {
    max-width: none;
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-title {
  color: #1c2e45;
}
.p-service-page--cavities .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-txt {
  line-height: 1.8;
  text-align: left;
}
.p-service-page--cavities .p-service-page__body .cation .p-service-page__section .c-heading-line {
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--cavities .p-service-page__body .c-section {
    margin-bottom: calc(60 * var(--to-rem));
  }
}
.p-service-page--cavities .p-service-page__body .c-section .c-flow .c-flow__item:first-of-type {
  padding-top: 0;
  border-top: none;
}
.p-column {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding-block: calc(120 * var(--to-rem)) calc(120 * var(--to-rem));
  background: #004a86;
  color: var(--color-white);
}
@media screen and (min-width: 1024px) {
  .p-column {
    padding-block: calc(200 * var(--to-rem)) calc(200 * var(--to-rem));
  }
}
.p-column__deco {
  pointer-events: none;
  position: absolute;
  z-index: 0;
  inset-inline-end: auto;
  top: calc(-28 * var(--to-rem));
  inset-inline-start: calc(106 * var(--to-rem));
  width: calc(341 * var(--to-rem));
  max-width: 90vw;
  mix-blend-mode: screen;
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .p-column__deco {
    top: calc(38 * var(--to-rem));
    inset-inline-start: calc(306 * var(--to-rem));
  }
}
.p-column__deco-img {
  display: block;
  width: 100%;
  height: auto;
}
.p-column__inner {
  position: relative;
  z-index: 1;
  max-width: calc(1265px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (min-width: 1024px) {
  .p-column__inner {
    margin-inline-start: auto;
    margin-inline-end: 0;
    padding-inline-end: 0;
  }
}
.p-column__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(12 * var(--to-rem));
  margin-block-end: calc(70 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-column__top {
    flex-direction: row;
    align-items: flex-start;
    gap: calc(74 * var(--to-rem));
    margin-block-end: calc(70 * var(--to-rem));
    text-align: start;
  }
}
.p-column__header {
  margin: 0;
}
.p-column__header .section__title-en {
  color: var(--color-white);
  --section-title-fill-base: rgb(255 255 255 / 0.2);
  --section-title-fill-color: #fff;
  --section-title-fill-blend: normal;
}
.p-column__header .section__title-en[data-fill-text] {
  color: rgba(255, 255, 255, 0.2);
}
.p-column__header .section__title-en[data-fill-text]::after {
  transition-duration: 1.2s;
  transition-timing-function: ease;
}
.p-column__header .section__label {
  color: var(--color-white);
}
@media screen and (min-width: 1024px) {
  .p-column__header .section__label {
    text-align: start;
  }
}
/* PC: 枠線ボタン */
.p-column__cta--pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-column__cta--pc {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: calc(300 * var(--to-rem));
    height: calc(70 * var(--to-rem));
    margin-block-start: calc(25 * var(--to-rem));
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: calc(40 * var(--to-rem));
    background: transparent;
    color: var(--color-white);
    text-decoration: none;
    overflow: hidden;
    transition: border-color var(--duration);
  }
}
.p-column__cta--pc:hover, .p-column__cta--pc:focus-visible {
  color: var(--color-white);
  border-color: var(--color-white);
}
.p-column__cta--pc .p-column__cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
}
.p-column__cta--pc .p-column__cta-icon {
  position: absolute;
  inset-inline-end: calc(20 * var(--to-rem));
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.p-column__cta--pc .p-column__cta-arrow {
  display: block;
  width: calc(9.857 * var(--to-rem));
  height: calc(8.065 * var(--to-rem));
  object-fit: contain;
}
.p-column__cta--pc .p-column__cta-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-white);
}
.p-column__cta--pc .p-column__cta-label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.08em;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--pc:hover .p-column__cta-label::after, .p-column__cta--pc:focus-visible .p-column__cta-label::after {
  transform: scaleX(1);
  transform-origin: left center;
}
@media (prefers-reduced-motion: reduce) {
  .p-column__cta--pc .p-column__cta-label::after {
    transition: none;
  }
}
/* SP: フッター付近 CTA（.button と同じレイヤー構成 + 白背景・左上 column-btn） */
.p-column__cta--sp {
  --p-column-cta-sp-deco-color: rgb(21 78 150 / 10%);
  --p-column-cta-sp-deco-hover-color: rgb(21 78 150 / 20%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(300 * var(--to-rem));
  height: calc(70 * var(--to-rem));
  margin-inline: auto;
  margin-block-start: calc(28 * var(--to-rem));
  padding: 0;
  border: none;
  border-radius: calc(40 * var(--to-rem));
  background: var(--color-white);
  color: #010449;
  text-decoration: none;
  transition: opacity var(--duration);
  overflow: hidden;
  /* .button__bg 相当 */
  /* 左上装飾（p-column__cta--sp 専用で色管理） */
  /* 右端矢印（.button__icon + .button__arrow 相当） */
}
@media screen and (min-width: 1024px) {
  .p-column__cta--sp {
    display: none;
  }
}
.p-column__cta--sp:hover, .p-column__cta--sp:focus-visible {
  opacity: 1;
  background: #7298c8;
  color: #fff;
}
.p-column__cta--sp .p-column__cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  overflow: hidden;
}
.p-column__cta--sp .button__deco {
  position: absolute;
  inset-inline-start: calc(30 * var(--to-rem));
  inset-block-start: 50%;
  transform: translateY(calc(-50% - 3 * var(--to-rem)));
  z-index: 0;
  line-height: 0;
}
.p-column__cta--sp .button__deco::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--p-column-cta-sp-deco-color);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='78'%20height='64'%20viewBox='0%200%2078%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.62898%2020.4699L3.54041%2022.2754L33.0269%2056.8015L35.1155%2054.9961L5.62898%2020.4699Z'%20fill='%23154E96'/%3e%3cpath%20d='M53.3734%2019.9669L23.8689%2054.4775L25.9565%2056.2841L55.461%2021.7735L53.3734%2019.9669Z'%20fill='%23154E96'/%3e%3cpath%20d='M48.6229%2063.6636L19.3156%2028.98L48.6229%20-54.2686L77.9303%2028.9898L48.6229%2063.6734V63.6636ZM22.4389%2028.4024L48.6229%2059.3857L74.8069%2028.4024L48.6229%20-45.9672L22.4389%2028.4024Z'%20fill='%23154E96'/%3e%3cpath%20d='M29.3074%2063.6636L0%2028.9898L29.3074%20-54.2686L58.6148%2028.9898L29.3074%2063.6734V63.6636ZM3.1234%2028.4024L29.3074%2059.3857L55.4914%2028.4024L29.3074%20-45.9672L3.1234%2028.4024Z'%20fill='%23154E96'/%3e%3c/svg%3e") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3csvg%20width='78'%20height='64'%20viewBox='0%200%2078%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.62898%2020.4699L3.54041%2022.2754L33.0269%2056.8015L35.1155%2054.9961L5.62898%2020.4699Z'%20fill='%23154E96'/%3e%3cpath%20d='M53.3734%2019.9669L23.8689%2054.4775L25.9565%2056.2841L55.461%2021.7735L53.3734%2019.9669Z'%20fill='%23154E96'/%3e%3cpath%20d='M48.6229%2063.6636L19.3156%2028.98L48.6229%20-54.2686L77.9303%2028.9898L48.6229%2063.6734V63.6636ZM22.4389%2028.4024L48.6229%2059.3857L74.8069%2028.4024L48.6229%20-45.9672L22.4389%2028.4024Z'%20fill='%23154E96'/%3e%3cpath%20d='M29.3074%2063.6636L0%2028.9898L29.3074%20-54.2686L58.6148%2028.9898L29.3074%2063.6734V63.6636ZM3.1234%2028.4024L29.3074%2059.3857L55.4914%2028.4024L29.3074%20-45.9672L3.1234%2028.4024Z'%20fill='%23154E96'/%3e%3c/svg%3e") no-repeat center/contain;
  transition: background-color 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--sp .button__deco::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--p-column-cta-sp-deco-hover-color);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='78'%20height='64'%20viewBox='0%200%2078%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.62898%2020.4699L3.54041%2022.2754L33.0269%2056.8015L35.1155%2054.9961L5.62898%2020.4699Z'%20fill='%23154E96'/%3e%3cpath%20d='M53.3734%2019.9669L23.8689%2054.4775L25.9565%2056.2841L55.461%2021.7735L53.3734%2019.9669Z'%20fill='%23154E96'/%3e%3cpath%20d='M48.6229%2063.6636L19.3156%2028.98L48.6229%20-54.2686L77.9303%2028.9898L48.6229%2063.6734V63.6636ZM22.4389%2028.4024L48.6229%2059.3857L74.8069%2028.4024L48.6229%20-45.9672L22.4389%2028.4024Z'%20fill='%23154E96'/%3e%3cpath%20d='M29.3074%2063.6636L0%2028.9898L29.3074%20-54.2686L58.6148%2028.9898L29.3074%2063.6734V63.6636ZM3.1234%2028.4024L29.3074%2059.3857L55.4914%2028.4024L29.3074%20-45.9672L3.1234%2028.4024Z'%20fill='%23154E96'/%3e%3c/svg%3e") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3csvg%20width='78'%20height='64'%20viewBox='0%200%2078%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.62898%2020.4699L3.54041%2022.2754L33.0269%2056.8015L35.1155%2054.9961L5.62898%2020.4699Z'%20fill='%23154E96'/%3e%3cpath%20d='M53.3734%2019.9669L23.8689%2054.4775L25.9565%2056.2841L55.461%2021.7735L53.3734%2019.9669Z'%20fill='%23154E96'/%3e%3cpath%20d='M48.6229%2063.6636L19.3156%2028.98L48.6229%20-54.2686L77.9303%2028.9898L48.6229%2063.6734V63.6636ZM22.4389%2028.4024L48.6229%2059.3857L74.8069%2028.4024L48.6229%20-45.9672L22.4389%2028.4024Z'%20fill='%23154E96'/%3e%3cpath%20d='M29.3074%2063.6636L0%2028.9898L29.3074%20-54.2686L58.6148%2028.9898L29.3074%2063.6734V63.6636ZM3.1234%2028.4024L29.3074%2059.3857L55.4914%2028.4024L29.3074%20-45.9672L3.1234%2028.4024Z'%20fill='%23154E96'/%3e%3c/svg%3e") no-repeat center/contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--sp:hover .button__deco::after, .p-column__cta--sp:focus-visible .button__deco::after {
  opacity: 1;
}
.p-column__cta--sp:hover .button__deco-image, .p-column__cta--sp:focus-visible .button__deco-image {
  opacity: 0;
}
.p-column__cta--sp .button__deco-image {
  display: block;
  width: calc(78 * var(--to-rem));
  height: auto;
  max-height: calc(64 * var(--to-rem));
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--sp .p-column__cta-icon {
  position: absolute;
  inset-inline-end: calc(20 * var(--to-rem));
  inset-block-start: 50%;
  z-index: 1;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.p-column__cta--sp .p-column__cta-arrow {
  display: block;
  width: calc(9.857 * var(--to-rem));
  height: calc(8.065 * var(--to-rem));
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.85;
  transition: filter 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--sp .p-column__cta-label {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #010449;
  transition: color 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-column__cta--sp:hover .p-column__cta-label, .p-column__cta--sp:focus-visible .p-column__cta-label {
  color: #fff;
}
.p-column__cta--sp:hover .p-column__cta-arrow, .p-column__cta--sp:focus-visible .p-column__cta-arrow {
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .p-column__cta--sp .p-column__cta-arrow,
  .p-column__cta--sp .button__deco::before,
  .p-column__cta--sp .button__deco::after,
  .p-column__cta--sp .button__deco-image {
    transition: none;
  }
}
.p-column__viewport {
  overflow: hidden;
  overflow-y: hidden;
  margin-inline: calc(-1 * var(--padding-inner));
  padding-inline: var(--padding-inner);
}
@media screen and (min-width: 1024px) {
  .p-column__viewport {
    margin-inline: 0;
    padding-inline: 0;
  }
}
.p-column__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: calc(15 * var(--to-rem));
  list-style: none;
  margin: 0;
  padding: 0;
  transition: transform 0.35s ease;
}
@media screen and (min-width: 1024px) {
  .p-column__track {
    gap: calc(30 * var(--to-rem));
  }
}
.p-column__card {
  flex: 0 0 min(250 * var(--to-rem), 100vw - var(--padding-inner) * 2 - 20 * var(--to-rem));
  min-width: 0;
}
@media screen and (min-width: 1024px) {
  .p-column__card {
    flex: 0 0 calc((100% - 30 * var(--to-rem) * 2) / 3);
  }
}
.p-column__card.is-even {
  margin-top: calc(38 * var(--to-rem));
}
.p-column__card--empty .p-column__link {
  padding-block: calc(40 * var(--to-rem));
}
.p-column__card--empty .p-column__card-title {
  margin-block-start: 0;
  text-align: center;
}
.p-column__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.p-column__link:hover .p-column__card-title {
  text-decoration: underline;
}
.p-column__thumb {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 250/160;
}
@media screen and (min-width: 1024px) {
  .p-column__thumb {
    aspect-ratio: 415/265;
  }
}
.p-column__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: calc(10 * var(--to-rem));
}
.p-column__meta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(10 * var(--to-rem));
  margin-block-start: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-column__meta {
    margin-block-start: calc(20 * var(--to-rem));
  }
}
.p-column__date {
  margin: 0;
  color: #fff;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 1024px) {
  .p-column__date {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-column__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(5 * var(--to-rem)) calc(8 * var(--to-rem));
  border: 0.5px solid var(--color-white);
  border-radius: calc(30 * var(--to-rem));
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}
.p-column__card-title {
  margin: 0;
  margin-block-start: calc(12 * var(--to-rem));
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .p-column__card-title {
    margin-block-start: calc(17 * var(--to-rem));
    max-width: calc(360 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }
}
.p-column__foot {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(35 * var(--to-rem));
  margin-block-start: calc(40 * var(--to-rem));
}
@media screen and (min-width: 1024px) {
  .p-column__foot {
    margin-block-start: calc(80 * var(--to-rem));
  }
}
/* ページネーション: トラック全体が薄い白、::after が左から埋まる割合で進捗表示（nav 連動は JS で --column-fill） */
.p-column__rule {
  --column-fill: 0;
  flex: 1;
  min-width: 0;
  max-width: calc(980 * var(--to-rem));
  position: relative;
  height: calc(4 * var(--to-rem));
  background: rgba(255, 255, 255, 0.2);
}
.p-column__rule::after {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  width: calc(100% * var(--column-fill, 0));
  max-width: 100%;
  height: 100%;
  background: #fff;
  transition: width 0.35s ease;
}
.p-column__nav {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  gap: calc(12 * var(--to-rem));
}
.p-column__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(45 * var(--to-rem));
  height: calc(45 * var(--to-rem));
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: transparent;
  color: var(--color-white);
  cursor: pointer;
  transition: opacity var(--duration), border-color var(--duration);
}
@media screen and (min-width: 1024px) {
  .p-column__nav-btn {
    width: calc(60 * var(--to-rem));
    height: calc(60 * var(--to-rem));
  }
}
.p-column__nav-btn:hover:not(:disabled) {
  opacity: 0.85;
  border-color: var(--color-white);
}
.p-column__nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.p-column__nav-icon {
  display: block;
  width: calc(10 * var(--to-rem));
  height: auto;
}
.p-column__nav-btn--prev .p-column__nav-icon {
  transform: scaleX(-1);
}
.p-concept {
  padding-block: 0 calc(130 * var(--to-rem));
  background: var(--color-concept-bg);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-concept {
    padding-block-start: calc(115 * var(--to-rem));
    padding-block-end: calc(120 * var(--to-rem));
  }
}
.p-concept__inner {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
  max-width: calc(var(--inner) + var(--padding-inner) * 2);
  margin-inline: auto;
  /* SP: 左右 15 */
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-concept__inner {
    padding-inline: var(--padding-inner);
  }
}
@media screen and (min-width: 1024px) {
  .p-concept__inner {
    flex-direction: row;
    align-items: stretch;
    gap: calc(80 * var(--to-rem));
    max-width: min(1200px + var(--padding-inner) * 2, 100%);
    margin: inherit;
  }
}
.p-concept__visual {
  position: relative;
  /* mix-blend（decor / overlay）をこのブロック内に閉じ、固定ヘッダー・ドロワーより手前に合成されないようにする */
  isolation: isolate;
  flex: 1;
  min-width: 0;
}
@media screen and (min-width: 1024px) {
  .p-concept__visual {
    flex: 0 0 calc(570 * var(--to-rem));
    width: calc(570 * var(--to-rem));
    max-width: calc(570 * var(--to-rem));
    margin-inline-start: calc(-1 * var(--padding-inner));
  }
}
/* Futura PT 代替: Jost — 常に .p-concept__photo-overlay より手前（z-index） */
.p-concept__decor {
  position: absolute;
  z-index: 2;
  margin: 0;
  margin-block-start: calc(-40 * var(--to-rem));
  inset-inline-start: 0;
  text-align: center;
  font-family: "Futura PT", var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(88 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 4.4px;
  color: rgba(0, 57, 129, 0.16);
  mix-blend-mode: darken;
  white-space: nowrap;
  pointer-events: none;
  inset-block-start: auto;
  inset-block-end: 0;
  transform: translate(calc(-25 * var(--to-rem)), 60%);
  overflow: hidden;
}
.p-concept__decor::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  background: linear-gradient(90deg, rgba(0, 57, 129, 0.78) 100%) 0 0/0% 100% no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: background-size 2s ease;
  transition-delay: 0s;
  mix-blend-mode: darken;
  opacity: 0.85;
}
@media screen and (min-width: 768px) {
  .p-concept__decor {
    inset-block-start: calc(-8 * var(--to-rem));
    inset-block-end: auto;
    font-size: calc(118 * var(--to-rem));
    letter-spacing: 7.08px;
    margin-block-start: calc(-3 * var(--to-rem));
    transform: translateX(calc(-20 * var(--to-rem)));
  }
}
/* 発火 */
.p-concept__decor.is-active::after {
  background-size: 100% 100%;
  transition-delay: 0.48s;
}
.p-concept__photo-wrap {
  position: relative;
  z-index: 0;
  box-sizing: border-box;
  /* SP: 375/325・インナー左右はみ出し */
  width: calc(100% + 30 * var(--to-rem));
  max-width: none;
  margin-inline: calc(-15 * var(--to-rem));
  margin-block-start: 0;
  aspect-ratio: 375/325;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-concept__photo-wrap {
    width: 100%;
    max-width: calc(570 * var(--to-rem));
    margin-inline: 0;
    margin-block-start: calc(70 * var(--to-rem));
    aspect-ratio: 570/485;
    border-radius: 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0;
  }
}
.p-concept__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-concept__photo-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--color-mv-overlay);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.p-concept__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin-block-start: calc(72 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-concept__content {
    margin-block-start: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-concept__content {
    margin-block-start: calc(25 * var(--to-rem));
    flex: 0 0 calc(640 * var(--to-rem));
    width: calc(640 * var(--to-rem));
    max-width: calc(640 * var(--to-rem));
  }
}
.p-concept__title {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: calc(12 * var(--to-rem));
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(28 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
}
.p-concept__title::before {
  content: "";
  flex-shrink: 0;
  width: 3px;
  height: calc(85 * var(--to-rem));
  background: linear-gradient(180deg, #488fe8 0%, #003981 100%);
}
@media screen and (min-width: 768px) {
  .p-concept__title {
    display: block;
  }
  .p-concept__title::before {
    display: none;
  }
}
/* SP のみ改行（PC は 1 行） */
@media screen and (min-width: 768px) {
  .p-concept__title-br-sp {
    display: none;
  }
}
.p-concept__body {
  display: block;
  margin-block-start: calc(30 * var(--to-rem));
}
.p-concept__copy {
  width: 100%;
  min-width: 0;
}
.p-concept__text {
  margin: 0;
  color: #1c2e45;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}
@media screen and (min-width: 768px) {
  .p-concept__text {
    color: var(--font_color, #1c2e45);
    line-height: 220%;
  }
}
.p-concept__highlights {
  margin-block: calc(30 * var(--to-rem));
  margin-inline: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-concept__highlights {
    margin-block: calc(35 * var(--to-rem));
  }
}
.p-concept__highlight {
  position: relative;
  padding-inline-start: calc(16 * var(--to-rem));
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
}
@media screen and (min-width: 768px) {
  .p-concept__highlight {
    line-height: 220%;
  }
}
/* Figma 9×83 相当の 1 セル分 → icon_concept_list_diamond.svg */
.p-concept__highlight::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.65em;
  width: calc(9 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin-block-start: 5px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='9'%20height='18'%20viewBox='0%200%209%2018'%20fill='none'%3e%3cpath%20d='M0%205.23881L4.43284%2018L9%205.23881L4.43284%200L0%205.23881Z'%20fill='url(%23paint_concept_diamond)'/%3e%3cdefs%3e%3clinearGradient%20id='paint_concept_diamond'%20x1='4.5'%20y1='18'%20x2='4.5'%20y2='0'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23003981'/%3e%3cstop%20offset='1'%20stop-color='%237298C8'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-concept__highlight::before {
    margin-block-start: calc(8 * var(--to-rem));
  }
}
.p-concept__highlights + .p-concept__text {
  margin-block-start: 0;
}
/* 当院について（front-page の .p-concept__content 直下のボタンのみ） */
.p-concept__content > .button {
  margin-block-start: calc(60 * var(--to-rem));
  align-self: center;
}
@media screen and (min-width: 768px) {
  .p-concept__content > .button {
    align-self: stretch;
  }
}
@media screen and (min-width: 1800px) {
  .p-concept__inner {
    margin-inline: auto;
  }
}
.p-confirm {
  margin-bottom: 100vh;
  padding: calc(80 * var(--to-rem)) 0 calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-confirm {
    margin-bottom: 0;
    padding: calc(40 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  }
}
.p-confirm .p-breadcrumb {
  max-width: calc(710 * var(--to-rem));
  width: 100%;
  padding-left: calc(150 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-confirm .p-breadcrumb {
    max-width: none;
    padding: 0;
  }
}
.p-confirm .p-breadcrumb .p-breadcrumb__list {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-confirm .p-breadcrumb .p-breadcrumb__list {
    flex-wrap: wrap;
    gap: calc(12 * var(--to-rem));
    padding: 0 calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(5 * var(--to-rem));
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:first-child::before {
  display: none;
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item::before {
  content: "";
  display: block;
  width: calc(13 * var(--to-rem));
  height: calc(13 * var(--to-rem));
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='13'%20viewBox='0%200%2013%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.22515%206.7874L5.16265%2010.8499C5.1249%2010.8876%205.08009%2010.9176%205.03078%2010.938C4.98146%2010.9584%204.9286%2010.969%204.87523%2010.969C4.82185%2010.969%204.76899%2010.9584%204.71967%2010.938C4.67036%2010.9176%204.62555%2010.8876%204.5878%2010.8499C4.55006%2010.8122%204.52012%2010.7673%204.49969%2010.718C4.47926%2010.6687%204.46875%2010.6159%204.46875%2010.5625C4.46875%2010.5091%204.47926%2010.4562%204.49969%2010.4069C4.52012%2010.3576%204.55006%2010.3128%204.5878%2010.2751L8.36339%206.49998L4.5878%202.7249C4.51157%202.64867%204.46875%202.54529%204.46875%202.43748C4.46875%202.32968%204.51157%202.22629%204.5878%202.15006C4.66403%202.07383%204.76742%202.03101%204.87523%202.03101C4.98303%202.03101%205.08642%202.07383%205.16265%202.15006L9.22515%206.21256C9.26292%206.25029%209.29288%206.29509%209.31333%206.34441C9.33377%206.39373%209.34429%206.44659%209.34429%206.49998C9.34429%206.55337%209.33377%206.60623%209.31333%206.65555C9.29288%206.70487%209.26292%206.74967%209.22515%206.7874Z'%20fill='%231C2E45'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item__blue {
  color: var(--btn-color, #003981);
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__link {
  position: relative;
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child {
  text-decoration-line: none;
}
.p-confirm .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child .p-breadcrumb__link::after {
  display: none;
}
.p-confirm .p-confirm-inner {
  max-width: calc(800 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-confirm .p-contact-form__heading {
  display: none;
}
.p-confirm .form .form-Item .form-Item-Label {
  position: relative;
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  color: var(--font_color, #1c2e45);
  font-size: calc(17 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 17px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-confirm .form .form-Item .form-Item-Label .form-Item-Label-Required {
  color: #e71818;
}
.p-confirm .form .form-Item .form-Item-Label::before {
  display: block;
  content: "";
  width: calc(20 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  background: #7298c8;
}
.p-confirm .form .form-Item .wpcf7-form-control-wrap {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 16px */
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid rgba(114, 152, 200, 0.8);
}
@media screen and (max-width: 767px) {
  .p-confirm .form .form-Item .wpcf7-form-control-wrap {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-confirm .form .p-contact-form__privacy {
  display: none;
}
.p-confirm .form .p-contact-form__consent {
  display: none;
}
.p-confirm .form .button-wrap {
  display: flex;
  gap: calc(40 * var(--to-rem));
  justify-content: center;
  padding-top: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-confirm .form .button-wrap {
    flex-wrap: wrap;
    padding-top: calc(20 * var(--to-rem));
    gap: calc(20 * var(--to-rem));
  }
}
.p-confirm .form .button {
  position: relative;
}
.p-confirm .form .button :where(button, input[type=submit], input[type=button]) {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: transparent;
}
.p-confirm .form .p-contact-form__back-button,
.p-confirm .form .p-contact-form__submit-button--back {
  background: #3587b5;
}
.p-confirm .form .p-contact-form__back-button:hover, .p-confirm .form .p-contact-form__back-button:focus-visible,
.p-confirm .form .p-contact-form__submit-button--back:hover,
.p-confirm .form .p-contact-form__submit-button--back:focus-visible {
  background: #3587b5;
}
.p-confirm .form .p-contact-form__back-button .button__icon,
.p-confirm .form .p-contact-form__submit-button--back .button__icon {
  inset-inline-end: auto;
  inset-inline-start: calc(20 * var(--to-rem));
}
.p-confirm .form .p-contact-form__back-button .button__deco::after,
.p-confirm .form .p-contact-form__submit-button--back .button__deco::after {
  opacity: 0.2;
}
.p-confirm .form .p-contact-form__back-button .button__arrow,
.p-confirm .form .p-contact-form__submit-button--back .button__arrow {
  transform: scaleX(-1);
}
.mw_wp_form_confirm .form-Item .wpcf7-form-control-wrap {
  display: block;
  border-bottom: calc(1 * var(--to-rem)) solid rgba(114, 152, 200, 0.8);
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(28 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form-Item .wpcf7-form-control-wrap {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-confirm .p-contact-form__submit-wrap--confirm,
.p-confirm .p-contact-form__submit-button--confirm {
  display: none !important;
}
.p-contact__complete {
  padding-block: calc(80 * var(--to-rem));
  text-align: center;
}
.p-contact__complete-title {
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .p-contact__complete-title {
    font-size: calc(40 * var(--to-rem));
  }
}
.p-contact__complete-text {
  margin-block-start: calc(30 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-contact__complete-text {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-contact__complete-button {
  margin-block-start: calc(50 * var(--to-rem));
  margin-inline: auto;
}
.p-contact {
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-contact {
    margin-bottom: 0;
  }
}
.p-contact .p-reserve {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contact .p-reserve {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-contact .p-reserve .p-reserve__inner {
  max-width: calc(1120 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  display: flex;
  gap: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contact .p-reserve .p-reserve__inner {
    max-width: calc(345 * var(--to-rem));
    gap: calc(50 * var(--to-rem));
    flex-wrap: wrap;
  }
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web {
  max-width: calc(550 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-contact .p-reserve .p-reserve__inner .p-reserve__web {
    max-width: none;
  }
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__heading {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #003981;
}
@media screen and (max-width: 767px) {
  .p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__heading {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__tel-main {
  display: flex;
  gap: calc(6 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(20 * var(--to-rem));
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__tel-main .p-reserve__tel-icon {
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__tel-main .p-reserve__tel-number {
  color: var(--font_color, #1c2e45);
  text-align: right;
  font-family: var(--font-family-futura);
  font-size: calc(40 * var(--to-rem));
  font-weight: 450;
  line-height: 100%; /* 40px */
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__tel-info {
  display: flex;
  gap: calc(20 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  letter-spacing: 0.42px;
  margin-bottom: calc(15 * var(--to-rem));
}
.p-contact .p-reserve .p-reserve__inner .p-reserve__web .p-reserve__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  letter-spacing: 0.42px;
  margin-bottom: calc(10 * var(--to-rem));
}
.p-contact .p-contact-form {
  padding-bottom: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form {
    padding-bottom: calc(120 * var(--to-rem));
  }
}
.p-contact .p-contact-form .p-contact-form__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .p-contact-form__heading {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(50 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #003981;
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .p-contact-form__heading {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item {
  margin-bottom: calc(50 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item:last-child {
  margin-bottom: 0;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .form-Item-Label {
  position: relative;
  display: flex;
  gap: calc(8 * var(--to-rem));
  align-items: center;
  color: var(--font_color, #1c2e45);
  font-size: calc(17 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 17px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .form-Item-Label span {
  color: #e71818;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .form-Item-Label::before {
  display: block;
  content: "";
  width: calc(20 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  background: #7298c8;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap {
  display: block;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx {
  margin-bottom: calc(34 * var(--to-rem));
  max-width: calc(955 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx .mwform-checkbox-field.horizontal-item:nth-child(7) {
  margin-left: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx .horizontal-item {
    margin-left: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(6, auto);
    column-gap: calc(16 * var(--to-rem));
    row-gap: calc(10 * var(--to-rem));
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: calc(20 * var(--to-rem));
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(7) {
    grid-column: 2;
    grid-row: 1;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(8) {
    grid-column: 2;
    grid-row: 2;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(3) {
    grid-column: 1;
    grid-row: 3;
    margin-bottom: calc(20 * var(--to-rem));
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(9) {
    grid-column: 2;
    grid-row: 3;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(4) {
    grid-column: 1;
    grid-row: 4;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(10) {
    grid-column: 2;
    grid-row: 4;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(5) {
    grid-column: 1;
    grid-row: 5;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(11) {
    grid-column: 2;
    grid-row: 5;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(6) {
    grid-column: 1;
    grid-row: 6;
  }
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx > .mwform-checkbox-field.horizontal-item:nth-of-type(12) {
    grid-column: 2;
    grid-row: 6;
  }
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx .form-checkbox {
  margin-bottom: calc(26 * var(--to-rem)) !important;
  margin-right: calc(5 * var(--to-rem)) !important;
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.checkbox-xxx .form-checkbox {
    margin-bottom: 0 !important;
  }
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.radio-xxx {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(24 * var(--to-rem));
  row-gap: 0;
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.radio-xxx {
    flex-direction: column;
    gap: calc(25 * var(--to-rem));
  }
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap.radio-xxx .horizontal-item {
  margin-left: calc(0 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control {
  margin-left: 0;
  margin-bottom: calc(26 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field {
  margin-bottom: calc(0 * var(--to-rem));
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:last-child,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field:last-child,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field:last-child {
  margin-right: 0;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item .wpcf7-list-item-note,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field .wpcf7-list-item-note,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field .wpcf7-list-item-note {
  font-size: calc(12 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field label,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field label {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item input[type=checkbox],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field input[type=checkbox],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field input[type=checkbox] {
  accent-color: #003981;
  border: 1px solid var(--font_color, #1c2e45);
  border-radius: calc(2 * var(--to-rem));
  margin-right: 0;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item input[type=radio],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field input[type=radio],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  border: 1px solid var(--font_color, #1c2e45);
  border-radius: calc(2 * var(--to-rem));
  background: #fff;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item input[type=radio]::before,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field input[type=radio]::before,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field input[type=radio]::before {
  content: "";
  width: calc(4 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border-right: calc(2 * var(--to-rem)) solid #fff;
  border-bottom: calc(2 * var(--to-rem)) solid #fff;
  transform: rotate(45deg) scale(0);
  transform-origin: center;
  transition: transform 0.2s ease;
  margin-top: calc(-2 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item input[type=radio]:checked,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field input[type=radio]:checked,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field input[type=radio]:checked {
  background: #003981;
  border-color: #003981;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item input[type=radio]:checked::before,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-checkbox-field input[type=radio]:checked::before,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-form-control .mwform-radio-field input[type=radio]:checked::before {
  transform: rotate(45deg) scale(1);
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .form-input,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-text-field input,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-tel-field input,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-email-field input,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap input.form-input {
  border-radius: calc(5 * var(--to-rem));
  border: 1px solid rgba(114, 152, 200, 0.8);
  background: #fff;
  max-width: calc(400 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  width: 100%;
  padding-left: calc(20 * var(--to-rem));
  margin-bottom: calc(12 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .form-textarea,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-textarea-field textarea,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap textarea.form-textarea {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  min-height: calc(180 * var(--to-rem));
  border-radius: calc(5 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid rgba(114, 152, 200, 0.8);
  background: #fff;
  margin-bottom: calc(12 * var(--to-rem));
  padding: calc(20 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .error,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-error,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0;
  color: #e71818;
  font-size: calc(14 * var(--to-rem));
  font-weight: 500;
  line-height: 1.7;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-error,
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  width: 100%;
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap .mwform-error + .mwform-error {
  margin-top: calc(4 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap input[aria-invalid=true],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap textarea[aria-invalid=true],
.p-contact .p-contact-form .p-contact-form__inner .form .form-Item .wpcf7-form-control-wrap select[aria-invalid=true] {
  border-color: #e71818;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  position: relative;
  margin: 0 auto;
  border-radius: calc(5 * var(--to-rem));
  border: calc(2 * var(--to-rem)) solid #7298c8;
  background: #fff;
  margin-bottom: calc(60 * var(--to-rem));
  max-height: calc(375 * var(--to-rem));
  padding: calc(10 * var(--to-rem)) calc(32 * var(--to-rem)) calc(10 * var(--to-rem)) calc(12 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-inner {
  max-width: calc(1020 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(20 * var(--to-rem)) 0 calc(20 * var(--to-rem));
  max-height: calc(260 * var(--to-rem));
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-inner::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-inner p {
  color: #000;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 36px */
  margin-bottom: calc(20 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-inner .p-contact-form__privacy-title {
  font-size: 20px;
  font-weight: 500;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-inner .p-contact-form__privacy-heading {
  color: #000;
  font-size: calc(15 * var(--to-rem));
  margin-bottom: 0;
  font-weight: 500;
  line-height: 180%;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-scrollbar {
  position: absolute;
  top: 50%;
  right: calc(12 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(8 * var(--to-rem));
  height: calc(240 * var(--to-rem));
  border-radius: calc(4 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid #7298c8;
  pointer-events: none;
  padding: calc(2 * var(--to-rem)) 0;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__privacy .p-contact-form__privacy-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(4 * var(--to-rem));
  min-height: calc(32 * var(--to-rem));
  border-radius: calc(4 * var(--to-rem));
  background: #7298c8;
  transform: translateX(-50%);
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent {
  margin-bottom: calc(40 * var(--to-rem));
  text-align: center;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent .error,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent .mwform-error,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent .wpcf7-not-valid-tip {
  margin-top: calc(12 * var(--to-rem));
  text-align: center;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-label {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 1.6;
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-label .mwform-checkbox-field label {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  border: 1px solid var(--font_color, #1c2e45);
  border-radius: calc(2 * var(--to-rem));
  background: #fff;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input::before,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input input[type=checkbox]::before {
  content: "";
  width: calc(4 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border-right: calc(2 * var(--to-rem)) solid #fff;
  border-bottom: calc(2 * var(--to-rem)) solid #fff;
  transform: rotate(45deg) scale(0);
  transform-origin: center;
  transition: transform 0.2s ease;
  margin-top: calc(-2 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input:checked,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input input[type=checkbox]:checked {
  background: #003981;
  border-color: #003981;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input:checked::before,
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__consent-input input[type=checkbox]:checked::before {
  transform: rotate(45deg) scale(1);
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__submit-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 * var(--to-rem));
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__submit-wrap--action {
  display: none;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__submit-button {
  cursor: pointer;
}
.p-contact .p-contact-form .p-contact-form__inner .form .p-contact-form__submit-input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
}
.radio-xxx .mwform-checkbox-field,
.radio-xxx .mwform-radio-field {
  margin-bottom: 0;
}
.mwform-checkbox-field-text {
  white-space: pre-line;
}
.mwform-checkbox-field-text br {
  display: none;
}
@media screen and (max-width: 767px) {
  .mwform-checkbox-field-text br {
    display: block;
  }
}
.mwform-checkbox-field-note {
  display: inline;
}
@media screen and (max-width: 767px) {
  .mwform-checkbox-field-note {
    display: inline-block;
    font-size: calc(12 * var(--to-rem));
    line-height: 1.5;
    margin-left: calc(20 * var(--to-rem));
  }
}
.p-contact--confirm {
  margin-bottom: 0;
}
.p-contact--confirm .mw_wp_form_input .p-contact-form__submit-wrap {
  display: none;
}
.p-contact--confirm .mw_wp_form_confirm .p-contact-form__submit-wrap,
.p-contact--confirm .mw_wp_form_complete .p-contact-form__submit-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contact--confirm .mw_wp_form_confirm .p-contact-form__submit-wrap,
  .p-contact--confirm .mw_wp_form_complete .p-contact-form__submit-wrap {
    flex-direction: column;
    gap: calc(16 * var(--to-rem));
  }
}
.p-contact--confirm .p-contact-form__back-button {
  border: 0;
  cursor: pointer;
  font: inherit;
}
.p-contact--confirm .mw_wp_form_confirm .p-contact-form__heading {
  margin-bottom: calc(60 * var(--to-rem));
}
.p-contact--confirm .mw_wp_form_confirm .form-Item {
  margin-bottom: calc(40 * var(--to-rem));
}
.p-contact--confirm .mw_wp_form_confirm .form-Item:last-child {
  margin-bottom: 0;
}
.p-contact--confirm .mw_wp_form_confirm .form-Item-Label {
  margin-bottom: calc(20 * var(--to-rem));
}
.p-contact--confirm .mw_wp_form_confirm .wpcf7-form-control-wrap {
  display: block;
  border-radius: calc(5 * var(--to-rem));
  border: 1px solid rgba(114, 152, 200, 0.8);
  background: #fff;
  min-height: calc(60 * var(--to-rem));
  padding: calc(18 * var(--to-rem)) calc(20 * var(--to-rem));
  margin-bottom: calc(50 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.8;
}
.p-contact--confirm .mw_wp_form_confirm .wpcf7-form-control-wrap.checkbox-xxx, .p-contact--confirm .mw_wp_form_confirm .wpcf7-form-control-wrap.radio-xxx {
  display: flex;
  flex-wrap: wrap;
  gap: calc(12 * var(--to-rem)) calc(24 * var(--to-rem));
  align-items: flex-start;
}
.p-contact--confirm .mw_wp_form_confirm .wpcf7-form-control-wrap:empty {
  display: none;
}
.p-contact--confirm .mw_wp_form_confirm .mwform-checkbox-field,
.p-contact--confirm .mw_wp_form_confirm .mwform-radio-field,
.p-contact--confirm .mw_wp_form_confirm .wpcf7-list-item {
  margin: 0;
}
.p-contact--confirm .mw_wp_form_confirm .p-contact-form__privacy,
.p-contact--confirm .mw_wp_form_confirm .p-contact-form__consent {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-service-page__body-inner {
    max-width: none !important;
    padding: 0 calc(15 * var(--to-rem)) 0;
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-service-page__body-inner .p-service-page__section {
  margin-bottom: 0;
}
.p-service-page--Cosmetic .p-service-page__body .about {
  max-width: none !important;
  padding: calc(40 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .about {
    padding-top: 0;
  }
}
.p-service-page--Cosmetic .p-service-page__body .about .p-service-page__section {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .about .p-service-page__section .c-text-list {
    padding: calc(15 * var(--to-rem)) !important;
    padding-left: calc(15 * var(--to-rem)) !important;
  }
}
.p-service-page--Cosmetic .p-service-page__body .material {
  max-width: none !important;
  padding: calc(180 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .material {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
  }
}
.p-service-page--Cosmetic .p-service-page__body .material .p-service-page__section {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .material .p-service-page__section .c-heading-line {
    white-space: nowrap;
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-trouble .p-trouble__inner {
  padding: calc(80 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-trouble .p-trouble__inner {
    max-width: none;
    padding: calc(60 * var(--to-rem)) 0 calc(40 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
    font-size: calc(15 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
    font-size: calc(15 * var(--to-rem));
    line-height: 1.4;
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment {
  padding: calc(80 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap {
    max-width: none;
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .p-service-page__section-text {
  font-size: calc(15 * var(--to-rem));
  line-height: 2;
  color: #1c2e45;
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(20 * var(--to-rem)) calc(30 * var(--to-rem));
  margin-top: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list {
    gap: calc(20 * var(--to-rem));
    margin-top: calc(30 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(360 * var(--to-rem));
  padding: calc(20 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item {
    width: 100%;
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem)) calc(20 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item img {
  width: calc(234 * var(--to-rem));
  height: calc(140 * var(--to-rem));
  object-fit: cover;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item img {
    width: calc(305 * var(--to-rem));
    height: calc(200 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item .heading {
  width: 100%;
  margin-top: calc(20 * var(--to-rem));
  padding-bottom: calc(15 * var(--to-rem));
  font-weight: 600;
  font-size: calc(20 * var(--to-rem));
  line-height: 1;
  text-align: center;
  color: #1c2e45;
  border-bottom: 1px dotted #7298c8;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item .heading {
    padding-bottom: calc(18 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item .desc {
  margin-top: calc(10 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  line-height: 1.8;
  color: #1c2e45;
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-introduce-treatment .sec-wrap .treatment-list .list-item .desc {
    margin-top: calc(20 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-prevention {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-prevention {
    max-width: none;
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-label {
  max-width: calc(115 * var(--to-rem));
  padding: calc(5 * var(--to-rem)) 0 calc(4 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-label {
    max-width: calc(102 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Cosmetic .p-service-page__body .c-section {
    padding-bottom: calc(60 * var(--to-rem));
  }
}
.p-service-page--Cosmetic .p-service-page__body .p-drip-price .p-drip-price_inner .p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__head__cosmetic {
  grid-template-columns: 31fr 49fr 34fr;
}
.p-service-page--Cosmetic .p-service-page__body .p-drip-price .p-drip-price_inner .p-price__table-wrapper .p-price__table-wrap .p-price-grid .p-price-grid__group {
  grid-template-columns: 31fr 49fr 34fr;
}
.points {
  padding: 0 calc(20 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .points {
    padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.points .c-heading-line {
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .points .c-heading-line {
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.points .sec-wrap {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .points .sec-wrap {
    max-width: none;
  }
}
.points .sec-wrap .points-sec-lead {
  margin: calc(30 * var(--to-rem)) 0 0;
  font-weight: 400;
  font-size: calc(15 * var(--to-rem));
  line-height: 2;
  color: var(--font_color, #1c2e45);
}
@media screen and (max-width: 767px) {
  .points .sec-wrap .points-sec-lead {
    margin: calc(20 * var(--to-rem)) 0 0;
  }
}
.points .sec-wrap .point-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--to-rem));
  margin-top: calc(40 * var(--to-rem));
}
@media (max-width: 1180px) {
  .points .sec-wrap .point-list {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .points .sec-wrap .point-list {
    margin-top: calc(30 * var(--to-rem));
  }
}
.points .sec-wrap .point-list .point-list__item {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  padding: calc(40 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .points .sec-wrap .point-list .point-list__item {
    max-width: none;
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.points .sec-wrap .point-list .point-list__item .point-list__item-title {
  width: 100%;
  padding-bottom: calc(15 * var(--to-rem));
  font-weight: 600;
  font-size: calc(20 * var(--to-rem));
  color: #003981;
  border-bottom: 1px solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .points .sec-wrap .point-list .point-list__item .point-list__item-title {
    padding-bottom: calc(15 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
    line-height: 1.6;
  }
}
.points .sec-wrap .point-list .point-list__item .point-list__item-txt {
  margin-top: calc(18 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  line-height: 2;
  text-align: left;
}
.p-dental-services {
  padding-block: calc(120 * var(--to-rem)) calc(120 * var(--to-rem));
  background: var(--color-white);
}
@media screen and (min-width: 1024px) {
  .p-dental-services {
    padding-block: calc(200 * var(--to-rem)) calc(200 * var(--to-rem));
  }
}
.p-dental-services__inner {
  max-width: calc(1140px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (min-width: 768px) {
  .p-dental-services__inner {
    padding-inline: calc(20 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-dental-services__header {
  margin-block-end: calc(69 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-dental-services__header {
    margin-block-end: calc(70 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__header {
    margin-block-end: calc(80 * var(--to-rem));
  }
}
/* 共通 section__* をこのセクション見た目で上書き */
.p-dental-services__header .section__title-en {
  text-align: center;
}
.p-dental-services__header .section__title-en:has(.line) .line::after {
  transition-duration: 1.2s;
  transition-timing-function: ease;
}
@media screen and (min-width: 768px) {
  .p-dental-services__header .section__title-en {
    text-align: start;
  }
}
.p-dental-services__header .section__label {
  text-align: center;
  color: var(--color-message-title);
}
@media screen and (min-width: 768px) {
  .p-dental-services__header .section__label {
    text-align: start;
  }
}
/* SP のみ: p-strength__sp-concept と同デザイン（md 以上は非表示） */
.p-dental-services__sp-concept {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  box-sizing: border-box;
  margin-block-end: calc(16 * var(--to-rem));
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + var(--header-height) + 8 * var(--to-rem));
  z-index: 40;
  box-sizing: border-box;
  padding-block: calc(12 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  width: calc(100% + 2 * var(--padding-inner));
  max-width: none;
  margin-inline: calc(-1 * var(--padding-inner));
  z-index: 2;
  padding-top: calc(10 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
  background: transparent;
  /* SP 固定ヘッダー（.p-mv__header-inner）の下に回り込まないようオフセット（p-service-trio__sp-concept と同じ） */
  top: calc(env(safe-area-inset-top, 0px) + 106 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-dental-services__sp-concept {
    display: none;
  }
}
.p-dental-services__sp-concept-line {
  flex-shrink: 0;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  background: linear-gradient(351deg, #daa726 0%, #ffd364 100%);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.95);
}
@media screen and (min-width: 768px) {
  .p-dental-services__sp-concept-line {
    box-shadow: none;
  }
}
.p-dental-services__sp-concept-text {
  color: #daa726;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.98), 0 1px 1px rgba(255, 255, 255, 0.9);
}
@media screen and (min-width: 768px) {
  .p-dental-services__sp-concept-text {
    text-shadow: none;
  }
}
.p-dental-services__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (min-width: 1024px) {
  .p-dental-services__grid {
    max-width: calc(1140 * var(--to-rem));
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: calc(20 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__item--wide {
    grid-column: auto;
    max-width: none;
  }
}
.p-dental-services__item {
  display: grid;
  grid-template-columns: calc(90 * var(--to-rem)) minmax(0, 1fr);
  gap: calc(20 * var(--to-rem));
  align-items: start;
  padding-block: calc(24 * var(--to-rem)) calc(28 * var(--to-rem));
  border-block-end: 1px solid #dae4f0;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__item {
    grid-template-columns: calc(105 * var(--to-rem)) minmax(0, 1fr);
    padding-block: calc(28 * var(--to-rem)) calc(32 * var(--to-rem));
    column-gap: calc(20 * var(--to-rem));
    cursor: pointer;
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__item.is-accordion-ready {
    padding-block-start: calc(25 * var(--to-rem));
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-dental-services__item:hover {
    background-color: #f4fbff;
  }
}
@media (hover: none) and (pointer: coarse) {
  .p-dental-services__item:active {
    background-color: #f4fbff;
  }
}
.p-dental-services__item--no-border {
  border-block-end: 0;
}
.p-dental-services__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(90 * var(--to-rem));
  height: calc(90 * var(--to-rem));
  aspect-ratio: 1/1;
  border-radius: 10px;
  background: #f4fbff;
  flex-shrink: 0;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__icon-wrap {
    width: calc(105 * var(--to-rem));
    height: calc(105 * var(--to-rem));
  }
}
.p-dental-services__icon {
  display: block;
  width: 60%;
  max-width: calc(74 * var(--to-rem));
  height: auto;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-dental-services__icon {
    width: 50%;
  }
}
/* 成人矯正・小児矯正アイコンのみ Figma 指定サイズ */
.p-dental-services__icon--services03 {
  width: calc(73.25 * var(--to-rem));
  height: calc(37 * var(--to-rem));
  max-width: none;
  aspect-ratio: 73.25/37;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-dental-services__icon--services03 {
    width: calc(73.25 * var(--to-rem));
  }
}
.p-dental-services__icon--services04 {
  width: calc(77 * var(--to-rem));
  height: calc(26 * var(--to-rem));
  max-width: none;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-dental-services__icon--services04 {
    width: calc(77 * var(--to-rem));
  }
}
.p-dental-services__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__body {
    justify-content: flex-start;
    padding-block-start: calc(4 * var(--to-rem));
  }
}
.p-dental-services__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(12 * var(--to-rem));
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__toggle {
    cursor: default;
    pointer-events: none;
  }
}
.p-dental-services__toggle-icon {
  position: relative;
  width: calc(19 * var(--to-rem));
  height: calc(19 * var(--to-rem));
  flex-shrink: 0;
  color: #003981;
}
.p-dental-services__toggle-icon::before, .p-dental-services__toggle-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: currentColor;
}
.p-dental-services__toggle-icon::before {
  width: 100%;
  height: 1px;
}
.p-dental-services__toggle-icon::after {
  width: 1px;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__toggle-icon {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__details {
    display: block !important;
    max-width: calc(405 * var(--to-rem));
    max-height: none;
    opacity: 1;
    overflow: visible;
    transition: none;
  }
}
.p-dental-services__details[hidden] {
  display: none !important;
}
.p-dental-services__details {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
.p-dental-services__item.is-open .p-dental-services__details {
  max-height: none;
  opacity: 1;
}
.p-dental-services__item.is-open .p-dental-services__toggle-icon::after {
  content: none;
}
@media screen and (max-width: 1023px) {
  .p-dental-services__item.is-accordion-ready {
    align-items: center;
    padding-right: calc(11 * var(--to-rem));
    grid-template-rows: auto auto;
    column-gap: calc(20 * var(--to-rem));
    row-gap: 0;
  }
  .p-dental-services__item.is-accordion-ready .p-dental-services__body {
    display: contents;
  }
  .p-dental-services__item.is-accordion-ready .p-dental-services__icon-wrap {
    grid-column: 1;
    grid-row: 1;
  }
  .p-dental-services__item.is-accordion-ready .p-dental-services__toggle {
    grid-column: 2;
    grid-row: 1;
  }
  .p-dental-services__item.is-accordion-ready .p-dental-services__details {
    grid-column: 1/-1;
    grid-row: 2;
    margin-block-start: 0;
  }
}
.p-dental-services__name {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(17 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
}
@media screen and (min-width: 1024px) {
  .p-dental-services__name {
    font-size: calc(19 * var(--to-rem));
    line-height: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__name br {
    display: none;
  }
}
.p-dental-services__text {
  margin: 0;
  margin-block-start: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
@media screen and (max-width: 767px) {
  .p-dental-services__text {
    margin-top: calc(15 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-dental-services__text {
    margin-block-start: calc(15 * var(--to-rem));
    line-height: 170%;
  }
}
.p-dental-services__link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: calc(5 * var(--to-rem));
  align-self: flex-end;
  margin-block-start: calc(20 * var(--to-rem));
  color: var(--btn-color, #003981);
  text-align: right;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: color 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
@media screen and (min-width: 1024px) {
  .p-dental-services__link {
    display: flex;
    width: 100%;
    margin-inline-start: auto;
    margin-inline-end: 0;
  }
}
.p-dental-services__link:hover,
.p-dental-services__link:focus-visible {
  color: var(--btn-color, #003981);
}
/* テキスト部分のみ：MV ナビと同様 左→右で現れ、外すと右へ収まる下線 */
.p-dental-services__link-text {
  position: relative;
  display: inline-block;
}
.p-dental-services__link-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.08em;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-dental-services__link:hover .p-dental-services__link-text::after,
.p-dental-services__link:focus-visible .p-dental-services__link-text::after {
  transform: scaleX(1);
  transform-origin: left center;
}
@media (prefers-reduced-motion: reduce) {
  .p-dental-services__link-text::after {
    transition: none;
  }
}
.p-dental-services__link-icon-wrap {
  position: relative;
  flex-shrink: 0;
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
}
.p-dental-services__link-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-dental-services__link-icon--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.p-dental-services__link:hover .p-dental-services__link-icon--default,
.p-dental-services__link:focus-visible .p-dental-services__link-icon--default {
  opacity: 0;
}
.p-dental-services__link:hover .p-dental-services__link-icon--hover,
.p-dental-services__link:focus-visible .p-dental-services__link-icon--hover {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .p-dental-services__link-icon {
    transition: none;
  }
}
.p-dev-notice {
  padding-block: calc(24 * var(--to-rem));
  background-color: #fff3cd;
}
@media screen and (min-width: 768px) {
  .p-dev-notice {
    padding-block: calc(32 * var(--to-rem));
  }
}
.p-dev-notice__inner {
  max-width: calc(var(--inner) + var(--padding-inner) * 2);
}
.p-dev-notice__content {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--to-rem));
  color: var(--color-text);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-dev-notice__content {
    gap: calc(20 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
.p-dev-notice__title {
  color: var(--color-text);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-dev-notice__title {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-dev-notice__text code {
  padding-block: calc(2 * var(--to-rem));
  padding-inline: calc(6 * var(--to-rem));
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-primary);
  font-family: "Courier New", Courier, monospace;
  font-size: calc(13 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-dev-notice__text code {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-dev-notice__list {
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--to-rem));
  margin: 0;
  padding-inline-start: calc(24 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-dev-notice__list {
    gap: calc(16 * var(--to-rem));
    padding-inline-start: calc(32 * var(--to-rem));
  }
}
.p-dev-notice__item {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  line-height: 1.8;
}
.p-dev-notice__item strong {
  color: var(--color-primary);
  font-weight: var(--fw-bold);
}
.p-dev-notice__item code {
  padding-block: calc(2 * var(--to-rem));
  padding-inline: calc(6 * var(--to-rem));
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--color-primary);
  font-family: "Courier New", Courier, monospace;
  font-size: calc(13 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-dev-notice__item code {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-error {
  padding-block: calc(60 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-error {
    padding-block: calc(80 * var(--to-rem));
  }
}
.p-error__header {
  margin-block-end: calc(24 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-error__header {
    margin-block-end: calc(32 * var(--to-rem));
  }
}
.p-error__title {
  color: var(--color-text);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-error__title {
    font-size: calc(32 * var(--to-rem));
  }
}
.p-error__content {
  max-width: calc(640 * var(--to-rem));
  margin-inline: auto;
  color: var(--color-text);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-error__content {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-error__content p + p {
  margin-block-start: calc(24 * var(--to-rem));
}
.p-faq {
  padding-block: calc(120 * var(--to-rem)) calc(120 * var(--to-rem));
  background: var(--color-faq-bg);
  color: var(--color-navy-text);
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-block: calc(200 * var(--to-rem)) calc(200 * var(--to-rem));
  }
}
.p-faq__inner {
  display: grid;
  gap: calc(69 * var(--to-rem));
  max-width: calc(1140px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
@media screen and (min-width: 1024px) {
  .p-faq__inner {
    grid-template-columns: minmax(calc(200 * var(--to-rem)), calc(260 * var(--to-rem))) minmax(0, 1fr);
    gap: calc(100 * var(--to-rem));
    align-items: start;
  }
}
.p-faq__aside {
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-faq__aside {
    align-self: start;
    text-align: start;
  }
}
.p-faq__aside .section__label {
  margin-top: calc(15 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-faq__aside .section__label {
    text-align: start;
  }
}
.p-faq__aside .section__title-en {
  margin: 0;
  text-align: center;
}
.p-faq__aside .section__title-en[data-fill-text]::after {
  transition-duration: 1.2s;
}
@media screen and (min-width: 768px) {
  .p-faq__aside .section__title-en {
    text-align: start;
  }
}
/* SP のみ: p-dental-services__sp-concept と同デザイン（md 以上は非表示） */
.p-faq__sp-concept {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  box-sizing: border-box;
  margin-block-end: calc(36 * var(--to-rem));
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + var(--header-height) + 8 * var(--to-rem));
  z-index: 40;
  box-sizing: border-box;
  padding-block: calc(12 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  width: calc(100% + 2 * var(--padding-inner));
  max-width: none;
  margin-inline: calc(-1 * var(--padding-inner));
  z-index: 2;
  padding-top: calc(10 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
  background: transparent;
  /* SP 固定ヘッダー（.p-mv__header-inner）の下に回り込まないようオフセット（p-service-trio__sp-concept と同じ） */
  top: calc(env(safe-area-inset-top, 0px) + 106 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-faq__sp-concept {
    display: none;
    box-shadow: none;
  }
}
.p-faq__sp-concept-line {
  flex-shrink: 0;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  background: linear-gradient(351deg, #daa726 0%, #ffd364 100%);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.95);
}
@media screen and (min-width: 768px) {
  .p-faq__sp-concept-line {
    box-shadow: none;
  }
}
.p-faq__sp-concept-text {
  color: #daa726;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.98), 0 1px 1px rgba(255, 255, 255, 0.9);
}
@media screen and (min-width: 768px) {
  .p-faq__sp-concept-text {
    text-shadow: none;
  }
}
.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: calc(40 * var(--to-rem));
  max-width: calc(880 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-faq__list {
    gap: calc(60 * var(--to-rem));
  }
}
.p-faq__list.p-faq__list__first {
  flex-direction: row;
  max-width: calc(1140 * var(--to-rem));
  flex-wrap: wrap;
  margin-top: calc(40 * var(--to-rem));
}
@media (max-width: 1140px) {
  .p-faq__list.p-faq__list__first {
    justify-content: center;
  }
}
.p-faq__item {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.p-faq__item.p-faq__item__first {
  max-width: calc(540 * var(--to-rem));
  width: 100%;
}
.p-faq__item__first .p-faq__trigger {
  cursor: default;
  pointer-events: none;
}
.p-faq__trigger {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
}
.p-faq__q {
  display: grid;
  grid-template-columns: calc(48 * var(--to-rem)) minmax(0, 1fr) auto;
  gap: 0 calc(4 * var(--to-rem));
  align-items: center;
  padding-block-end: calc(15 * var(--to-rem));
  border-block-end: 1px solid #ebe9e4;
  transition: padding-block-end 0.4s ease;
}
@media screen and (min-width: 768px) {
  .p-faq__q {
    grid-template-columns: calc(60 * var(--to-rem)) minmax(0, 1fr) auto;
  }
}
.p-faq__item.is-open .p-faq__q {
  padding-block-end: 0;
  border-block-end: 0;
}
.p-faq__item__first .p-faq__q {
  grid-template-columns: calc(48 * var(--to-rem)) minmax(0, 1fr);
}
@media screen and (min-width: 768px) {
  .p-faq__item__first .p-faq__q {
    grid-template-columns: calc(60 * var(--to-rem)) minmax(0, 1fr);
  }
}
.p-faq__mark {
  margin: 0;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(35 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(1.75 * var(--to-rem));
  text-align: center;
}
.p-faq__mark--q {
  color: var(--btn-color, #003981);
}
.p-faq__question {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 32px */
  text-align: start;
}
@media screen and (min-width: 1024px) {
  .p-faq__question {
    font-size: calc(20 * var(--to-rem));
    font-weight: 600;
    line-height: 160%; /* 32px */
  }
}
.p-faq__q-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(10 * var(--to-rem));
  height: calc(15.401 * var(--to-rem));
  aspect-ratio: 10/15.401;
}
.p-faq__q-icon-img {
  display: block;
  width: calc(10 * var(--to-rem));
  height: calc(15.401 * var(--to-rem));
  aspect-ratio: 10/15.401;
  object-fit: contain;
  transition: transform 0.42s cubic-bezier(0.33, 1, 0.68, 1);
  /* 閉じた状態 */
  transform: rotate(180deg);
}
.p-faq__item.is-open .p-faq__q-icon-img {
  /* 開いた状態 */
  transform: rotate(0deg);
}
.p-faq__panel[hidden] {
  display: none !important;
}
.p-faq__rule {
  margin-block: calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
  height: 0;
  border-block-start: 1px solid #ebe9e4;
  width: 100%;
}
.p-faq__item:not(.is-open) .p-faq__rule {
  display: none;
}
.p-faq__panel-body {
  min-width: 0;
}
.p-faq__a {
  display: grid;
  grid-template-columns: calc(48 * var(--to-rem)) minmax(0, 1fr);
  gap: 0 calc(4 * var(--to-rem));
  align-items: start;
}
@media screen and (min-width: 768px) {
  .p-faq__a {
    grid-template-columns: calc(60 * var(--to-rem)) minmax(0, 1fr);
  }
}
.p-faq__mark--a {
  margin-block-start: calc(12 * var(--to-rem));
  color: #daa726;
  text-align: center;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(35 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(1.75 * var(--to-rem));
}
.p-faq__answer {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  max-width: 46em;
}
@media screen and (min-width: 1024px) {
  .p-faq__answer {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-first__page-header {
  position: relative;
  z-index: 2;
  padding-bottom: 0;
}
body.is-page-fixed-header-at-top .p-first__page-header {
  padding-bottom: var(--page-fixed-header-offset, 0px);
}
@media screen and (max-width: 767px) {
  body.is-page-fixed-header-at-top .p-first__fixed-header .p-mv__header-inner.is-fixed {
    top: calc(env(safe-area-inset-top, 0px) + var(--page-top-bar-offset, 0px));
  }
}
@media screen and (min-width: 768px) {
  body.is-page-fixed-header-at-top .p-first__fixed-header {
    top: calc(env(safe-area-inset-top, 0px) + var(--page-top-bar-offset, 0px));
  }
}
.p-first__fixed-header {
  position: relative;
  z-index: 500;
  transition: opacity 0.48s cubic-bezier(0.33, 0, 0.2, 1), transform 0.48s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-first__fixed-header.is-drawer-open {
  z-index: 800;
}
@media screen and (max-width: 767px) {
  .p-first__fixed-header .p-mv__header-inner.is-fixed {
    top: env(safe-area-inset-top, 0px);
  }
}
@media screen and (min-width: 768px) {
  .p-first__fixed-header {
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    inset-inline: 0;
    background: #fff;
  }
}
.p-first__fixed-header.is-page-fixed-header-hidden {
  opacity: 0;
  transform: translateY(calc(-10 * var(--to-rem)));
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-first__fixed-header.is-page-fixed-header-hidden {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-first__fixed-header .p-mv__top-bar {
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-first__fixed-header .p-mv__header {
    position: relative;
    z-index: 1;
  }
  .p-first__fixed-header .p-mv__header-inner,
  .p-first__fixed-header .p-mv__header-inner.is-fixed {
    display: block;
    height: auto;
    padding: 0;
    background: #fff;
    position: static;
    top: auto;
    inset-inline: auto;
    opacity: 1;
    pointer-events: auto;
  }
  .p-first__fixed-header .p-mv__header-inner > .p-mv__header-left,
  .p-first__fixed-header .p-mv__header-right > .p-mv__top-bar-right,
  .p-first__fixed-header .p-mv__header-right > .p-mv__header-right-rule {
    display: none;
  }
  .p-first__fixed-header .p-mv__header-right {
    display: block;
    flex: none;
    width: 100%;
  }
  .p-first__fixed-header .p-mv__header-right-bottom.is-fixed {
    position: static;
    top: auto;
    inset-inline: auto;
    z-index: auto;
    width: 100%;
    margin: 0;
    opacity: 1;
    pointer-events: auto;
  }
}
.p-first {
  --first-detail-sticky-offset: calc(var(--page-fixed-header-offset, 0px) + calc(16 * var(--to-rem)));
  max-width: calc(1440 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-first {
    margin-bottom: 0;
  }
}
.p-first .p-first-detail__block {
  scroll-margin-top: calc(var(--first-detail-sticky-offset) + 110 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail__block {
    scroll-margin-top: calc(24 * var(--to-rem));
  }
}
.p-first .p-policy {
  padding-bottom: calc(180 * var(--to-rem));
  margin-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-policy {
    padding-bottom: calc(100 * var(--to-rem));
    margin-top: calc(80 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner {
  max-width: calc(1190 * var(--to-rem));
  display: flex;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media (max-width: 1199px) {
  .p-first .p-policy .p-policy__inner {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner {
    flex-wrap: wrap;
    flex-direction: column;
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner .p-policy__image {
  position: relative;
  z-index: 1;
}
.p-first .p-policy .p-policy__inner .p-policy__image img {
  max-width: calc(720 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  border-radius: calc(20 * var(--to-rem));
}
.p-first .p-policy .p-policy__inner .p-policy__image::after {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 90.38%);
  border-radius: calc(20 * var(--to-rem));
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__image::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 90.38%);
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content {
  margin-left: calc(-160 * var(--to-rem));
  position: relative;
  z-index: 2;
}
@media (max-width: 1199px) {
  .p-first .p-policy .p-policy__inner .p-policy__content {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__content {
    margin-left: 0;
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content .p-policy__label {
  margin-top: calc(66 * var(--to-rem));
  color: var(--Golden-Grass, var(--color-orange-50, #daa726));
  font-family: var(--font-family-futura);
  font-size: calc(20 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 20px */
  letter-spacing: 1px;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__content .p-policy__label {
    margin: calc(20 * var(--to-rem)) 0 calc(30 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content .p-policy__title {
  color: var(--btn-color, #003981);
  font-size: calc(42 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 42px */
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__content .p-policy__title {
    font-size: calc(28 * var(--to-rem));
    line-height: 160%;
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content .p-policy__text {
  color: #222;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(20 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__content .p-policy__text {
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content .p-policy__list {
  display: flex;
  gap: calc(10 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-policy .p-policy__inner .p-policy__content .p-policy__list {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(10 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-first .p-policy .p-policy__inner .p-policy__content .p-policy__list .p-policy__item {
  padding: calc(20 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(28 * var(--to-rem));
  color: var(--btn-color, #003981);
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 15px */
}
.p-first .p-first-detail {
  padding: calc(160 * var(--to-rem)) 0 calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-first .p-first-detail.p-first-detail-first {
  padding: calc(160 * var(--to-rem)) 0 0;
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail.p-first-detail-first {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
  }
}
.p-first .p-first-detail .p-first-detail__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  max-width: none;
  padding-inline: calc(15 * var(--to-rem));
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav {
  --first-detail-nav-release-shift: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(100 * var(--to-rem));
  position: relative;
  z-index: 20;
  background-color: #fff;
  transform: translateY(calc(-1 * var(--first-detail-nav-release-shift)));
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav {
    flex-wrap: wrap;
    margin-bottom: calc(80 * var(--to-rem));
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item {
  max-width: calc(285 * var(--to-rem));
  width: 100%;
  text-align: center;
  background-color: rgba(0, 57, 129, 0.08);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item {
    margin-bottom: 0;
    max-width: calc(171 * var(--to-rem));
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item.is-active {
  background-color: #003981;
  color: #fff;
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link {
  display: block;
  width: 100%;
  height: 100%;
  padding: calc(18 * var(--to-rem)) 0 calc(17 * var(--to-rem));
  color: var(--btn-color, #003981);
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
  position: relative;
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link.is-active {
  color: #fff;
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link.is-active::after {
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link {
    font-size: calc(14 * var(--to-rem));
    padding: 0;
    height: calc(50 * var(--to-rem));
    justify-content: center;
    align-items: center;
    display: flex;
    line-height: 140%; /* 19.6px */
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(20 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background-image: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.55747%2014.1923L3.30747%207.94229C3.2494%207.88422%203.20334%207.81528%203.17191%207.73941C3.14048%207.66354%203.12431%207.58223%203.12431%207.5001C3.12431%207.41798%203.14048%207.33666%203.17191%207.26079C3.20334%207.18492%203.2494%207.11598%203.30747%207.05792C3.36554%206.99985%203.43448%206.95378%203.51035%206.92236C3.58622%206.89093%203.66753%206.87476%203.74966%206.87476C3.83178%206.87476%203.9131%206.89093%203.98897%206.92236C4.06484%206.95378%204.13378%206.99985%204.19184%207.05792L9.99965%2012.8665L15.8075%207.05792C15.9247%206.94064%2016.0838%206.87476%2016.2497%206.87476C16.4155%206.87476%2016.5746%206.94064%2016.6918%207.05792C16.8091%207.17519%2016.875%207.33425%2016.875%207.5001C16.875%207.66596%2016.8091%207.82502%2016.6918%207.94229L10.4418%2014.1923C10.3838%2014.2504%2010.3149%2014.2965%2010.239%2014.328C10.1631%2014.3594%2010.0818%2014.3756%209.99965%2014.3756C9.91752%2014.3756%209.83619%2014.3594%209.76032%2014.328C9.68444%2014.2965%209.61551%2014.2504%209.55747%2014.1923Z'%20fill='%23003981'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item .p-first-detail__nav-link::after {
    display: none;
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(1)::after, .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(2)::after, .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(3)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: calc(1 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(2)::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(1)::before, .p-first .p-first-detail .p-first-detail__inner .p-first-detail__nav .p-first-detail__nav-item:nth-child(2)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: calc(1 * var(--to-rem));
    background-color: var(--color-white);
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block {
  max-width: calc(1140 * var(--to-rem));
  margin: 0 auto;
  width: 100%;
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block.p-flow {
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__block.p-flow {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .p-belongings__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--to-rem));
  margin-top: calc(30 * var(--to-rem));
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .p-belongings__list {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .p-belongings__list .p-belongings__item {
  border-radius: calc(10 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid #dae4f0;
  background: #fff;
  max-width: calc(373 * var(--to-rem));
  width: 100%;
  height: calc(80 * var(--to-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--font_color, #1c2e45);
  font-size: calc(17 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 17px */
  position: relative;
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .p-belongings__list .p-belongings__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(10 * var(--to-rem));
  height: 100%;
  background: #dae4f0;
  border-radius: calc(10 * var(--to-rem)) 0 0 calc(10 * var(--to-rem));
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .p-payment__text {
  margin-top: calc(20 * var(--to-rem));
  max-width: calc(720 * var(--to-rem));
  width: 100%;
  color: #222;
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block.p-first-faq {
  margin-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__block.p-first-faq {
    margin-top: calc(100 * var(--to-rem));
  }
}
.p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .c-heading-line#questions {
  scroll-margin-top: calc(var(--first-detail-sticky-offset) + 24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first .p-first-detail .p-first-detail__inner .p-first-detail__block .c-heading-line#questions {
    scroll-margin-top: calc(24 * var(--to-rem));
  }
}
:root {
  --first-detail-sticky-offset: 220px; /* ← 実際のヘッダー高さ */
}
body.has-page-fixed-header {
  padding-top: 0;
  scroll-padding-top: calc(var(--page-top-bar-offset, 0px) + var(--page-fixed-header-offset, 0px));
}
/* フッター内は 1060px 以下を SP 相当（共通 lg=1024 より広いまで SP） */
.p-footer {
  padding-block: calc(80 * var(--to-rem)) calc(40 * var(--to-rem));
  background: #051324;
  color: var(--color-white);
}
@media screen and (min-width: 1024px) {
  .p-footer {
    padding-block: calc(180 * var(--to-rem)) calc(60 * var(--to-rem));
    position: fixed;
    inset: auto 0 0 0;
    z-index: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    pointer-events: none;
  }
}
.p-footer.is-active {
  pointer-events: auto;
}
.p-footer__inner {
  max-width: calc(1140px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__inner {
    padding-inline: var(--padding-inner);
  }
}
.p-footer__upper {
  display: grid;
  gap: calc(60 * var(--to-rem));
}
@media screen and (min-width: 1061px) {
  .p-footer__upper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
    gap: calc(48 * var(--to-rem));
    align-items: start;
  }
}
.p-footer__top {
  display: grid;
  gap: calc(40 * var(--to-rem));
}
.p-footer__brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(20 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__brand {
    gap: calc(30 * var(--to-rem));
  }
}
.p-footer__brand-text {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .p-footer__brand-text {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(12 * var(--to-rem));
  }
}
.p-footer__logo-link {
  display: inline-block;
  flex-shrink: 0;
  line-height: 0;
}
.p-footer__logo {
  height: auto;
  max-height: calc(65 * var(--to-rem));
  object-fit: contain;
}
.p-footer__name {
  margin: 0;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}
@media screen and (min-width: 1061px) {
  .p-footer__name {
    font-size: calc(13 * var(--to-rem));
    letter-spacing: calc(1.43 * var(--to-rem));
  }
}
.p-footer__tagline {
  margin: 0;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: calc(1.43 * var(--to-rem));
}
@media screen and (min-width: 1061px) {
  .p-footer__tagline {
    font-size: calc(18 * var(--to-rem));
    letter-spacing: calc(1.98 * var(--to-rem));
  }
}
.p-footer__info {
  display: grid;
  gap: calc(35 * var(--to-rem));
  padding-block-start: calc(10 * var(--to-rem));
  border-block-start: 1px solid rgba(204, 204, 204, 0.1); /* #CCC @ opacity 0.1, height 1px */
}
@media screen and (min-width: 768px) {
  .p-footer__info {
    gap: calc(30 * var(--to-rem));
  }
}
.p-footer__info-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: calc(16 * var(--to-rem)) calc(20 * var(--to-rem));
  padding-block-start: calc(10 * var(--to-rem));
  border-block-start: 1px solid rgba(204, 204, 204, 0.1); /* #CCC @ opacity 0.1 */
}
.p-footer__info-block:first-child {
  gap: calc(16 * var(--to-rem)) calc(24 * var(--to-rem));
  border-block-start: none;
  padding-block-start: 0;
}
.p-footer__info-block-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* 診療時間だけSPで縦並び */
.p-footer__info-block--hours {
  flex-direction: column;
  gap: calc(0 * var(--to-rem));
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .p-footer__info-block--hours {
    flex-direction: row;
    align-items: flex-start;
    gap: calc(16 * var(--to-rem)) calc(24 * var(--to-rem));
  }
}
.p-footer__info-title {
  flex-shrink: 0;
  margin: 0;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (min-width: 1061px) {
  .p-footer__info-title {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-footer__info-text {
  margin: 0;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (min-width: 1061px) {
  .p-footer__info-text {
    font-size: calc(14 * var(--to-rem));
  }
}
/* アクセスセクションの診療表と同レイアウト。背景のみ #FFF + opacity（子要素へは伝えない） */
.p-footer__schedule {
  position: relative;
  z-index: 0;
  width: 100%;
  min-width: 0;
  margin-block-start: calc(12 * var(--to-rem));
}
.p-footer__schedule-head {
  position: relative;
  z-index: 0;
  display: grid;
  box-sizing: border-box;
  grid-template-columns: minmax(calc(88 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: calc(40 * var(--to-rem));
  padding-inline: calc(8 * var(--to-rem));
  overflow: hidden;
  color: #fff;
}
.p-footer__schedule-head::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: #fff;
  opacity: 0.12;
}
.p-footer__schedule-head > * {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-head {
    grid-template-columns: auto repeat(8, minmax(0, 1fr));
    column-gap: clamp(4 * var(--to-rem), 2.8vw, 43 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    border-radius: 0;
  }
}
.p-footer__schedule-head-pc-gutter {
  display: none;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-head-pc-gutter {
    display: block;
    margin: 0;
    padding: 0;
    min-width: 0;
    overflow: hidden;
    color: transparent;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: calc(15 * var(--to-rem));
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: calc(0.45 * var(--to-rem));
    white-space: nowrap;
    user-select: none;
    pointer-events: none;
  }
}
.p-footer__schedule-head-title--sp {
  display: flex;
  align-items: center;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: calc(0.39 * var(--to-rem));
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-head-title--sp {
    display: none;
  }
}
.p-footer__schedule-head .p-footer__schedule-cell {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-head .p-footer__schedule-cell {
    min-width: 0;
    font-size: calc(14 * var(--to-rem));
  }
}
.p-footer__schedule-body {
  position: relative;
  z-index: 0;
  display: grid;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: calc(40 * var(--to-rem));
  grid-template-columns: minmax(calc(88 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  padding-block: 0;
  padding-inline: calc(8 * var(--to-rem));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-block-start: none;
}
.p-footer__schedule-body::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: #fff;
  opacity: 0.03;
}
.p-footer__schedule-body > * {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-body {
    grid-template-columns: auto repeat(8, minmax(0, 1fr));
    column-gap: clamp(4 * var(--to-rem), 2.8vw, 43 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    border-radius: 0;
  }
}
.p-footer__schedule-symbols {
  display: grid;
  grid-column: 2/span 8;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: center;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-symbols {
    display: contents;
  }
}
.p-footer__schedule-time {
  grid-column: 1;
  margin: 0;
  text-align: left;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: calc(0.39 * var(--to-rem));
  white-space: nowrap;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-time {
    min-width: 0;
    text-align: center;
    font-size: calc(15 * var(--to-rem));
    letter-spacing: calc(0.45 * var(--to-rem));
  }
}
.p-footer__schedule-body .p-footer__schedule-cell {
  color: #fff;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-body .p-footer__schedule-cell {
    min-width: 0;
    font-size: calc(14 * var(--to-rem));
  }
}
.p-footer__schedule-notes {
  margin: 0;
  margin-block-start: calc(15 * var(--to-rem));
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (min-width: 1061px) {
  .p-footer__schedule-notes {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media screen and (min-width: 1061px) {
  .p-footer__contact {
    margin-block-start: 0;
    padding-block-start: 0;
    padding-inline-start: calc(40 * var(--to-rem));
  }
}
/* 電話・診療時間（中央：アイコン+電話／その下に時間。右：円ボタンを縦中央） */
.p-footer__contact-tel {
  position: relative;
  padding-block: calc(25 * var(--to-rem));
  transition: background-color 0.2s ease;
}
@media screen and (min-width: 768px) {
  .p-footer__contact-tel {
    padding-block: calc(40 * var(--to-rem));
  }
}
.p-footer__contact-tel:hover, .p-footer__contact-tel:focus-within {
  background: rgba(255, 255, 255, 0.06);
}
.p-footer__contact-tel::before, .p-footer__contact-tel::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  height: 1px;
  background: #fff;
  opacity: 0.15;
  pointer-events: none;
}
.p-footer__contact-tel::before {
  top: 0;
}
.p-footer__contact-tel::after {
  bottom: 0;
}
.p-footer__tel-layout {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: calc(6 * var(--to-rem));
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-footer__tel-layout {
    align-items: center;
  }
}
.p-footer__tel-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.p-footer__tel-line {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--to-rem));
  width: 100%;
}
.p-footer__tel-icon {
  flex-shrink: 0;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
}
@media screen and (min-width: 1061px) {
  .p-footer__tel-icon {
    width: calc(25 * var(--to-rem));
    height: calc(25 * var(--to-rem));
  }
}
.p-footer__tel-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.p-footer__tel {
  margin: 0;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(35 * var(--to-rem));
  font-weight: 450;
  line-height: 1;
}
@media screen and (min-width: 1061px) {
  .p-footer__tel {
    font-size: calc(40 * var(--to-rem));
  }
}
.p-footer__tel-link {
  color: inherit;
  text-decoration: none;
}
/* 円形矢印（電話・CTA共通） */
.p-footer__circle-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
  border-radius: 50%;
  background: #003981;
  color: inherit;
  text-decoration: none;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}
a.p-footer__circle-btn:hover {
  background: #004a9e;
}
.p-footer__circle-btn-arrow {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-footer__contact-tel .p-footer__hours {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: calc(8 * var(--to-rem)) calc(12 * var(--to-rem));
  margin: calc(8 * var(--to-rem)) 0 0;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(0.39 * var(--to-rem));
  text-align: left;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-footer__contact-tel .p-footer__hours {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
}
.p-footer__hours {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  margin: calc(16 * var(--to-rem)) 0 0;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(0.39 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 1061px) {
  .p-footer__hours {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(12 * var(--to-rem)) calc(16 * var(--to-rem));
  }
}
.p-footer__hours-item {
  display: inline;
}
.p-footer__hours-item:last-child {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-footer__hours-item:last-child {
    display: inline;
  }
}
/* 3カラム CTA */
.p-footer__ctas {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.p-footer__ctas::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.5;
  pointer-events: none;
}
.p-footer__ctas:last-child::after {
  display: none;
}
.p-footer__cta {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  /* 上段は可変で確保し、中段ラベル・下段ボタンで高さを揃えて横一列に見えるようにする */
  grid-template-rows: minmax(0, 1fr) auto auto;
  align-items: center;
  justify-items: center;
  row-gap: calc(4 * var(--to-rem));
  width: 100%;
  height: calc(114 * var(--to-rem));
  min-width: 0;
  min-height: calc(114 * var(--to-rem));
  max-width: none;
  max-height: calc(114 * var(--to-rem));
  margin-inline: 0;
  padding: calc(14 * var(--to-rem)) calc(8 * var(--to-rem));
  color: inherit;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease;
}
.p-footer__cta:hover, .p-footer__cta:focus-visible {
  background: rgba(255, 255, 255, 0.06);
}
.p-footer__cta::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 1px;
  height: auto;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.5;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-footer__cta {
    /* セル幅いっぱいにして ::after（区切り線）右端とホバー背景を一致させる */
    width: 100%;
    height: calc(160 * var(--to-rem));
    min-width: 0;
    min-height: calc(160 * var(--to-rem));
    max-width: none;
    max-height: calc(160 * var(--to-rem));
    margin-inline: 0;
    justify-self: stretch;
    padding: calc(10 * var(--to-rem)) calc(8 * var(--to-rem)) calc(20 * var(--to-rem));
    row-gap: calc(6 * var(--to-rem));
  }
}
.p-footer__ctas > .p-footer__cta:last-child::after {
  display: none;
}
/* 114px高さ内に収めるため SP のみ矢印を一回り小さく */
.p-footer__cta .p-footer__circle-btn {
  grid-row: 3;
  width: calc(28 * var(--to-rem));
  height: calc(28 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__cta .p-footer__circle-btn {
    width: calc(32 * var(--to-rem));
    height: calc(32 * var(--to-rem));
  }
}
/* アイコン行とラベル行を .p-footer__cta のグリッド行に直列化（3カラムでラベル位置を揃える） */
.p-footer__cta-head {
  display: contents;
}
.p-footer__cta-icon-wrap {
  display: flex;
  grid-row: 1;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  width: 100%;
  min-height: 0;
  max-height: 100%;
}
.p-footer__cta .p-footer__cta-label:not(.p-footer__cta-label--lg) {
  grid-row: 2;
}
.p-footer__cta-icon {
  display: block;
  object-fit: contain;
}
.p-footer__cta-icon--contact {
  width: calc(29 * var(--to-rem));
  height: calc(29 * var(--to-rem));
}
.p-footer__cta-icon--line {
  width: calc(32 * var(--to-rem));
  height: auto;
  max-height: calc(30 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__cta-icon--line {
    width: calc(44 * var(--to-rem));
    height: auto;
    max-height: calc(41 * var(--to-rem));
  }
}
.p-footer__cta-label {
  display: inline-block;
  margin: 0;
  color: #fff;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: calc(0.39 * var(--to-rem));
}
@media screen and (min-width: 1061px) {
  .p-footer__cta-label {
    font-size: calc(15 * var(--to-rem));
    letter-spacing: calc(0.45 * var(--to-rem));
  }
}
.p-footer__cta-label--lg {
  color: #fff;
  text-align: center;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(25 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .p-footer__cta-label--lg {
    font-size: calc(25 * var(--to-rem));
  }
}
@media screen and (min-width: 1061px) {
  .p-footer__cta-label--lg {
    font-size: calc(35 * var(--to-rem));
  }
}
/* 公式アカウント */
.p-footer__social {
  padding-top: calc(51 * var(--to-rem));
  padding-bottom: calc(61 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__social {
    text-align: right;
    padding-block: calc(40 * var(--to-rem));
  }
}
.p-footer__social-heading {
  margin: 0 0 calc(12 * var(--to-rem));
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: calc(1.4 * var(--to-rem));
}
.p-footer__social-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(20 * var(--to-rem));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-footer__social-list {
    justify-content: flex-end;
  }
}
.p-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  color: inherit;
  opacity: 0.95;
  transition: opacity 0.2s ease;
}
.p-footer__social-link:hover {
  opacity: 1;
}
.p-footer__social-icon {
  display: block;
  width: calc(30 * var(--to-rem));
  height: calc(30 * var(--to-rem));
  object-fit: contain;
}
.p-footer__social-icon--facebook {
  width: calc(16 * var(--to-rem));
  height: calc(30 * var(--to-rem));
}
.p-footer__social-icon--line {
  width: calc(30 * var(--to-rem));
  height: calc(32.15 * var(--to-rem));
}
.p-footer__nav {
  position: relative;
  display: grid;
  gap: calc(40 * var(--to-rem));
  padding-block-start: calc(34 * var(--to-rem));
}
.p-footer__nav::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: calc(0.5 * var(--to-rem));
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.5;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-footer__nav {
    margin-block-start: calc(100 * var(--to-rem));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1061px) {
  .p-footer__nav {
    /* 各列をテキスト量ベースの幅にする */
    grid-template-columns: max-content max-content max-content max-content;
    justify-content: space-between;
    gap: calc(32 * var(--to-rem));
  }
}
@media (max-width: 767px) {
  .p-footer__nav-col--about,
  .p-footer__nav-col--first {
    min-width: 0;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-col--about .p-footer__nav-col-title {
    white-space: nowrap;
  }
}
@media (max-width: 767px) {
  .p-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(20 * var(--to-rem));
    row-gap: calc(28 * var(--to-rem));
  }
  .p-footer__nav-col--price,
  .p-footer__nav-col--care {
    grid-column: 1/-1;
  }
}
.p-footer__nav-col-title {
  margin: 0 0 calc(20 * var(--to-rem));
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: calc(1.6 * var(--to-rem));
}
.p-footer__nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--to-rem));
}
/* 診療科目: 左6件・右7件。column 流し + 行数6のみだと7行目が3列目に回るため、行を7本確保して配置を明示 */
@media (max-width: 767px) {
  .p-footer__nav-list--twocol {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(7, auto);
    column-gap: calc(24 * var(--to-rem));
    row-gap: calc(15 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: max-content max-content;
    grid-template-rows: repeat(7, auto);
    column-gap: calc(40 * var(--to-rem));
    row-gap: calc(15 * var(--to-rem));
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(4) {
    grid-column: 1;
    grid-row: 4;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(4) {
    grid-column: 1;
    grid-row: 4;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(5) {
    grid-column: 1;
    grid-row: 5;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(5) {
    grid-column: 1;
    grid-row: 5;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(6) {
    grid-column: 1;
    grid-row: 6;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(6) {
    grid-column: 1;
    grid-row: 6;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(7) {
    grid-column: 2;
    grid-row: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(7) {
    grid-column: 2;
    grid-row: 1;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(8) {
    grid-column: 2;
    grid-row: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(8) {
    grid-column: 2;
    grid-row: 2;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(9) {
    grid-column: 2;
    grid-row: 3;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(9) {
    grid-column: 2;
    grid-row: 3;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(10) {
    grid-column: 2;
    grid-row: 4;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(10) {
    grid-column: 2;
    grid-row: 4;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(11) {
    grid-column: 2;
    grid-row: 5;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(11) {
    grid-column: 2;
    grid-row: 5;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(12) {
    grid-column: 2;
    grid-row: 6;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(12) {
    grid-column: 2;
    grid-row: 6;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol > li:nth-child(13) {
    grid-column: 2;
    grid-row: 7;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol > li:nth-child(13) {
    grid-column: 2;
    grid-row: 7;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-list--twocol .p-footer__nav-link {
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__nav-list--twocol .p-footer__nav-link {
    white-space: nowrap;
  }
}
@media (max-width: 767px) {
  .p-footer__nav-link--multiline-sp {
    white-space: normal;
  }
}
.p-footer__br-sp {
  display: none;
}
@media (max-width: 767px) {
  .p-footer__br-sp {
    display: block;
  }
}
.p-footer__nav-contact {
  display: block;
  margin-top: calc(50 * var(--to-rem));
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: calc(1.6 * var(--to-rem));
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-contact {
    display: none;
  }
}
.p-footer__nav-link {
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: calc(0.65 * var(--to-rem));
  text-decoration: none;
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .p-footer__nav-link {
    font-size: calc(15 * var(--to-rem));
    letter-spacing: calc(0.75 * var(--to-rem));
  }
}
.p-footer__nav-link--strong {
  opacity: 1;
}
.p-footer__nav-link:hover {
  opacity: 1;
}
.p-footer__rule {
  margin-block: calc(60 * var(--to-rem)) calc(35 * var(--to-rem));
  margin-inline: 0;
  border: none;
  border-block-start: 1px solid rgba(255, 255, 255, 0.15);
}
@media screen and (min-width: 768px) {
  .p-footer__rule {
    margin-block: calc(93 * var(--to-rem)) calc(30 * var(--to-rem));
  }
}
.p-footer__sub {
  display: grid;
  gap: calc(30 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__sub {
    display: flex;
    align-items: start;
    gap: calc(45 * var(--to-rem));
  }
}
.p-footer__sub-block-title {
  margin: 0 0 calc(15 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: 500;
  letter-spacing: calc(1.6 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__sub-block-title {
    margin: 0 0 calc(16 * var(--to-rem));
  }
}
.p-footer__outlinks {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__outlinks {
    gap: calc(12 * var(--to-rem));
  }
}
.p-footer__outlink {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  letter-spacing: calc(0.7 * var(--to-rem));
  color: inherit;
  text-decoration: none;
  opacity: 0.5;
}
.p-footer__outlink:hover {
  opacity: 0.85;
}
.p-footer__outlink-mark {
  flex-shrink: 0;
  display: block;
  width: calc(13 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  object-fit: contain;
}
.p-footer__bottom-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(24 * var(--to-rem));
  padding-block-start: calc(70 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-footer__bottom-bar {
    padding-block-start: calc(3 * var(--to-rem));
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
  }
}
.p-footer__copy {
  margin: 0;
  color: #fff;
  text-align: center;
  font-family: "Futura PT", "Futura", "Avenir Next", "Avenir", sans-serif;
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(1.2 * var(--to-rem));
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  .p-footer__copy {
    text-align: right;
  }
}
/* 768〜1060px: タブレット幅でもフッターは SP 寄りに揃える */
@media (min-width: 768px) and (max-width: 1060px) {
  .p-footer {
    padding-block: calc(80 * var(--to-rem)) calc(40 * var(--to-rem));
  }
  .p-footer__brand {
    gap: calc(20 * var(--to-rem));
  }
  .p-footer__brand-text {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: calc(4 * var(--to-rem));
  }
  .p-footer__info {
    gap: calc(30 * var(--to-rem));
  }
  .p-footer__info-block--hours {
    flex-direction: column;
    align-items: stretch;
    gap: calc(0 * var(--to-rem));
  }
  .p-footer__contact-tel {
    padding-block: calc(25 * var(--to-rem));
  }
  .p-footer__tel-layout {
    align-items: flex-end;
  }
  .p-footer__contact-tel .p-footer__hours {
    align-items: flex-start;
    justify-content: center;
    text-align: left;
  }
  .p-footer__hours-item:last-child {
    display: block;
  }
  .p-footer__cta {
    width: 100%;
    height: calc(114 * var(--to-rem));
    min-width: 0;
    min-height: calc(114 * var(--to-rem));
    max-width: none;
    max-height: calc(114 * var(--to-rem));
    padding: calc(14 * var(--to-rem)) calc(8 * var(--to-rem));
    row-gap: calc(4 * var(--to-rem));
  }
  .p-footer__cta-icon--line {
    width: calc(32 * var(--to-rem));
    max-height: calc(30 * var(--to-rem));
  }
  .p-footer__cta-label--lg {
    font-size: calc(25 * var(--to-rem));
  }
  .p-footer__social {
    text-align: center;
    padding-block: calc(51 * var(--to-rem));
  }
  .p-footer__social-list {
    justify-content: center;
  }
  .p-footer__nav {
    margin-block-start: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(20 * var(--to-rem));
    row-gap: calc(28 * var(--to-rem));
  }
  .p-footer__nav-col--price,
  .p-footer__nav-col--care {
    grid-column: 1/-1;
  }
  .p-footer__nav-list--twocol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(7, auto);
    column-gap: calc(24 * var(--to-rem));
  }
  .p-footer__nav-link {
    font-size: calc(13 * var(--to-rem));
    letter-spacing: calc(0.65 * var(--to-rem));
  }
  .p-footer__nav-contact {
    display: block;
  }
  .p-footer__rule {
    margin-block: calc(60 * var(--to-rem)) calc(35 * var(--to-rem));
  }
  .p-footer__sub {
    display: grid;
    gap: calc(30 * var(--to-rem));
  }
  .p-footer__sub-block-title {
    margin: 0 0 calc(15 * var(--to-rem));
  }
  .p-footer__outlinks {
    gap: calc(15 * var(--to-rem));
  }
  .p-footer__bottom-bar {
    padding-block-start: calc(70 * var(--to-rem));
    flex-direction: column;
    justify-content: center;
  }
  .p-footer__copy {
    text-align: center;
  }
}
.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: var(--color-orange);
  --_form-color-accent: var(--color-accent);
  --_form-color-border: var(--color-border);
  --_form-color-primary: var(--color-primary);
  max-width: calc(800 * var(--to-rem));
  margin-inline: auto;
}
.p-form > * {
  margin-block-start: calc(40 * var(--to-rem));
}
.p-form > *:nth-last-child(2) {
  margin-block-start: calc(20 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-form > * {
    margin-block-start: calc(48 * var(--to-rem));
  }
  .p-form > *:nth-last-child(2) {
    margin-block-start: calc(24 * var(--to-rem));
  }
}
.p-form__item {
  display: grid;
  gap: calc(8 * var(--to-rem));
}
.p-form__label {
  display: block;
  color: var(--_form-color-text);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
}
.p-form__label--required {
  position: relative;
  padding-inline-end: calc(50 * var(--to-rem));
}
.p-form__label--required::after {
  content: "必須";
  position: absolute;
  top: 50%;
  right: 0;
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(16 * var(--to-rem));
  border-radius: 4px;
  background-color: var(--_form-color-badge-bg);
  color: var(--_form-color-badge-text);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  translate: 0 -50%;
}
.p-form__input,
.p-form__select,
.p-form__textarea {
  width: 100%;
  padding: calc(14 * var(--to-rem)) calc(16 * var(--to-rem));
  border: 1px solid var(--_form-color-border);
  border-radius: 8px;
  background-color: var(--_form-color-bg);
  color: var(--_form-color-text);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.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);
}
@media screen and (min-width: 768px) {
  .p-form__input,
  .p-form__select,
  .p-form__textarea {
    padding: calc(16 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-form__select {
  position: relative;
  padding-inline-end: calc(48 * var(--to-rem));
  cursor: pointer;
  appearance: none;
}
.p-form__select-wrap {
  position: relative;
}
.p-form__select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(16 * var(--to-rem));
  clip-path: var(--clip-triangle-bottom);
  width: calc(12 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border: none;
  background-color: var(--_form-color-primary);
  pointer-events: none;
  translate: 0 -50%;
}
.p-form__textarea {
  min-height: calc(160 * var(--to-rem));
}
.p-form__radio-group {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-form__radio-group {
    flex-flow: row wrap;
    gap: calc(32 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}
.p-form__radio {
  display: flex;
  flex-wrap: wrap;
  row-gap: calc(8 * var(--to-rem));
  align-items: center;
  cursor: pointer;
}
.p-form__radio input[type=radio] {
  position: relative;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  margin: 0;
  margin-inline-end: calc(16 * var(--to-rem));
  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: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  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 {
  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: calc(16 * var(--to-rem));
  user-select: none;
}
.p-form__checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.p-form__checkbox input[type=checkbox] {
  position: relative;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  margin: 0;
  margin-inline-end: calc(8 * var(--to-rem));
  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: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(6 * var(--to-rem));
  height: calc(10 * var(--to-rem));
  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 {
  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: calc(16 * var(--to-rem));
  user-select: none;
}
.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__button-wrap {
  text-align: center;
}
.p-form__error {
  display: block;
  color: var(--_form-color-badge-bg);
  font-size: calc(14 * var(--to-rem));
}
.p-form__success {
  padding: calc(24 * var(--to-rem));
  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: calc(16 * var(--to-rem));
  text-align: center;
}
.p-form__radio .wpcf7-list-item-label,
.p-form__radio .wpcf7-li label {
  color: var(--_form-color-text);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  user-select: none;
}
.p-form__checkbox .wpcf7-form-control-wrap,
.p-form__checkbox .wpcf7-form-control {
  display: flex;
  align-items: center;
}
.p-form__radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
}
.p-form__item .wpcf7-list-item {
  display: flex;
  align-items: center;
}
/* 1枚目フル + 2枚目半分が見える幅（隙間1つ分を差し引き） */
.p-gallery-slider {
  --p-gallery-slider-gap: calc(16 * var(--to-rem));
  --p-gallery-slider-slide-w: min(100vw, calc(400 * var(--to-rem)));
  --p-gallery-slider-slide-slant: calc(36 * var(--to-rem));
  --p-gallery-slider-duration: 32s;
  overflow: hidden;
  background: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-gallery-slider {
    --p-gallery-slider-slide-w: min(100%, calc(1200 * var(--to-rem)));
    --p-gallery-slider-duration: 50s;
  }
}
.p-gallery-slider__viewport {
  overflow: hidden;
  width: 100%;
}
.p-gallery-slider__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: max-content;
  animation: p-gallery-slider-scroll var(--p-gallery-slider-duration) linear infinite;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .p-gallery-slider__track {
    animation: none;
  }
}
.p-gallery-slider__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-shrink: 0;
}
.p-gallery-slider__slide {
  flex: 0 0 var(--p-gallery-slider-slide-w);
  width: var(--p-gallery-slider-slide-w);
  aspect-ratio: 608/272;
  max-height: 265px;
  overflow: hidden;
  transform: translateZ(0);
}
@media screen and (min-width: 768px) {
  .p-gallery-slider__slide {
    width: calc(1200 * var(--to-rem));
    max-height: calc(570 * var(--to-rem));
  }
}
.p-gallery-slider__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@keyframes p-gallery-slider-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--p-gallery-slider-loop-width, 50%)));
  }
}
.p-gallery-slider__indicator {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(10 * var(--to-rem));
  margin-top: calc(16 * var(--to-rem));
  padding-right: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-gallery-slider__indicator {
    margin-top: calc(20 * var(--to-rem));
    padding-right: calc(120 * var(--to-rem));
    gap: calc(16 * var(--to-rem));
  }
}
.p-gallery-slider__bar {
  --p-gallery-slider-bar-fill: var(--color-orange-50, #daa726);
  --p-gallery-slider-bar-rest: rgba(218, 167, 38, 0.25);
  --p-gallery-slider-bar-gap: calc(8 * var(--to-rem));
  --p-gallery-slider-bar-segment: calc(50 * var(--to-rem));
  display: flex;
  gap: var(--p-gallery-slider-bar-gap);
  flex-shrink: 0;
  width: calc(var(--p-gallery-slider-bar-segment) * 5 + var(--p-gallery-slider-bar-gap) * 4);
}
@media screen and (max-width: 767px) {
  .p-gallery-slider__bar {
    gap: calc(5 * var(--to-rem));
    width: calc(145 * var(--to-rem));
  }
}
.p-gallery-slider__segment {
  --p-gallery-slider-segment-fill: 0;
  width: var(--p-gallery-slider-bar-segment);
  height: calc(2 * var(--to-rem));
  background: linear-gradient(to right, var(--p-gallery-slider-bar-fill) 0, var(--p-gallery-slider-bar-fill) calc(var(--p-gallery-slider-segment-fill) * 100%), var(--p-gallery-slider-bar-rest) calc(var(--p-gallery-slider-segment-fill) * 100%), var(--p-gallery-slider-bar-rest) 100%);
}
@media screen and (max-width: 767px) {
  .p-gallery-slider__segment {
    height: calc(4 * var(--to-rem));
  }
}
.p-gallery-slider__fraction {
  flex-shrink: 0;
  color: #daa726;
  font-family: "Futura PT", "Futura", "Avenir Next", "Avenir", sans-serif;
  font-size: calc(16 * var(--to-rem));
  letter-spacing: calc(1.4 * var(--to-rem));
  line-height: 1;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-gallery-slider__fraction {
    font-size: calc(14 * var(--to-rem));
  }
}
/* このセクションのみ 1180px 未満を SP 相当（サイト共通の md/lg より遅く PC 化） */
.p-greeting {
  margin-top: calc(58 * var(--to-rem));
  padding-block: 0;
  background: #edf0f3;
}
@media screen and (min-width: 1180px) {
  .p-greeting {
    margin-top: 0;
    padding-block: calc(260 * var(--to-rem)) calc(0 * var(--to-rem));
  }
}
@media screen and (min-width: 1180px) {
  .p-greeting__inner {
    position: relative;
  }
}
.p-greeting__layout {
  position: relative;
}
.p-greeting-strength-wrap {
  overflow: visible;
}
@media screen and (min-width: 1180px) {
  .p-greeting-strength-wrap {
    position: relative;
    z-index: 0;
    isolation: isolate;
    overflow: visible;
  }
}
.p-greeting-strength-wrap__photo-col {
  display: none;
}
@media screen and (min-width: 1180px) {
  .p-greeting-strength-wrap__photo-col {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    inset-inline-end: auto;
    width: clamp(420 * var(--to-rem), 50vw, 650 * var(--to-rem));
    z-index: 2;
    pointer-events: none;
    overflow: visible;
  }
}
@media screen and (min-width: 1180px) {
  .p-greeting-strength-wrap__main {
    width: 100%;
    min-width: 0;
  }
}
.p-greeting__panel {
  position: relative;
  overflow: visible;
  background: var(--color-white);
  /* SP: 上0 右15 下100 左15 */
  padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}
@media screen and (min-width: 1180px) {
  .p-greeting__panel {
    padding: calc(150 * var(--to-rem)) calc(150 * var(--to-rem)) calc(200 * var(--to-rem)) calc(270 * var(--to-rem));
    z-index: 1;
    margin-left: calc(500 * var(--to-rem));
    max-width: calc(960 * var(--to-rem));
  }
}
@media screen and (min-width: 1180px) and (max-width: 1300px) {
  .p-greeting__panel {
    padding-left: calc(170 * var(--to-rem));
  }
}
.p-greeting__visual-sp {
  width: 100%;
  margin-inline: auto;
  margin-block-end: calc(40 * var(--to-rem));
}
@media screen and (min-width: 1180px) {
  .p-greeting__visual-sp {
    display: none;
  }
}
.p-greeting__visual-pc {
  display: none;
}
@media screen and (min-width: 1180px) {
  .p-greeting__visual-pc {
    display: block;
    position: sticky;
    top: calc(var(--header-height) + 174 * var(--to-rem));
    z-index: 2;
    pointer-events: auto;
    flex-shrink: 0;
    width: clamp(420 * var(--to-rem), 50vw, 650 * var(--to-rem));
    max-width: 100%;
    margin: 0;
    /* パネル上 padding 150 に合わせて本文開始と揃える（__photo-col は inner 左端固定） */
    margin-block-start: calc(150 * var(--to-rem));
    margin-inline: 0;
    padding-block-end: calc(200 * var(--to-rem));
  }
}
.p-greeting__photo-wrap {
  position: relative;
  width: calc(348 * var(--to-rem));
  height: calc(343 * var(--to-rem));
  max-width: none;
  margin-inline-start: calc(-15 * var(--to-rem));
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 0 calc(30 * var(--to-rem)) calc(30 * var(--to-rem)) 0;
}
@media screen and (min-width: 1180px) {
  .p-greeting__photo-wrap {
    width: clamp(420 * var(--to-rem), 50vw, 650 * var(--to-rem));
    height: auto;
    margin-inline-start: 0;
    aspect-ratio: 65/63;
    border-radius: 0;
  }
}
.p-greeting__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.p-greeting__panel-body {
  position: relative;
  z-index: 1;
  /* 1180px 未満: カラム全体を中央に（見出し・本文は text-align: start のまま） */
  box-sizing: border-box;
  max-width: min(540 * var(--to-rem), 100%);
  margin-inline: auto;
  text-align: start;
}
@media screen and (min-width: 1180px) {
  .p-greeting__panel-body {
    max-width: none;
    margin-inline: 0;
    flex: 1 1 minmax(0, 1fr);
    min-width: 0;
  }
}
.p-greeting__label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(10 * var(--to-rem));
  margin-block-end: calc(48 * var(--to-rem));
}
.p-greeting__label.p-about-concept__label {
  padding-bottom: calc(15 * var(--to-rem));
  margin-bottom: calc(15 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-greeting__label.p-about-concept__label {
    align-items: baseline;
  }
}
@media screen and (min-width: 1180px) {
  .p-greeting__label {
    margin-block-end: calc(40 * var(--to-rem));
  }
}
.p-greeting__label-icon {
  display: block;
  width: calc(10 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  aspect-ratio: 1/2;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-greeting__label-icon.p-greeting__label-icon_about {
    position: relative;
    top: calc(2 * var(--to-rem));
  }
}
.p-greeting__label-text {
  margin: 0;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media screen and (min-width: 1180px) {
  .p-greeting__label-text {
    font-size: calc(18 * var(--to-rem));
    line-height: 150%;
  }
}
.p-greeting__title {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(20 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
}
@media screen and (min-width: 1180px) {
  .p-greeting__title {
    font-size: calc(30 * var(--to-rem));
    line-height: 150%;
  }
}
.p-greeting__title-line {
  display: block;
}
.p-greeting__body {
  margin-block-start: calc(40 * var(--to-rem));
  max-width: calc(540 * var(--to-rem));
}
@media screen and (min-width: 1180px) {
  .p-greeting__body {
    margin-block-start: calc(50 * var(--to-rem));
  }
}
/* 1180px 未満: 本文を折りたたみ＋グラデ（モヤ）＋「続きを読む」 */
.p-greeting__collapse {
  display: block;
}
.p-greeting__collapse-inner {
  position: relative;
  overflow: hidden;
  /* 15px × 1.8 × 5 行 → 6 行目からフェード */
  max-height: calc(189 * var(--to-rem));
}
@media screen and (min-width: 1180px) {
  .p-greeting__collapse-inner {
    max-height: none;
    overflow: visible;
  }
}
.p-greeting__collapse-inner::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: calc(54 * var(--to-rem));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, #fff 50%);
  pointer-events: none;
  transition: opacity 0.25s ease;
}
@media screen and (min-width: 1180px) {
  .p-greeting__collapse-inner::after {
    content: none;
    display: none;
  }
}
.p-greeting__collapse.is-expanded .p-greeting__collapse-inner {
  max-height: none;
  overflow: visible;
}
.p-greeting__collapse.is-expanded .p-greeting__collapse-inner::after {
  opacity: 0;
  visibility: hidden;
}
/* 「続きを読む」ボタン＋署名（SP は開いたときだけ署名表示 */
.p-greeting__read-more-group {
  width: 100%;
  margin-block-start: calc(40 * var(--to-rem));
}
@media screen and (min-width: 1180px) {
  .p-greeting__read-more-group {
    margin-block-start: calc(40 * var(--to-rem));
  }
}
.p-greeting__read-more {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(100%, 345px);
  height: 50px;
  margin-block-start: 0;
  margin-inline: auto;
  padding: 0;
  border: none;
  border-radius: 5px;
  background: #f4fbff;
  color: #555;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.75px;
  text-align: center;
  cursor: pointer;
  appearance: none;
}
@media screen and (min-width: 1180px) {
  .p-greeting__read-more {
    display: none;
  }
}
.p-greeting__read-more:focus-visible {
  outline: 2px solid #003981;
  outline-offset: 2px;
}
.p-greeting__read-more-group .p-greeting__sign {
  display: none;
  margin: 0;
  margin-block-end: calc(16 * var(--to-rem));
  text-align: start;
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--color-navy-text);
}
@media screen and (min-width: 1180px) {
  .p-greeting__read-more-group .p-greeting__sign {
    display: block;
    margin-block-end: 0;
  }
}
.p-greeting__collapse.is-expanded .p-greeting__read-more-group .p-greeting__sign {
  display: block;
}
.p-greeting__paragraph {
  margin: 0;
  color: #1c2e45;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
}
@media screen and (min-width: 1180px) {
  .p-greeting__paragraph {
    color: var(--font_color, #1c2e45);
    line-height: 185%;
  }
}
.p-greeting__button-wrap {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1180px) {
  .p-greeting__button-wrap {
    justify-content: flex-end;
  }
}
.p-greeting__button-wrap .button {
  margin-block-start: calc(50 * var(--to-rem));
  margin-inline-start: auto;
  margin-inline-end: auto;
}
@media screen and (min-width: 1180px) {
  .p-greeting__button-wrap .button {
    margin-block-start: calc(65 * var(--to-rem));
  }
}
@media screen and (min-width: 1800px) {
  .p-greeting__layout {
    max-width: calc(1800 * var(--to-rem));
  }
  .p-greeting__panel {
    max-width: calc(960 * var(--to-rem));
  }
  .p-greeting__body {
    max-width: none;
  }
}
.p-guide {
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-guide {
    margin-bottom: 0;
  }
}
.p-guide .p-floor__hygiene {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: calc(120 * var(--to-rem)) auto calc(180 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guide .p-floor__hygiene {
    margin: calc(60 * var(--to-rem)) auto calc(100 * var(--to-rem));
  }
}
.p-guide .p-floor__hygiene .p-floor__hygiene-title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  margin-bottom: calc(20 * var(--to-rem));
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid;
}
@media screen and (max-width: 767px) {
  .p-guide .p-floor__hygiene .p-floor__hygiene-title {
    font-size: calc(24 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-guide .p-floor__hygiene .p-floor__hygiene-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-guide .p-floor__hygiene .p-floor__hygiene-list {
  display: flex;
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-guide .p-floor__hygiene .p-floor__hygiene-list {
    gap: calc(10 * var(--to-rem));
    flex-wrap: wrap;
  }
}
.p-guide .p-floor__hygiene .p-floor__hygiene-list .p-floor__hygiene-item {
  padding: calc(25 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(16 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 16px */
}
@media screen and (max-width: 767px) {
  .p-guide .p-floor__hygiene .p-floor__hygiene-list .p-floor__hygiene-item {
    line-height: 160%; /* 25.6px */
    max-width: calc(345 * var(--to-rem));
    width: 100%;
  }
}
.p-first-faq {
  max-width: calc(1170 * var(--to-rem));
  margin: 0 auto;
  padding-bottom: calc(200 * var(--to-rem));
  width: 100%;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first-faq {
    padding-bottom: calc(120 * var(--to-rem));
  }
}
.p-first-faq .p-first-detail__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-first-faq .p-first-detail__title {
    font-size: calc(28 * var(--to-rem));
  }
}
.p-header {
  height: var(--header-height);
  box-shadow: 0 0 25px oklch(from var(--color-black) l c h/10%);
  background-color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-header {
    --header-height: 80px;
  }
}
.p-header__inner {
  display: flex;
  justify-content: space-between;
  height: inherit;
  padding-inline-start: calc(16 * var(--to-rem));
}
.p-header__logo {
  width: 100%;
  height: inherit;
  max-width: calc(40 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    max-width: calc(60 * var(--to-rem));
  }
}
.p-header__logo a {
  display: flex;
  align-items: center;
  height: inherit;
}
.p-header__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-header__nav {
  position: relative;
  display: none;
  height: inherit;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    container-type: inline-size;
    display: block;
    flex: 1;
  }
}
.p-header__nav-list {
  display: flex;
  justify-content: flex-end;
  height: inherit;
}
.p-header__nav-item {
  height: inherit;
}
.p-header__nav-item.p-header__nav-item--contact {
  display: flex;
  align-items: center;
  margin-inline-start: calc(15 * var(--to-rem));
}
.p-header__nav-item > a {
  display: flex;
  align-items: center;
  height: inherit;
  padding-block: 0;
  padding-inline: clamp(12px, 2cqi, 15px);
  color: var(--color-text);
  font-size: clamp(13px, 2cqi, 16px);
  font-weight: var(--fw-medium);
  line-height: 1;
}
.p-header__nav-item.p-header__nav-item--contact a {
  position: relative;
  padding-inline: calc(50 * var(--to-rem));
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
}
.p-header__nav-item.p-header__nav-item--contact a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(20 * var(--to-rem));
  width: 5px;
  aspect-ratio: 1/1;
  border-top: 2px solid currentcolor;
  border-right: 2px solid currentcolor;
  translate: 0 -50%;
  rotate: 45deg;
  transition: rotate var(--duration), translate var(--duration);
}
@media screen and (min-width: 768px) {
  .p-header__nav-item.p-header__nav-item--contact a::after {
    width: calc(10 * var(--to-rem));
    height: calc(10 * var(--to-rem));
  }
}
.p-header__hamburger {
  position: relative;
  z-index: 999;
  width: calc(64 * var(--to-rem));
  height: inherit;
  margin: 0;
  padding: 0;
  border: none;
  background-color: var(--color-primary);
  outline: none;
  cursor: pointer;
  transition: background-color var(--duration);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger {
    display: none;
  }
}
.p-header__hamburger span {
  position: relative;
  left: 50%;
  display: block;
  width: calc(25 * var(--to-rem));
  height: 1px;
  background-color: var(--color-white);
  translate: -50% 0;
  transition: top calc(var(--duration) * 1.67), opacity calc(var(--duration) * 1.67);
}
.p-header__hamburger span:nth-of-type(1) {
  top: -8px;
}
.p-header__hamburger span:nth-of-type(2) {
  top: 0;
}
.p-header__hamburger span:nth-of-type(3) {
  top: 8px;
}
.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: -2px;
  rotate: -45deg;
}
.p-header__drawer {
  position: absolute;
  inset: 0;
  z-index: 900;
  display: none;
  overflow-y: scroll;
  width: 100%;
  height: 100svh;
  margin-block-start: calc(64 * var(--to-rem));
  padding-block-end: calc(110 * var(--to-rem));
  background-color: #eff4f5;
  scrollbar-width: none;
}
.p-header__drawer::-webkit-scrollbar {
  display: none;
}
.p-header__drawer-item {
  border-bottom: 1px solid var(--color-white);
}
.p-header__drawer-item.p-header__drawer-item--contact {
  margin-block-start: calc(40 * var(--to-rem));
  margin-inline-start: calc(32 * var(--to-rem));
  border-bottom: none;
}
.p-header__drawer-item > a {
  display: block;
  padding: calc(20 * var(--to-rem)) calc(32 * var(--to-rem));
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.p-header__drawer-item.p-header__drawer-item--contact a {
  position: relative;
  width: 100%;
  max-width: calc(180 * var(--to-rem));
  padding: calc(15 * var(--to-rem)) 0;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
}
.p-header__drawer-item.p-header__drawer-item--contact a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(20 * var(--to-rem));
  width: 8px;
  aspect-ratio: 1/1;
  border-top: 2px solid currentcolor;
  border-right: 2px solid currentcolor;
  translate: 0 -50%;
  rotate: 45deg;
  transition: translate var(--duration);
}
@media (any-hover: hover) {
  .p-header__drawer-item.p-header__drawer-item--contact a:hover::after {
    translate: 4px -50%;
  }
}
.p-sterilization {
  padding: calc(80 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-sterilization {
    padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-sterilization .p-sterilization__intro .p-sterilization__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-sterilization .p-sterilization__block .p-information__block-title {
  margin-bottom: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sterilization .p-sterilization__block .p-information__block-title {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-sterilization .p-sterilization__block .p-sterilization__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sterilization .p-sterilization__block .p-sterilization__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-sterilization .p-sterilization__block .p-sterilization__text:last-child {
  margin-bottom: calc(20 * var(--to-rem));
}
.p-sterilization .p-sterilization__list {
  border-radius: calc(10 * var(--to-rem));
  background: rgba(0, 57, 129, 0.05);
  padding: calc(40 * var(--to-rem)) calc(100 * var(--to-rem));
  max-width: calc(790 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sterilization .p-sterilization__list {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-sterilization .p-sterilization__list .p-sterilization__item {
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) dotted rgba(0, 57, 129, 0.5);
}
.p-sterilization .p-sterilization__list .p-sterilization__item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-title {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 200%; /* 32px */
  position: relative;
  padding-left: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-title {
    padding-left: calc(20 * var(--to-rem));
  }
}
.p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-title::before {
  content: "";
  width: calc(6 * var(--to-rem));
  height: calc(6 * var(--to-rem));
  border-radius: calc(50 * var(--to-rem));
  background: #1c2e45;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-text {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  padding-left: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
}
.p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 22.4px */
}
.p-sterilization .p-sterilization__list .p-sterilization__item .p-sterilization__item-link {
  color: #003981;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.p-merit-demerit {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-merit-demerit {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-merit-demerit .p-merit-demerit__lead {
  margin-bottom: calc(40 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-merit-demerit .p-merit-demerit__lead {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-merit-demerit .p-merit-demerit__list {
  display: flex;
  gap: calc(20 * var(--to-rem));
  flex-wrap: wrap;
  justify-content: center;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  padding: calc(40 * var(--to-rem)) calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item {
    max-width: calc(345 * var(--to-rem));
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item.p-merit-demerit__item--merit {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item.p-merit-demerit__item--demerit {
  border-radius: calc(10 * var(--to-rem));
  background: #5076a7;
  color: #fff;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item.p-merit-demerit__item--demerit .p-merit-demerit__heading {
  color: #fff;
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item .p-merit-demerit__heading {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #154e96;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item .p-merit-demerit__points {
  list-style: disc;
  padding-left: 1.2em;
}
.p-merit-demerit .p-merit-demerit__list .p-merit-demerit__item .p-merit-demerit__points .p-merit-demerit__point {
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 200%; /* 30px */
}
.p-medical-deduction {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-medical-deduction {
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__lead {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__block-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--to-rem));
  padding: calc(20 * var(--to-rem)) calc(30 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  max-width: calc(570 * var(--to-rem));
  width: 100%;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(8 * var(--to-rem));
    padding: calc(20 * var(--to-rem)) calc(14 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 21px */
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item {
    font-size: calc(16 * var(--to-rem));
    flex: 0 0 auto;
    text-align: center;
  }
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-01 {
  color: var(--Golden-Grass, var(--color-orange-50, #daa726));
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-01 {
    flex-basis: 100%;
    margin-bottom: calc(4 * var(--to-rem));
    text-align: left;
  }
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-01::after {
  content: "※1";
  color: var(--font_color, #1c2e45);
  font-size: calc(8 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 8px */
  position: absolute;
  opacity: 0.7;
  top: calc(-5 * var(--to-rem));
  width: calc(13 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-02 {
  position: relative;
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-02::after {
  content: "※2";
  color: var(--font_color, #1c2e45);
  font-size: calc(8 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 8px */
  position: absolute;
  opacity: 0.7;
  top: calc(-5 * var(--to-rem));
  width: calc(13 * var(--to-rem));
  right: calc(-15 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-03 {
  position: relative;
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-03::after {
  content: "※3";
  color: var(--font_color, #1c2e45);
  font-size: calc(8 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 8px */
  position: absolute;
  opacity: 0.7;
  top: calc(-5 * var(--to-rem));
  width: calc(13 * var(--to-rem));
  right: calc(-15 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-04 {
  position: relative;
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-04::after {
  content: "※4";
  color: var(--font_color, #1c2e45);
  font-size: calc(8 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 8px */
  position: absolute;
  opacity: 0.7;
  top: calc(-15 * var(--to-rem));
  width: calc(13 * var(--to-rem));
  right: calc(-15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-item.p-medical-deduction__formula-item-04::after {
    right: calc(-10 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-symbol {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 32px */
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__formula .p-medical-deduction__formula-inner .p-medical-deduction__formula-symbol {
    font-size: calc(16 * var(--to-rem));
    line-height: 1;
    flex: 0 0 auto;
  }
}
.p-medical-deduction .p-medical-deduction__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 28px */
  margin-bottom: calc(50 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__note .p-medical-deduction__note-line {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__note .p-medical-deduction__note-line {
    padding-left: 2.6em;
    text-indent: -2.6em;
  }
}
.p-medical-deduction .p-medical-deduction__list {
  padding-bottom: calc(50 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__list .p-medical-deduction__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 15px */
  margin-bottom: calc(15 * var(--to-rem));
  position: relative;
  padding-left: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__list .p-medical-deduction__item {
    line-height: 160%; /* 24px */
  }
}
.p-medical-deduction .p-medical-deduction__list .p-medical-deduction__item::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  left: calc(22 * var(--to-rem));
  border-radius: calc(50 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__list .p-medical-deduction__item::before {
    top: calc(13 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__block-title {
    font-size: calc(18 * var(--to-rem));
    line-height: 150%; /* 27px */
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__block-title img {
    position: relative;
    top: calc(5 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__compare {
  display: flex;
  gap: calc(20 * var(--to-rem));
  padding-bottom: calc(180 * var(--to-rem));
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-medical-deduction .p-medical-deduction__compare {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item.p-medical-deduction__compare-item--include .p-medical-deduction__compare-title {
  border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
  background: #79bde0;
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item.p-medical-deduction__compare-item--include .p-medical-deduction__points {
  border-radius: 0 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem));
  background: #f4fbff;
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item.p-medical-deduction__compare-item--exclude .p-medical-deduction__compare-title {
  border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
  background: #7298c8;
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item.p-medical-deduction__compare-item--exclude .p-medical-deduction__points {
  border-radius: 0 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem));
  background: rgba(114, 152, 200, 0.1);
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item .p-medical-deduction__compare-title {
  color: var(--White, var(--color-white-solid, #fff));
  font-size: calc(16 * var(--to-rem));
  font-weight: 700;
  line-height: 150%; /* 24px */
  text-align: center;
  padding: calc(8 * var(--to-rem)) 0;
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item .p-medical-deduction__points {
  padding: calc(20 * var(--to-rem));
  list-style: disc;
  padding-left: 1.2em;
  padding-left: calc(50 * var(--to-rem));
}
.p-medical-deduction .p-medical-deduction__compare .p-medical-deduction__compare-item .p-medical-deduction__points .p-medical-deduction__point {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-information {
  padding-block: calc(100 * var(--to-rem)) calc(120 * var(--to-rem));
  background: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-information {
    padding-block: calc(200 * var(--to-rem)) calc(200 * var(--to-rem));
  }
}
.p-information__inner {
  max-width: calc(1110px + var(--padding-inner) * 2);
  margin-inline: auto;
  padding-inline: var(--padding-inner);
}
.p-information__header {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-information__header {
    text-align: start;
  }
}
.p-information__header .section__title-en {
  margin: 0;
  text-align: center;
  /* font-family / font-weight は components/_section.scss（Jost 400）に統一 */
  font-size: calc(45 * var(--to-rem));
  line-height: 1;
  letter-spacing: 0.05em;
}
.p-information__header .section__title-en[data-fill-text] {
  --section-title-fill-color: #003981;
}
@media screen and (min-width: 768px) {
  .p-information__header .section__title-en {
    text-align: start;
    font-size: calc(80 * var(--to-rem));
  }
}
.p-information__header .section__label {
  margin: 0;
  margin-block-start: calc(12 * var(--to-rem));
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-message-title);
}
@media screen and (min-width: 768px) {
  .p-information__header .section__label {
    text-align: start;
  }
}
.p-information__columns {
  display: grid;
  gap: calc(80 * var(--to-rem));
  align-items: start;
  margin-block-start: calc(60 * var(--to-rem));
}
@media screen and (min-width: 1024px) {
  .p-information__columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: calc(80 * var(--to-rem));
    margin-block-start: calc(90 * var(--to-rem));
  }
}
.p-information__block-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(10 * var(--to-rem));
  margin: 0;
  margin-block-end: calc(20 * var(--to-rem));
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  background: linear-gradient(166deg, #005d91 0.32%, #012b60 99.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media screen and (min-width: 1024px) {
  .p-information__block-title {
    font-size: calc(18 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-information__block-title.p-information__block-title_child_ortho {
    line-height: 150%; /* 27px */
  }
}
.p-information__block-icon {
  display: block;
  width: calc(10 * var(--to-rem));
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-information__block-icon.p-information__block-icon_child_ortho {
    position: relative;
    top: calc(-10 * var(--to-rem));
  }
}
.p-information__cal-box {
  width: 100%;
  max-width: calc(500 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-information__cal-box {
    width: calc(500 * var(--to-rem));
    background: #f4fbff;
    padding: calc(40 * var(--to-rem)) calc(46 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem));
    margin-inline: 0;
  }
}
.p-information__cal-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: calc(408.002 * var(--to-rem));
  max-width: none;
  margin-inline: auto;
  margin-block-end: calc(16 * var(--to-rem));
}
.p-information__cal-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-navy-text);
  cursor: pointer;
  transition: opacity var(--duration);
}
.p-information__cal-nav-btn:hover {
  opacity: 0.7;
}
.p-information__cal-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.p-information__cal-nav-icon {
  display: block;
  width: calc(8 * var(--to-rem));
  height: calc(14 * var(--to-rem));
}
.p-information__cal-nav-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.p-information__cal-nav-btn:first-child .p-information__cal-nav-icon {
  transform: rotate(180deg);
}
.p-information__cal-month {
  margin: 0;
  color: var(--color-blue-12, #00003e);
  font-family: "Futura PT", var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  min-width: calc(120 * var(--to-rem));
  text-align: center;
}
.p-information__cal-grid-outer {
  width: calc(408.002 * var(--to-rem));
  max-width: none;
  min-height: calc(32.331 * var(--to-rem) + 6 * 37.305 * var(--to-rem));
  margin-inline: auto;
  background: transparent;
}
.p-information__cal-grid {
  display: grid;
  grid-template-columns: repeat(7, calc(58.286 * var(--to-rem)));
  width: 100%;
  max-width: none;
  margin-inline: auto;
  border: 1px solid #1c2e45;
  border-radius: calc(5 * var(--to-rem));
  overflow: hidden;
  background: var(--color-white);
}
.p-information__cal-dow {
  margin: 0;
  width: calc(58.286 * var(--to-rem));
  height: calc(32.331 * var(--to-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0;
  color: #fff;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(0.84 * var(--to-rem));
}
.p-information__cal-dow--sun {
  background: #d53e3e;
  border-radius: calc(5 * var(--to-rem)) 0 0 0;
}
.p-information__cal-dow--week {
  background: #7298c8;
}
.p-information__cal-dow--sat {
  background: #174e93;
  border-radius: 0 calc(5 * var(--to-rem)) 0 0;
}
.p-information__cal-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(58.286 * var(--to-rem));
  height: calc(37.305 * var(--to-rem));
  min-height: 0;
  margin: 0;
  font-family: "Roboto", var(--base-font-family);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  color: #191919;
  text-align: center;
  border-top: 1px solid #d9d9d9;
  border-inline-end: 1px solid #d9d9d9;
  background: var(--color-white);
}
.p-information__cal-cell:nth-child(7n) {
  border-inline-end: none;
}
.p-information__cal-cell--muted {
  color: #9aa3ad;
  background: #fafcfd;
}
.p-information__cal-cell--ortho {
  background: #daa726;
  font-weight: var(--fw-medium);
}
.p-information__cal-cell--closed {
  background: #858585;
  color: var(--color-white);
}
.p-information__cal-cell--holiday-sat {
  background: #174e93;
  color: var(--color-white);
}
.p-information__cal-legend {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(12 * var(--to-rem)) calc(20 * var(--to-rem));
  width: calc(408.002 * var(--to-rem));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
  margin-top: calc(20 * var(--to-rem));
}
.p-information__cal-legend-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(10 * var(--to-rem));
}
.p-information__cal-legend-swatch {
  flex-shrink: 0;
  width: calc(46 * var(--to-rem));
  height: calc(20 * var(--to-rem));
}
.p-information__cal-legend-swatch--closed {
  background: #858585;
}
.p-information__cal-legend-swatch--ortho {
  background: #daa726;
}
.p-information__cal-legend-text {
  margin: 0;
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.6;
  color: var(--color-navy-text);
}
.p-information__news-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(15 * var(--to-rem));
  margin-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-information__news-list {
    margin-top: 0;
  }
}
.p-information__news-item {
  padding-block-end: calc(16 * var(--to-rem));
  border-block-end: 1px solid #dae4f0;
}
.p-information__news-item:last-child {
  border-block-end: none;
  padding-block-end: 0;
}
.p-information__news-date {
  margin: 0;
  margin-block-end: calc(8 * var(--to-rem));
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
  color: var(--btn-color, #003981);
}
.p-information__news-item:nth-child(2) .p-information__news-date {
  background: linear-gradient(161deg, #005d91 0.32%, #012b60 99.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.p-information__news-link {
  text-decoration: none;
  color: inherit;
}
.p-information__news-link:hover .p-information__news-title {
  text-decoration: underline;
}
.p-information__news-title {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (min-width: 1024px) {
  .p-information__news-title {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-information__news-actions {
  margin-block-start: calc(65 * var(--to-rem));
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-information__cal-box {
    width: 100%;
    max-width: 100%;
  }
  .p-information__cal-nav,
  .p-information__cal-grid-outer,
  .p-information__cal-grid,
  .p-information__cal-legend {
    width: 100%;
    max-width: 100%;
  }
  .p-information__cal-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .p-information__cal-dow,
  .p-information__cal-cell {
    width: auto;
  }
}
.p-message {
  padding-block: calc(79 * var(--to-rem)) calc(120 * var(--to-rem));
  background: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-message {
    padding-block: calc(148 * var(--to-rem)) calc(180 * var(--to-rem));
  }
}
.p-message__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* SP: 左右 15（.l-inner の 20px を上書き） */
.p-message__inner.l-inner {
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-message__inner.l-inner {
    padding-inline: var(--padding-inner);
  }
}
.p-message__title {
  margin: 0;
  color: #003981;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(28 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
}
@media screen and (min-width: 768px) {
  .p-message__title {
    color: var(--btn-color, #003981);
    font-size: calc(36 * var(--to-rem));
  }
}
/* PC/SP 共通：63×1 のライン（画像は使わず背景で表現） */
.p-message__title-line {
  width: calc(63 * var(--to-rem));
  height: 1px;
  margin-block-start: calc(40 * var(--to-rem));
  margin-inline: auto;
  background: #003981;
}
.p-message__lead {
  margin-block-start: calc(40 * var(--to-rem));
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-message__lead {
    text-align: center;
  }
}
.p-message__lead-text {
  margin: 0;
  color: #1c2e45;
  text-align: inherit;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 210%;
}
@media screen and (min-width: 768px) {
  .p-message__lead-text {
    color: var(--font_color, #1c2e45);
    font-size: calc(16 * var(--to-rem));
    line-height: 230%;
  }
}
.p-message__lead-text + .p-message__lead-text {
  margin-block-start: 0;
}
.p-message__visual {
  margin-block-start: calc(48 * var(--to-rem));
  width: 100%;
  max-width: calc(368 * var(--to-rem));
}
.p-message__visual-figure {
  position: relative;
  width: 100%;
  max-width: calc(368 * var(--to-rem));
}
.p-message__visual-image {
  width: 100%;
  height: auto;
  display: block;
}
.p-message__visual-label {
  position: absolute;
  margin: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  padding-inline: calc(4 * var(--to-rem));
  pointer-events: none;
}
.p-message__visual-label--top {
  left: 50.3%;
  top: 29.2%;
  width: min(44%, 154 * var(--to-rem));
  aspect-ratio: 1;
  color: var(--color-message-accent);
}
.p-message__visual-label--left {
  left: 26.4%;
  top: 70.9%;
  width: min(44%, 154 * var(--to-rem));
  aspect-ratio: 1;
  color: var(--color-message-mid);
}
.p-message__visual-label--right {
  left: 73.6%;
  top: 70%;
  width: min(44%, 154 * var(--to-rem));
  aspect-ratio: 1;
  color: var(--color-navy-mid);
}
.p-message__visual-line {
  margin: 0;
  color: #003981;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
.p-message__visual-strong {
  color: #003981;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
}
.p-message__closing {
  margin-block-start: calc(50 * var(--to-rem));
  max-width: calc(900 * var(--to-rem));
  text-align: center;
}
.p-message__closing-text {
  margin: 0;
  color: #1c2e45;
  text-align: left;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 210%;
}
@media screen and (min-width: 768px) {
  .p-message__closing-text {
    color: var(--font_color, #1c2e45);
    text-align: center;
    font-size: calc(16 * var(--to-rem));
    line-height: 230%;
  }
}
/* PC のみ 1 段落目内で改行（SP では非表示） */
.p-message__closing-br-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-message__closing-br-pc {
    display: inline;
  }
}
/* 固定ナビのフッター重なりフェード（--mv-nav-footer-fade を transition） */
@property --mv-nav-footer-fade {
  syntax: "<number>";
  inherits: true;
  initial-value: 1;
}
.p-mv {
  position: relative;
  z-index: 2;
  height: calc(745 * var(--to-rem));
  min-height: calc(745 * var(--to-rem));
  display: flex;
  flex-direction: column;
  /* sticky 子（ヘッダー右下ナビ）がビューポートに追従できるよう、hidden は背景ラッパーへ移す */
  overflow: visible;
  /* SP: 固定ヘッダー（.p-mv__header-inner.is-fixed）を後続セクションの sticky より手前に */
}
@media screen and (min-width: 768px) {
  .p-mv {
    --mv-pc-width-scale: calc(100vw / 1440px);
    --mv-pc-height-scale: calc(100svh / 832px);
    --mv-pc-scale: min(1, var(--mv-pc-width-scale), var(--mv-pc-height-scale));
    height: min(100svh, 832 * var(--to-rem));
    min-height: min(100svh, 832 * var(--to-rem));
  }
}
@media screen and (max-width: 767.98px) {
  .p-mv {
    z-index: 600;
  }
}
/* PC: セクション全面の背景 */
.p-mv__bg-wrap--pc {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .p-mv__bg-wrap--pc {
    display: none;
  }
}
/* SP: 画像スライダーは .p-mv__sp-fv-band 内のみ（ヒーロー右列は帯の下に縦並び） */
.p-mv__sp-fv-band {
  display: block;
  position: relative;
  z-index: 0;
  flex: 0 0 auto;
  width: 100%;
  overflow: hidden;
  /* .p-mv__fv-fill の --mv-sp-fv-ar-* と揃える（コピー重ね用マージン計算と一致させる） */
  aspect-ratio: var(--mv-sp-fv-ar-x)/var(--mv-sp-fv-ar-y);
}
@media screen and (min-width: 768px) {
  .p-mv__sp-fv-band {
    display: none;
  }
}
.p-mv__bg-wrap--sp {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .p-mv__bg-wrap--sp {
    display: block;
  }
}
/* ヘッダー直下〜MV 下部までを塗る（PC では従来どおり flex:1） */
.p-mv__fv-fill {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  /* SP: 画像帯 aspect（横375 × 縦408、.p-mv__hero の重ね計算と一致） */
  --mv-sp-fv-ar-x: 375;
  --mv-sp-fv-ar-y: 408;
}
.p-mv__bg {
  position: absolute;
  inset: 0;
  background: #052043;
}
/* Splide（MV 背景）: トラック〜スライドを親いっぱいに */
.p-mv__bg.splide {
  height: 100%;
}
.p-mv__bg .splide__track,
.p-mv__bg-track {
  height: 100%;
}
.p-mv__bg .splide__list,
.p-mv__bg-list {
  height: 100%;
}
.p-mv__bg .splide__slide,
.p-mv__bg-slide {
  height: 100%;
}
.p-mv__bg-slide picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-mv__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* SP 背景のみ: 不要なアップスケール抑止（PC 全面背景には影響しない） */
@media screen and (max-width: 767.98px) {
  .p-mv__bg-wrap--sp .p-mv__bg-image {
    object-fit: cover;
    object-position: center;
  }
}
.p-mv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 32, 67, 0.4);
  mix-blend-mode: multiply;
}
.p-mv__top-bar {
  position: relative;
  z-index: 2;
  background: var(--color-mv-sp-top-bar-bg);
  color: #1c2e45;
}
.p-mv__top-bar::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: 1px;
  background: var(--color-mv-sp-top-bar-border);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-mv__top-bar {
    background: var(--color-top-bar-bg);
  }
  .p-mv__top-bar::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__top-bar--sp-only {
    display: none;
  }
}
.p-mv__top-bar-inner {
  /* SP: 10 15 15 15 / PC: 21 40 */
  padding: calc(10 * var(--to-rem)) calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__top-bar-inner {
    padding: calc(21 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}
.p-mv__category {
  margin: 0;
  color: #000;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: calc(1.21 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__category {
    color: #010449;
    font-size: calc(12 * var(--to-rem));
    letter-spacing: calc(1.32 * var(--to-rem));
  }
}
/* 診療時間＋電話を横並び（SP は子が非表示のため空に近い） */
.p-mv__top-bar-right {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: calc(20 * var(--to-rem));
  color: var(--color-white);
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__top-bar-right {
    flex-wrap: nowrap;
    width: auto;
    gap: calc(20 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
/* SP: 非表示 / PC: 白・Noto 系・項目間 gap 15px */
.p-mv__hours {
  display: none;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__hours {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(15 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    color: #fff;
    font-family: "Noto Sans", var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif), sans-serif;
    font-size: calc(13 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: calc(0.39 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    white-space: nowrap;
  }
}
.p-mv__hours-item {
  display: inline-block;
}
/* SP: 電話（アイコン＋番号）は非表示 / PC: 表示（画像は src/assets/images/icon_phone.svg） */
.p-mv__tel-wrap {
  display: none;
  align-items: center;
  gap: calc(6 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__tel-wrap {
    display: flex;
    flex-shrink: 1;
    min-width: 0;
    gap: calc(6 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
.p-mv__tel-icon {
  display: block;
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__tel-icon {
    width: calc(25 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    height: calc(25 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
/* PC: Futura PT 代替 → Jost（--font-family-jost） */
.p-mv__tel-number {
  margin: 0;
  font-family: var(--font-family-futura);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 450;
  line-height: 100%;
  color: #fff;
  text-align: right;
  font-size: calc(40 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__tel-number {
    white-space: nowrap;
    font-size: calc(40 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
.p-mv__header {
  position: relative;
  z-index: 2;
}
.p-mv__header-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: calc(30 * var(--to-rem));
  width: 100%;
  max-width: none;
  margin-inline: 0;
  /* SP: 12 15 20 15 / PC: 30 60 0 30 */
  padding: calc(12 * var(--to-rem)) calc(15 * var(--to-rem)) calc(20 * var(--to-rem)) calc(15 * var(--to-rem));
  background: #fff;
  height: calc(106 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__header-inner {
    --mv-header-pc-scale: var(--mv-pc-scale, 1);
    height: auto;
    gap: calc(30 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    padding: calc(30 * var(--to-rem) * var(--mv-header-pc-scale, 1)) calc(50 * var(--to-rem) * var(--mv-header-pc-scale, 1)) 0 calc(50 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    background: transparent;
    /* 狭いPCで左・右の干渉をコンテナ幅で判定 */
    container-type: inline-size;
    container-name: mv-header-inner;
  }
}
/* SP: MV 外では通常ヘッダー帯をそのまま fixed（_mv-header-nav-fixed.js が .p-mv__header-inner に付与） */
@media screen and (max-width: 767.98px) {
  .p-mv__header-inner.is-fixed {
    --mv-nav-footer-fade: 1;
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    inset-inline: 0;
    z-index: 500;
    isolation: isolate;
    opacity: 0;
    transform: translateY(calc(-10 * var(--to-rem)));
    pointer-events: none;
    transition: opacity 0.48s cubic-bezier(0.33, 0, 0.2, 1), transform 0.48s cubic-bezier(0.33, 0, 0.2, 1), --mv-nav-footer-fade 0.35s ease;
  }
  .p-mv__header-inner.is-fixed.is-fixed-visible {
    opacity: var(--mv-nav-footer-fade);
    transform: translateY(0);
    pointer-events: auto;
    background: #fff;
  }
  .p-mv__header-inner.is-fixed.is-fixed-visible.is-mv-nav-footer-gone {
    pointer-events: none;
  }
}
.p-mv__header-right {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
  justify-content: flex-end;
  align-items: center;
  gap: calc(16 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__header-right {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0;
  }
}
/* PC: 上段〜罫線まで 20 / 罫線〜下段まで 10（均等 gap では出せないため margin で調整） */
@media screen and (min-width: 768px) {
  .p-mv__header-right > .p-mv__top-bar-right {
    margin-block-end: calc(20 * var(--to-rem));
  }
  .p-mv__header-right > .p-mv__header-right-rule {
    margin-block-end: calc(10 * var(--to-rem));
  }
}
.p-mv__header-right-rule {
  display: none;
  width: 100%;
  max-width: 757px;
  height: 1px;
  background: #fff;
  opacity: 0.2;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__header-right-rule {
    display: block;
  }
}
.p-mv__header-right-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  /* SP: ナビ項目間の gap(25) は不要（md 以上は下の .p-mv__nav-list で指定） */
  /* MV を完全にスクロールアウトしたあとだけ _mv-header-nav-fixed.js が .is-fixed を付与（PC は下段バー） */
}
.p-mv__header-right-bottom .p-mv__nav-list {
  gap: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__header-right-bottom {
    width: 100%;
    max-width: 757px;
    flex-wrap: nowrap;
    gap: calc(16 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom .p-mv__header-left--fixed,
  .p-mv__header-right-bottom .p-mv__top-bar-right--fixed {
    display: none;
  }
  .p-mv__header-right-bottom .p-mv__header-right-bottom-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    gap: calc(25 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom .p-mv__nav-list {
    gap: calc(25 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom.is-fixed {
    --mv-nav-footer-fade: 1;
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    inset-inline: 0;
    /* mix-blend 系の装飾が下から透けないよう不透明背景＋独立スタック */
    z-index: 500;
    isolation: isolate;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding-inline: calc(30 * var(--to-rem)) calc(0 * var(--to-rem));
    padding-block: calc(0 * var(--to-rem)) calc(12 * var(--to-rem));
    background: transparent;
    box-shadow: none;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: calc(19 * var(--to-rem));
    /* calc(二変数) だと MV から出るときの opacity 補間が効かずガクッとすることがあるため単一値に */
    opacity: 0;
    transform: translateY(calc(-12 * var(--to-rem)));
    pointer-events: none;
    transition: opacity 0.48s cubic-bezier(0.33, 0, 0.2, 1), transform 0.48s cubic-bezier(0.33, 0, 0.2, 1), --mv-nav-footer-fade 0.35s ease;
  }
  .p-mv__header-right-bottom.is-fixed.is-fixed-visible {
    opacity: var(--mv-nav-footer-fade);
    transform: translateY(0);
    pointer-events: auto;
    background: #fff;
  }
  .p-mv__header-right-bottom.is-fixed.is-fixed-visible.is-mv-nav-footer-gone {
    pointer-events: none;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__page-title--fixed {
    grid-column: 1/-1;
    grid-row: 1;
    justify-self: end;
    margin-bottom: 0;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__nav-item a,
  .p-mv__header-right-bottom.is-fixed .p-mv__nav-label {
    color: var(--font_color, #1c2e45);
    font-family: "Noto Sans JP";
    font-size: calc(15 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: calc(0.45 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    text-shadow: none;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__hamburger {
    background: linear-gradient(to bottom right, #005d91 0%, #012b60 100%);
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__hamburger span {
    background: #fff;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-left--fixed {
    display: flex;
    grid-column: 1;
    grid-row: 2/span 2;
    align-self: center;
    padding-top: calc(11 * var(--to-rem));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-left--fixed .p-mv__logo a {
    width: calc(110 * var(--to-rem));
    height: calc(106 * var(--to-rem));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-left--fixed .p-mv__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__top-bar-right--fixed {
    display: flex;
    justify-self: end;
    margin-inline-start: 0;
    margin-bottom: calc(20 * var(--to-rem));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-right-fixed-panel {
    grid-column: 2;
    grid-row: 2/span 2;
    justify-self: end;
    display: flex;
    flex-direction: column;
    padding: calc(12 * var(--to-rem)) calc(60 * var(--to-rem)) calc(11 * var(--to-rem)) calc(60 * var(--to-rem));
    border-radius: 0 0 0 calc(10 * var(--to-rem));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-right-bottom-main {
    position: relative;
    margin-inline-start: 0;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__header-right-bottom-main::before {
    content: "";
    position: absolute;
    top: calc(-10 * var(--to-rem));
    left: 0;
    right: 0;
    height: 1px;
    opacity: 0.1;
    background: var(--btn-color, #003981);
    pointer-events: none;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__top-bar-right--fixed .p-mv__tel-number {
    color: var(--btn-color, #003981);
    text-align: right;
    font-family: "Futura PT", var(--font-family-jost, "Jost", sans-serif);
    font-size: calc(28 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 500;
    line-height: 1;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__clinic-line1 {
    color: #00003e;
    font-family: "Noto Sans JP";
    font-size: calc(12 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: calc(1.32 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__clinic-brand,
  .p-mv__header-right-bottom.is-fixed .p-mv__clinic-branch {
    color: #00003e;
    font-family: "Noto Sans JP";
    font-size: calc(16 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: calc(1.76 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__hours-item {
    color: var(--font_color, #1c2e45);
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: calc(12 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: calc(0.36 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__hours {
    color: var(--font_color, #1c2e45);
    text-shadow: none;
  }
  .p-mv__header-right-bottom.is-fixed .p-mv__tel-icon {
    width: calc(20 * var(--to-rem));
    height: calc(20 * var(--to-rem));
    filter: brightness(0) saturate(100%) invert(12%) sepia(99%) saturate(2310%) hue-rotate(208deg) brightness(98%) contrast(103%);
  }
}
.p-mv__header-left {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(16 * var(--to-rem));
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__header-left {
    gap: calc(16 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__header-left {
    flex-direction: row;
  }
}
.p-mv__header-left--fixed {
  display: none;
}
.p-mv__page-title {
  color: #f4fbff;
  font-size: calc(8 * var(--to-rem));
  font-weight: 400;
  line-height: 150%; /* 18px */
  letter-spacing: 1.32px;
  margin-bottom: calc(20 * var(--to-rem));
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-mv__page-title {
    font-size: calc(8 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    letter-spacing: calc(1.32 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    margin-bottom: calc(20 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__page-title {
    display: none;
  }
}
.p-mv__page-title--fixed {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__page-title--fixed {
    display: block;
    width: 100%;
    margin-bottom: calc(12 * var(--to-rem));
    color: var(--font_color, #1c2e45);
    text-align: right;
    text-shadow: none;
  }
}
.p-mv__logo {
  margin: 0;
  line-height: 1;
}
.p-mv__logo a {
  display: block;
  width: calc(54 * var(--to-rem));
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-mv__logo a {
    width: calc(140 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
.p-mv__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.p-mv__clinic-text {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__clinic-text {
    white-space: nowrap;
  }
}
/* 1行目: 医療法人RJD RYO JIMBO DENTAL */
.p-mv__clinic-line1 {
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(10 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  color: #00003e;
}
@media screen and (min-width: 768px) {
  .p-mv__clinic-line1 {
    color: #fff;
    font-size: calc(13 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    letter-spacing: calc(1.43 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
/* SP: RYO JIMBO DENTAL の直後で改行（.p-mv__clinic-br-sp）／PC: 半角スペースで1行 */
@media screen and (min-width: 768px) {
  .p-mv__clinic-br-sp {
    display: none;
  }
}
.p-mv__clinic-ws-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__clinic-ws-pc {
    display: inline;
  }
}
.p-mv__clinic-brand,
.p-mv__clinic-branch {
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  color: #00003e;
  font-size: calc(13 * var(--to-rem));
  letter-spacing: calc(1.43 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__clinic-brand,
  .p-mv__clinic-branch {
    color: #fff;
    font-size: calc(16 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    letter-spacing: calc(1.98 * var(--to-rem) * var(--mv-header-pc-scale, 1));
  }
}
.p-mv__clinic-line2 {
  display: inline;
}
.p-mv__nav {
  display: flex;
  align-items: center;
  position: relative;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__nav {
    flex: 1 1 auto;
  }
}
/* SP: ナビ非表示 / PC: gap 25 は .p-mv__header-right-bottom 内で指定 */
.p-mv__nav-list {
  display: none;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap;
}
@media screen and (min-width: 768px) {
  .p-mv__nav-list {
    display: flex;
  }
}
@media (max-width: 1330px) {
  .p-mv__nav-list {
    display: none;
  }
}
.p-mv__nav-item {
  margin: 0;
}
.p-mv__nav-item a,
.p-mv__nav-label {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .p-mv__nav-item a,
  .p-mv__nav-label {
    color: #fff;
    text-shadow: 0 0 6px rgba(1, 4, 73, 0.2);
    font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
    font-size: calc(16 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: calc(0.48 * var(--to-rem) * var(--mv-header-pc-scale, 1));
    white-space: nowrap;
  }
}
.p-mv__nav-label--toggle {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
/* リンク・診療科目トグル: 左→右で現れ、外すと右方向へ収まって消える */
@media screen and (min-width: 768px) {
  .p-mv__nav-item a,
  .p-mv__nav-label--toggle {
    position: relative;
    display: inline-block;
  }
  .p-mv__nav-item a::after,
  .p-mv__nav-label--toggle::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.08em;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    /* 非ホバー: 右基準で畳む → 消え際は左→右の流れ */
    transform-origin: right center;
    transition: transform 0.28s cubic-bezier(0.33, 0, 0.2, 1);
  }
  .p-mv__nav-item a:hover::after, .p-mv__nav-item a:focus-visible::after,
  .p-mv__nav-label--toggle:hover::after,
  .p-mv__nav-label--toggle:focus-visible::after {
    transform: scaleX(1);
    /* ホバー: 左から伸ばす */
    transform-origin: left center;
  }
}
@media screen and (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .p-mv__nav-item a::after,
  .p-mv__nav-label--toggle::after {
    transition: none;
  }
}
/* 診療メニュー展開中は下線を維持（ホバーが外れても分かりやすく） */
@media screen and (min-width: 768px) {
  .p-mv__nav.is-services-open .p-mv__nav-label--toggle::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
}
.p-mv__nav-item a:hover,
.p-mv__nav-label:hover {
  opacity: 0.6;
}
.p-mv__nav-plus {
  margin-inline-start: calc(2 * var(--to-rem));
}
.p-mv__services-menu {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__services-menu {
    position: absolute;
    top: calc(100% + 24 * var(--to-rem));
    right: 0;
    left: auto;
    z-index: 50;
    width: min(670 * var(--to-rem), 90vw);
    border-radius: calc(10 * var(--to-rem));
    background: #fff;
    box-shadow: 0 calc(8 * var(--to-rem)) calc(24 * var(--to-rem)) rgba(0, 0, 0, 0.12);
    padding: calc(24 * var(--to-rem)) calc(34 * var(--to-rem)) calc(22 * var(--to-rem));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(40 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__nav.is-services-open .p-mv__services-menu {
    display: grid;
  }
}
.p-mv__services-menu-col {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--to-rem));
}
.p-mv__services-menu-link {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--to-rem));
  min-height: calc(52 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: calc(0.75 * var(--to-rem));
  text-decoration: none;
  border-bottom: 1px solid rgba(186, 196, 214, 0.8);
  white-space: nowrap;
  opacity: 1;
}
.p-mv__services-menu-link::before {
  content: "−";
  flex: 0 0 auto;
  color: #7f8ba0;
  font-weight: 500;
  line-height: 1;
}
.p-mv__services-menu-link:hover {
  color: var(--font_color, #1c2e45);
  opacity: 0.6;
}
/* SP: 55×55・Figma 線形グラデ（#005D91 → #012B60）/ PC: 60×60・白 80% */
.p-mv__hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: center;
  gap: calc(8 * var(--to-rem));
  width: calc(55 * var(--to-rem));
  height: calc(55 * var(--to-rem));
  padding: 0;
  border: none;
  border-radius: calc(5 * var(--to-rem));
  cursor: pointer;
  background: linear-gradient(to bottom right, #005d91 0%, #012b60 100%);
}
@media screen and (min-width: 768px) {
  .p-mv__hamburger {
    width: calc(60 * var(--to-rem));
    height: calc(60 * var(--to-rem));
    aspect-ratio: 1/1;
    border-radius: calc(5 * var(--to-rem));
    background: rgba(255, 255, 255, 0.8);
    gap: calc(8 * var(--to-rem));
  }
}
.p-mv__hamburger span {
  display: block;
  width: calc(24 * var(--to-rem));
  height: calc(1 * var(--to-rem));
  background: #fff;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-mv__hamburger span {
    height: calc(2 * var(--to-rem));
    background: var(--btn-color, #003981);
  }
}
.p-mv__pc-drawer {
  display: none;
  opacity: 0;
  position: fixed;
  inset: 0;
  z-index: 700;
  background: #f4fbff;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer {
    background: #f4fbff;
  }
}
.p-mv__sp-drawer {
  padding-bottom: calc(40 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__sp-drawer {
    display: none;
  }
}
.p-mv__sp-drawer-top {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: calc(62 * var(--to-rem)) 1fr 1fr calc(40 * var(--to-rem));
  align-items: center;
  gap: calc(5 * var(--to-rem));
  padding: calc(10 * var(--to-rem)) calc(15 * var(--to-rem));
  background: #f4fbff;
}
.p-mv__sp-drawer-logo img {
  display: block;
  width: calc(50 * var(--to-rem));
  height: auto;
}
.p-mv__sp-drawer-top-btn {
  height: calc(60 * var(--to-rem));
  border-radius: calc(5 * var(--to-rem));
  text-decoration: none;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(6 * var(--to-rem));
}
.p-mv__sp-drawer-top-btn--tel {
  background: #003981;
}
.p-mv__sp-drawer-top-btn--tel img {
  width: calc(16.972 * var(--to-rem));
  height: calc(17 * var(--to-rem));
  display: block;
}
.p-mv__sp-drawer-top-btn--tel span {
  color: #fff;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: calc(0.55 * var(--to-rem));
}
.p-mv__sp-drawer-top-btn--reserve {
  background: #5076A7;
}
.p-mv__sp-drawer-top-btn--reserve strong {
  color: #fff;
  text-align: center;
  font-family: "Futura PT", var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(18 * var(--to-rem));
  font-style: normal;
  line-height: 1;
  font-weight: 500;
}
.p-mv__sp-drawer-top-btn--reserve span {
  color: #fff;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: calc(0.55 * var(--to-rem));
}
.p-mv__sp-drawer-close {
  width: calc(23 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  border: 0;
  background: transparent;
  position: relative;
  justify-self: end;
}
.p-mv__sp-drawer-close::before, .p-mv__sp-drawer-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(25 * var(--to-rem));
  height: 0;
  border-top: calc(1.2 * var(--to-rem)) solid #003981;
}
.p-mv__sp-drawer-close::before {
  transform: translate(-50%, -50%) rotate(38deg);
}
.p-mv__sp-drawer-close::after {
  transform: translate(-50%, -50%) rotate(-38deg);
}
.p-mv__sp-drawer-body {
  padding: calc(22 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
.p-mv__sp-drawer-menu-block.is-open {
  padding-block-end: calc(30 * var(--to-rem));
}
.p-mv__sp-drawer-body a:hover,
.p-mv__sp-drawer-body button:hover {
  opacity: 0.6;
}
.p-mv__sp-drawer-heading {
  margin: 0;
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: calc(1.5 * var(--to-rem));
}
.p-mv__sp-drawer-heading--accordion {
  position: relative;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0 calc(22 * var(--to-rem)) calc(18 * var(--to-rem)) 0;
  margin-bottom: calc(19 * var(--to-rem));
  cursor: pointer;
  overflow: visible;
  /* 開いたときのみ（閉じているときは ::before の下線を表示） */
}
.p-mv__sp-drawer-heading--accordion::before {
  content: "";
  position: absolute;
  left: 0;
  /* アイコン(::after)直下までフル幅 + アイコン右端よりさらに 10px 右へ */
  right: calc(-10 * var(--to-rem));
  bottom: 0;
  height: 1px;
  opacity: 0.5;
  background: var(--btn-color, #003981);
  pointer-events: none;
}
.p-mv__sp-drawer-heading--accordion::after {
  content: "";
  position: absolute;
  top: calc(6 * var(--to-rem));
  right: 0;
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border-right: 1.5px solid #003981;
  border-bottom: 1.5px solid #003981;
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 0.2s ease;
}
.p-mv__sp-drawer-heading--accordion[aria-expanded=true] {
  margin-bottom: 0;
  padding-block-end: calc(20 * var(--to-rem));
}
.p-mv__sp-drawer-heading--accordion[aria-expanded=true]::before {
  display: none;
}
.p-mv__sp-drawer-heading--accordion[aria-expanded=true]::after {
  transform: rotate(-135deg) translateY(calc(-1 * var(--to-rem)));
}
.p-mv__sp-drawer-heading--accordion[aria-expanded=true] + .p-mv__sp-drawer-links > li:first-child a {
  padding-block-start: 0;
}
.p-mv__sp-drawer-links {
  padding: 0;
  list-style: none;
}
.p-mv__sp-drawer-links li {
  border-bottom: 1px solid #cfdae8;
}
.p-mv__sp-drawer-links a {
  display: block;
  padding: calc(14 * var(--to-rem)) 0;
  color: var(--font_color, #1c2e45);
  text-decoration: none;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.2;
  letter-spacing: calc(0.7 * var(--to-rem));
}
.p-mv__sp-drawer-services {
  margin: calc(6 * var(--to-rem)) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: calc(16 * var(--to-rem));
  align-items: stretch;
}
.p-mv__sp-drawer-services li {
  display: flex;
}
.p-mv__sp-drawer-services-item--right {
  grid-column: 2;
}
.p-mv__sp-drawer-services a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: calc(12 * var(--to-rem)) 0;
  border-bottom: 1px solid #cfdae8;
  color: var(--font_color, #1c2e45);
  text-decoration: none;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: calc(0.7 * var(--to-rem));
}
.p-mv__sp-drawer-services-sub {
  display: inline;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: calc(0.6 * var(--to-rem));
}
.p-mv__sp-drawer-services .p-mv__sp-drawer-services-link--noline {
  border-bottom: 0;
}
.p-mv__sp-drawer-chips {
  margin: calc(40 * var(--to-rem)) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(5 * var(--to-rem));
}
.p-mv__sp-drawer-chips a {
  display: block;
  padding: calc(11 * var(--to-rem)) calc(10 * var(--to-rem));
  border-radius: calc(40 * var(--to-rem));
  background: #eaf7ff;
  text-align: center;
  color: var(--font_color, #1c2e45);
  text-decoration: none;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  line-height: 1;
  letter-spacing: calc(1.3 * var(--to-rem));
}
.p-mv__sp-drawer-info {
  margin-top: calc(20 * var(--to-rem));
  padding-top: calc(20 * var(--to-rem));
}
.p-mv__sp-drawer-info-title {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
}
.p-mv__sp-drawer-info-schedule {
  margin-top: calc(12 * var(--to-rem));
  border-radius: calc(5 * var(--to-rem));
  overflow: hidden;
}
.p-mv__sp-drawer-info-row {
  display: grid;
  grid-template-columns: minmax(calc(100 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  align-items: center;
  min-height: calc(40 * var(--to-rem));
  padding: 0 calc(10 * var(--to-rem));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  line-height: 1.6;
}
.p-mv__sp-drawer-info-row--head {
  border-radius: calc(5 * var(--to-rem)) calc(5 * var(--to-rem)) 0 0;
  opacity: 1;
  background: rgba(28, 46, 69, 0.12);
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
.p-mv__sp-drawer-info-row--body {
  border-radius: 0 0 calc(5 * var(--to-rem)) calc(5 * var(--to-rem));
  background: #fff;
  color: #32363b;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
.p-mv__sp-drawer-info-row--head > span:first-child,
.p-mv__sp-drawer-info-row--body > span:first-child {
  text-align: left;
}
.p-mv__sp-drawer-note {
  margin: calc(10 * var(--to-rem)) 0 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 300;
  line-height: 1.6;
}
.p-mv__sp-drawer-info--access .p-mv__sp-drawer-access-body {
  margin-top: calc(12 * var(--to-rem));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: calc(12 * var(--to-rem));
}
.p-mv__sp-drawer-info.p-mv__sp-drawer-info--access {
  border-top: 1px solid rgba(28, 46, 69, 0.2);
}
.p-mv__sp-drawer-access-body p {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
.p-mv__sp-drawer-map-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--to-rem));
  align-self: start;
  min-width: calc(89 * var(--to-rem));
  padding: calc(10 * var(--to-rem)) calc(12 * var(--to-rem));
  border-radius: calc(4 * var(--to-rem));
  opacity: 0.85;
  background: var(--font_color, #1c2e45);
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}
.p-mv__sp-drawer-map-btn-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
}
.p-mv__sp-drawer-map-btn-arrow {
  display: block;
  width: calc(10 * var(--to-rem));
  height: auto;
  filter: brightness(0) saturate(100%) invert(14%) sepia(15%) saturate(1577%) hue-rotate(174deg) brightness(96%) contrast(96%);
}
.p-mv__pc-drawer-inner {
  display: none;
  /* 1024px〜: 左（情報）＋右（ナビ）の2列（インナーは中央寄せ・右カラムのみ右端まで白を延長） */
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-inner {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: calc(40 * var(--to-rem));
    min-height: 100vh;
    /* 左上基準ではなく、コンテンツ全体をビューポート中央基準で配置 */
    align-content: center;
    justify-content: center;
    padding: calc(60 * var(--to-rem)) calc(30 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-mv__pc-drawer-inner {
    grid-template-columns: calc(580 * var(--to-rem)) minmax(0, 1fr);
    column-gap: calc(73 * var(--to-rem));
    row-gap: 0;
    width: min(1320 * var(--to-rem), 100%);
    margin-inline: auto;
    padding-block: calc(60 * var(--to-rem));
    padding-inline: calc(30 * var(--to-rem)) 0;
  }
}
.p-mv__pc-drawer-close {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-close {
    position: fixed;
    top: calc(20 * var(--to-rem));
    right: calc(20 * var(--to-rem));
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(55 * var(--to-rem));
    height: calc(55 * var(--to-rem));
    border: 0;
    border-radius: calc(5 * var(--to-rem));
    background: linear-gradient(135deg, #005d91 0%, #012b60 100%);
    cursor: pointer;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-close span {
    position: absolute;
    width: calc(24 * var(--to-rem));
    height: 1px;
    background: #fff;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-close span:first-child {
    transform: rotate(45deg);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-close span:last-child {
    transform: rotate(-45deg);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-left {
    padding-inline: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-brand {
    display: flex;
    align-items: center;
    gap: calc(16 * var(--to-rem));
    margin-bottom: calc(14 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-brand-logo {
    width: calc(54 * var(--to-rem));
    height: auto;
  }
}
.p-mv__pc-drawer-brand-sub {
  margin: 0 0 calc(4 * var(--to-rem));
  color: #221e1f;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: calc(1.43 * var(--to-rem));
}
.p-mv__pc-drawer-brand-main {
  margin: 0;
  color: #221e1f;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(18 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: calc(1.98 * var(--to-rem));
}
.p-mv__pc-drawer-heading {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-access,
  .p-mv__pc-drawer-schedule,
  .p-mv__pc-drawer-contact {
    border-bottom: 1px solid rgba(28, 46, 69, 0.2);
    padding-block: calc(30 * var(--to-rem));
  }
}
.p-mv__pc-drawer-text,
.p-mv__pc-drawer-note,
.p-mv__pc-drawer-hours {
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 300;
  line-height: 2;
  letter-spacing: normal;
}
.p-mv__pc-drawer-note {
  line-height: 1.6;
}
/* p-dental-services__link と同じホバー（下線アニメ・矢印差し替え） */
.p-mv__pc-drawer-map-link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: calc(5 * var(--to-rem));
  margin-top: calc(6 * var(--to-rem));
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: color 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-mv__pc-drawer-map-link:hover,
.p-mv__pc-drawer-map-link:focus-visible {
  color: var(--btn-color, #003981);
}
.p-mv__pc-drawer-map-link-text {
  position: relative;
  display: inline-block;
}
.p-mv__pc-drawer-map-link-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.08em;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-mv__pc-drawer-map-link:hover .p-mv__pc-drawer-map-link-text::after,
.p-mv__pc-drawer-map-link:focus-visible .p-mv__pc-drawer-map-link-text::after {
  transform: scaleX(1);
  transform-origin: left center;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__pc-drawer-map-link-text::after {
    transition: none;
  }
}
.p-mv__pc-drawer-map-link-icon-wrap {
  position: relative;
  flex-shrink: 0;
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
}
.p-mv__pc-drawer-map-link-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.28s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-mv__pc-drawer-map-link-icon--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.p-mv__pc-drawer-map-link:hover .p-mv__pc-drawer-map-link-icon--default,
.p-mv__pc-drawer-map-link:focus-visible .p-mv__pc-drawer-map-link-icon--default {
  opacity: 0;
}
.p-mv__pc-drawer-map-link:hover .p-mv__pc-drawer-map-link-icon--hover,
.p-mv__pc-drawer-map-link:focus-visible .p-mv__pc-drawer-map-link-icon--hover {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__pc-drawer-map-link-icon {
    transition: none;
  }
}
.p-mv__pc-drawer-access {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: start;
  column-gap: calc(44 * var(--to-rem));
}
.p-mv__pc-drawer-access-content {
  min-width: 0;
}
.p-mv__pc-drawer-schedule-box {
  margin-top: calc(8 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(5 * var(--to-rem));
  width: 100%;
}
.p-mv__pc-drawer-schedule-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: start;
  column-gap: calc(40 * var(--to-rem));
  row-gap: calc(8 * var(--to-rem));
}
.p-mv__pc-drawer-schedule-grid .p-mv__pc-drawer-note {
  grid-column: 2;
  margin-top: 0;
}
.p-mv__pc-drawer-schedule-head,
.p-mv__pc-drawer-schedule-body {
  display: grid;
  grid-template-columns: minmax(calc(88 * var(--to-rem)), auto) repeat(8, minmax(0, 1fr));
  align-items: center;
  text-align: center;
  padding-inline: calc(8 * var(--to-rem));
}
.p-mv__pc-drawer-schedule-head {
  background: rgba(28, 46, 69, 0.12);
  color: #fff;
  font-size: calc(13 * var(--to-rem));
  min-height: calc(28 * var(--to-rem));
}
.p-mv__pc-drawer-schedule-head-spacer {
  display: block;
}
.p-mv__pc-drawer-schedule-body {
  background: rgba(28, 46, 69, 0.03);
  color: #32363b;
  font-size: calc(13 * var(--to-rem));
  min-height: calc(28 * var(--to-rem));
}
.p-mv__pc-drawer-time {
  grid-column: 1/2;
  white-space: nowrap;
  color: #32363b;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
.p-mv__pc-drawer-contact {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: start;
  column-gap: calc(12 * var(--to-rem));
  border-bottom: 0;
  border-top: 1px solid rgba(28, 46, 69, 0.2);
}
.p-mv__pc-drawer-contact-main {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--to-rem));
  width: 100%;
  grid-column: 2;
}
.p-mv__pc-drawer-phone-icon {
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  flex-shrink: 0;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(14%) sepia(15%) saturate(1577%) hue-rotate(174deg) brightness(96%) contrast(96%);
}
.p-mv__pc-drawer-phone {
  margin: 0;
  color: var(--font_color, #1c2e45);
  text-align: right;
  text-decoration: none;
  font-family: "Futura PT", var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(40 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}
.p-mv__pc-drawer-phone:visited {
  color: var(--font_color, #1c2e45);
}
.p-mv__pc-drawer-hours {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--to-rem)) calc(12 * var(--to-rem));
  margin: calc(8 * var(--to-rem)) 0 0;
  color: #1c2e45;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(0.39 * var(--to-rem));
  text-align: center;
  width: 100%;
  grid-column: 2;
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-left: 0;
    margin-top: calc(10 * var(--to-rem));
    border-top: 1px solid rgba(28, 46, 69, 0.2);
    border-bottom: 1px solid rgba(28, 46, 69, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  .p-mv__pc-drawer-cta {
    width: calc(100% - 140 * var(--to-rem));
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-link {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    place-items: center;
    row-gap: calc(6 * var(--to-rem));
    min-height: calc(120 * var(--to-rem));
    padding: calc(22 * var(--to-rem)) 0 calc(20 * var(--to-rem));
    color: #1c2e45;
    text-decoration: none;
    border-right: 1px solid rgba(28, 46, 69, 0.2);
    text-align: center;
    transition: background-color 0.2s ease;
  }
  .p-mv__pc-drawer-cta-link:hover, .p-mv__pc-drawer-cta-link:focus-visible {
    /* 白パネル上：フッター CTA の薄い白ハイライトに相当するトーン */
    background-color: rgba(28, 46, 69, 0.06);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-link:last-child {
    border-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(6 * var(--to-rem));
    min-height: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-icon {
    display: block;
    width: calc(29 * var(--to-rem));
    height: calc(29 * var(--to-rem));
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(14%) sepia(15%) saturate(1577%) hue-rotate(174deg) brightness(96%) contrast(96%);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-icon--line {
    width: calc(36 * var(--to-rem));
    height: auto;
    max-height: calc(34 * var(--to-rem));
    filter: none;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-label {
    margin: 0;
    color: #1c2e45;
    font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
    font-size: calc(13 * var(--to-rem));
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: calc(0.39 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-label--lg {
    font-family: var(--font-family-jost, "Jost", sans-serif);
    font-size: calc(25 * var(--to-rem));
    line-height: 1;
    letter-spacing: normal;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-circle-btn {
    display: inline-block;
    line-height: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-cta-circle-btn-img {
    display: block;
    width: calc(24 * var(--to-rem));
    height: calc(24 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-right {
    background: #fff;
    border-radius: calc(40 * var(--to-rem));
    padding: calc(40 * var(--to-rem)) calc(30 * var(--to-rem));
    margin-top: 0;
    align-self: stretch;
  }
}
@media screen and (min-width: 1024px) {
  .p-mv__pc-drawer-right {
    border-radius: calc(40 * var(--to-rem)) 0 0 calc(40 * var(--to-rem));
    padding: calc(50 * var(--to-rem)) calc(80 * var(--to-rem));
    margin-top: calc(75 * var(--to-rem));
    align-self: start;
    /* inner が中央寄せのとき、白背景をビューポート右端まで延長 */
    margin-inline-end: calc((min(1320 * var(--to-rem), 100vw) - 100vw) / 2);
  }
}
@media screen and (min-width: 768px) {
  .p-mv__pc-drawer-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(26 * var(--to-rem));
    width: 100%;
    max-width: calc(547 * var(--to-rem));
  }
}
/* inner が2列（lg〜）で右カラムが狭いときだけメニューを1列に。768〜1023（inner 縦並び）では2列のまま */
@media screen and (min-width: 1024px) and (max-width: 1210px) {
  .p-mv__pc-drawer-menu-grid {
    grid-template-columns: 1fr;
    row-gap: calc(32 * var(--to-rem));
  }
}
.p-mv__pc-drawer-menu-title {
  margin: 0 0 calc(20 * var(--to-rem));
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: calc(1.6 * var(--to-rem));
}
.p-mv__pc-drawer-menu-title--mt {
  margin-top: calc(50 * var(--to-rem));
}
.p-mv__pc-drawer-menu-title--plain {
  display: inline-block;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: calc(0.75 * var(--to-rem));
  text-decoration: none;
}
.p-mv__pc-drawer-menu-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: calc(17 * var(--to-rem));
}
.p-mv__pc-drawer-menu-list a {
  color: #1c2e45;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: calc(0.45 * var(--to-rem));
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.p-mv__pc-drawer-menu-title--about {
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(19 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: calc(1.9 * var(--to-rem));
}
.p-mv__pc-drawer-right a:hover {
  opacity: 0.6;
}
.p-mv__hero {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-block-start: calc(40 * var(--to-rem));
  /* SP: 画像帯の上に .p-mv__hero-left（コピー）を重ねる（% は包含ブロック幅基準＝帯高さと一致） */
}
@media screen and (max-width: 767.98px) {
  .p-mv__hero {
    margin-block-start: calc(-100% * var(--mv-sp-fv-ar-y) / var(--mv-sp-fv-ar-x));
    padding-block-start: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__hero {
    margin-block-start: 0;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
    padding-block-end: calc(93 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
.p-mv__hero-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-inline: calc(15 * var(--to-rem));
  min-width: 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 767.98px) {
  .p-mv__hero-inner {
    height: auto;
    min-height: 0;
    justify-content: flex-start;
    padding-block-start: calc(100% * var(--mv-sp-fv-ar-y) / var(--mv-sp-fv-ar-x) - 200 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__hero-inner {
    --mv-hero-pc-scale: var(--mv-pc-scale, 1);
    height: auto;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: calc(35 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    padding-inline-start: calc(90 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    padding-inline-end: calc(110 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    min-width: 0;
    container-type: inline-size;
    container-name: mv-hero-inner;
    flex-wrap: nowrap;
  }
}
.p-mv__hero-left {
  display: flex;
  flex-direction: column;
  width: calc(609 * var(--to-rem));
  flex: 0 1 auto;
  min-width: 0;
}
@media screen and (max-width: 767.98px) {
  .p-mv__hero-left {
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__hero-left {
    width: calc(609 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
/* SP: 3行改行は .p-mv__copy-br-sp-mid / PC では非表示で「真剣に考えるあなたへ。」が1行に */
@media screen and (min-width: 768px) {
  .p-mv__copy-br-sp-mid {
    display: none;
  }
}
.p-mv__copy {
  color: transparent;
  position: relative;
  width: calc(280 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-mv__copy {
    width: calc(220 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__copy {
    width: calc(280 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
.p-mv__copy::before {
  content: "";
  position: absolute;
  top: 59%;
  margin-left: calc(5 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(280 * var(--to-rem));
  height: calc(80 * var(--to-rem));
  background-image: url("../images/text_top.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-mv__copy::before {
    margin-left: calc(5 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    width: calc(280 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    height: calc(80 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__copy::before {
    width: calc(220 * var(--to-rem));
  }
}
.p-mv__copy::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-10 * var(--to-rem)); /* ←位置調整 */
  width: 100%;
  height: calc(1 * var(--to-rem)); /* 線の太さ */
  background: #fff; /* 色 */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.8s ease;
}
@media screen and (min-width: 768px) {
  .p-mv__copy::after {
    bottom: calc(-10 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__copy::after {
    bottom: 0;
  }
}
.p-mv__copy.is-active::after {
  transform: scaleX(1);
}
.fv-title {
  width: calc(500 * var(--to-rem));
  margin-top: calc(56 * var(--to-rem));
  color: transparent;
  position: relative;
}
@media screen and (min-width: 768px) {
  .fv-title {
    width: calc(500 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    margin-top: calc(56 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .fv-title {
    width: calc(174 * var(--to-rem));
    margin-top: calc(30 * var(--to-rem));
  }
}
.fv-title::before {
  content: "";
  position: absolute;
  top: 59%;
  margin-left: calc(5 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(500 * var(--to-rem));
  height: calc(64 * var(--to-rem));
  background-image: url("../images/text_bottom.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .fv-title::before {
    margin-left: calc(5 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    width: calc(500 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    height: calc(64 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .fv-title::before {
    width: calc(174 * var(--to-rem));
    background-image: url("../images/text-bottom-sp.webp");
  }
}
.fv-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-10 * var(--to-rem)); /* ←位置調整 */
  width: 100%;
  height: calc(1 * var(--to-rem)); /* 線の太さ */
  background: #fff; /* 色 */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.8s ease;
}
@media screen and (min-width: 768px) {
  .fv-title::after {
    bottom: calc(-10 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .fv-title::after {
    bottom: 0;
  }
}
.fv-title.is-active::after {
  transform: scaleX(1);
}
.p-mv__middle {
  width: calc(500 * var(--to-rem));
  margin-top: calc(56 * var(--to-rem));
  color: transparent;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-mv__middle {
    width: calc(500 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    margin-top: calc(56 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__middle {
    width: calc(230 * var(--to-rem));
    margin-top: calc(30 * var(--to-rem));
  }
}
.p-mv__middle::before {
  content: "";
  position: absolute;
  top: 59%;
  margin-left: calc(5 * var(--to-rem));
  transform: translateY(-50%);
  width: calc(500 * var(--to-rem));
  height: calc(64 * var(--to-rem));
  background-image: url("../images/text-middle-sp.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .p-mv__middle::before {
    margin-left: calc(5 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    width: calc(500 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    height: calc(64 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__middle::before {
    width: calc(230 * var(--to-rem));
  }
}
.p-mv__middle::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(-10 * var(--to-rem)); /* ←位置調整 */
  width: 100%;
  height: calc(1 * var(--to-rem)); /* 線の太さ */
  background: #fff; /* 色 */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.8s ease;
}
@media screen and (min-width: 768px) {
  .p-mv__middle::after {
    bottom: calc(-10 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
  }
}
@media screen and (max-width: 767px) {
  .p-mv__middle::after {
    bottom: 0;
  }
}
.p-mv__middle.is-active::after {
  transform: scaleX(1);
}
.p-mv__hero-right {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: calc(12 * var(--to-rem));
  flex-shrink: 0;
  margin-block-start: calc(15 * var(--to-rem));
  margin-inline: calc(-15 * var(--to-rem));
  width: calc(100% + 30 * var(--to-rem));
  box-sizing: border-box;
  padding: calc(15 * var(--to-rem));
  background: #f4fbff;
  backdrop-filter: blur(7px);
}
@media screen and (min-width: 768px) {
  .p-mv__hero-right {
    margin-block-start: 0;
    margin-inline: 0;
    /* 広いときは 480px 相当、狭いときは flex-shrink で縮む（子は width:100% で列幅に追従） */
    width: auto;
    flex: 0 1 calc(480 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    max-width: calc(480 * var(--to-rem) * var(--mv-hero-pc-scale, 1));
    min-width: 0;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
  }
}
.p-mv__hero-right .p-mv__footnote {
  width: 100%;
  max-width: calc(480 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-mv__hero-right .p-mv__footnote {
    max-width: 100%;
  }
}
.p-mv__footnote-text {
  margin: 0;
  color: var(--font_color, #1c2e45);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(11 * var(--to-rem));
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .p-mv__footnote-text {
    color: #fff;
    font-size: calc(12 * var(--to-rem));
    font-weight: 400;
  }
}
.p-mv__footnote-text + .p-mv__footnote-text {
  margin-block-start: calc(4 * var(--to-rem));
}
.p-mv__schedule {
  width: 100%;
  max-width: calc(480 * var(--to-rem));
  box-sizing: border-box;
  border-radius: 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule {
    /* 親列は最大 480px・狭い画面では縮む → 100% で追従 */
    width: 100%;
    max-width: 480px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  }
}
.p-mv__schedule-header {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: calc(55 * var(--to-rem));
  width: 100%;
  height: calc(40 * var(--to-rem));
  padding-inline: calc(10 * var(--to-rem));
  border-radius: calc(5 * var(--to-rem)) calc(5 * var(--to-rem)) 0 0;
  background: var(--btn-color, #003981);
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-header {
    width: 100%;
    background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
    padding-inline: calc(20 * var(--to-rem));
    gap: calc(67 * var(--to-rem));
  }
}
.p-mv__schedule-title {
  margin: 0;
  flex-shrink: 0;
  color: #fff;
  font-family: "Noto Sans", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.39px;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-title {
    font-size: calc(15 * var(--to-rem));
    letter-spacing: 0.45px;
  }
}
.p-mv__schedule-days {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
}
.p-mv__schedule-header .p-mv__schedule-day {
  flex: 1;
  max-width: calc(40 * var(--to-rem));
  color: #fff;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-header .p-mv__schedule-day {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-mv__schedule-body {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: calc(17 * var(--to-rem));
  width: 100%;
  height: calc(40 * var(--to-rem));
  padding: 0 calc(10 * var(--to-rem));
  border-radius: 0 0 calc(5 * var(--to-rem)) calc(5 * var(--to-rem));
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-body {
    width: 100%;
    gap: calc(23 * var(--to-rem));
    padding: 0 calc(20 * var(--to-rem));
    background: rgba(255, 255, 255, 0.85);
  }
}
.p-mv__schedule-time {
  margin: 0;
  flex-shrink: 0;
  color: #32363b;
  font-family: "Noto Sans", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.39px;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-time {
    color: var(--font_color, #1c2e45);
    font-size: calc(15 * var(--to-rem));
    letter-spacing: 0.45px;
  }
}
.p-mv__schedule-marks {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
}
.p-mv__schedule-mark {
  flex: 1;
  max-width: calc(40 * var(--to-rem));
  color: #32363b;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-mark {
    color: var(--font_color, #1c2e45);
    font-size: calc(14 * var(--to-rem));
  }
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-mark--sat,
  .p-mv__schedule-mark--sun {
    color: var(--font_color, #1c2e45);
  }
}
.p-mv__schedule-mark--holiday {
  color: #32363b;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-size: calc(13 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .p-mv__schedule-mark--holiday {
    color: var(--font_color, #1c2e45);
    font-size: calc(14 * var(--to-rem));
  }
}
/* SPのみ Figma 695:4173（hero-right 直下・フルブリード） */
.p-mv__cta-bar-wrap {
  margin-inline: calc(-15 * var(--to-rem));
  width: calc(100% + 30 * var(--to-rem));
  box-sizing: border-box;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-mv__cta-bar-wrap {
    display: none;
  }
}
.p-mv__cta-bar-wrap.is-sticky {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 120;
  margin-inline: 0;
  width: 100%;
}
.p-mv__cta-bar-wrap.is-sticky.is-hidden-by-footer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-mv__cta-bar-wrap::before {
  content: "";
  display: block;
  height: 3px;
  background: #003981;
}
.p-mv__cta-bar {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-mv__cta-bar__item {
  flex: 1 1 0;
  min-width: 0;
}
.p-mv__cta-bar__item:nth-child(2) {
  border-inline-start: 1px solid rgba(255, 255, 255, 0.45);
}
.p-mv__cta-bar__item:nth-child(3) {
  border-inline-start: 1px solid rgba(0, 0, 0, 0.12);
}
.p-mv__cta-bar__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--to-rem));
  min-height: calc(75 * var(--to-rem));
  padding: calc(8 * var(--to-rem)) calc(4 * var(--to-rem));
  box-sizing: border-box;
  color: #fff;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(12 * var(--to-rem));
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.6px;
  text-align: center;
  text-decoration: none;
  transition: opacity var(--duration);
}
.p-mv__cta-bar__link:hover {
  opacity: 0.92;
  color: #fff;
}
.p-mv__cta-bar__link--phone {
  background: #003981;
}
.p-mv__cta-bar__link--reserve {
  background: #5076A7;
  gap: calc(10 * var(--to-rem));
}
.p-mv__cta-bar__sub {
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(18 * var(--to-rem));
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
}
.p-mv__cta-bar__link--services {
  background: #fff;
  color: #003981;
}
.p-mv__cta-bar__link--services:hover {
  color: #003981;
}
.p-mv__cta-bar__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-mv__cta-bar__icon {
  display: block;
  width: auto;
  height: calc(17 * var(--to-rem));
}
.p-mv__cta-bar__link--services .p-mv__cta-bar__icon {
  height: calc(15 * var(--to-rem));
}
/* PC: スロットで縦ボタン幅を確保しつつ、見た目は fixed で追従 */
.p-mv__side-btns-slot {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-mv__side-btns-slot {
    display: block;
    flex: 0 0 calc(70 * var(--to-rem));
    width: calc(70 * var(--to-rem));
    flex-shrink: 0;
    align-self: flex-end;
    pointer-events: none;
  }
}
.p-mv__side-btns {
  display: none;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-mv__side-btns {
    display: flex;
    position: fixed;
    top: 55%;
    inset-inline-end: 0;
    z-index: 950;
    transform: translateY(-50%);
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__side-btns.is-hidden-by-footer {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
.p-mv__side-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition: opacity var(--duration);
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (min-width: 768px) {
  .p-mv__side-btn {
    width: calc(70 * var(--to-rem));
    height: calc(160 * var(--to-rem));
    padding: 0;
    color: #fff;
    text-align: center;
    font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
    font-size: calc(15 * var(--to-rem));
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 0.2em;
  }
}
.p-mv__side-btn:hover {
  opacity: 1;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-mv__side-btn--reserve {
    border-radius: calc(6 * var(--to-rem)) 0 0 0;
    background: #5076A7;
  }
  .p-mv__side-btn--reserve:hover {
    background: #345D91;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__side-btn--contact {
    border-radius: 0 0 0 calc(6 * var(--to-rem));
    background: #003981;
  }
  .p-mv__side-btn--contact:hover {
    background: #00306D;
  }
}
.p-news-list {
  background: linear-gradient(90deg, #f4fbff 35%, rgba(244, 251, 255, 0.3) 100%);
  position: relative;
}
.p-news-list::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  background-image: url("../images/news-bg.webp");
}
@media screen and (max-width: 767px) {
  .p-news-list::after {
    background-image: url("../images/news-bg-sp.webp");
  }
}
.p-news-list.p-news-list-column::after {
  background-image: url("../images/column-bg.webp");
}
@media screen and (max-width: 767px) {
  .p-news-list.p-news-list-column::after {
    background-image: url("../images/column-bg-sp2.webp");
  }
}
.p-news-list.p-news-list-blog::after {
  background-image: url("../images/blog-bg.webp");
}
@media screen and (max-width: 767px) {
  .p-news-list.p-news-list-blog::after {
    background-image: url("../images/blog-bg-sp.webp");
  }
}
.p-news-list .p-news-list__inner {
  padding: calc(84 * var(--to-rem)) 0 calc(94 * var(--to-rem)) calc(150 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-news-list .p-news-list__inner {
    padding: calc(60 * var(--to-rem)) 0 calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-news-list .p-news-list__inner .p-news-list__title .c-section-title__main {
  color: var(--btn-color, #003981);
  font-family: var(--font-family-futura);
  font-size: calc(80 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 80px */
  letter-spacing: 4px;
  margin-bottom: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-news-list .p-news-list__inner .p-news-list__title .c-section-title__main {
    font-size: calc(42 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-news-list .p-news-list__inner .p-news-list__title .c-section-title__sub {
  color: var(--btn-color, #003981);
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 24px */
}
@media screen and (max-width: 767px) {
  .p-news-list .p-news-list__inner .p-news-list__title .c-section-title__sub {
    font-size: calc(14 * var(--to-rem));
  }
}
.cms-breadcrumb {
  padding: calc(40 * var(--to-rem)) 0 calc(80 * var(--to-rem));
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb {
    padding: calc(40 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
  }
}
.cms-breadcrumb.cms-breadcrumb-news {
  padding-bottom: 0;
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  max-width: calc(980 * var(--to-rem));
  margin-bottom: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb.cms-breadcrumb-news {
    padding: calc(20 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
    margin-bottom: calc(60 * var(--to-rem));
    border-bottom: none;
  }
}
.cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow {
  max-width: calc(800 * var(--to-rem));
  margin: 0 auto calc(80 * var(--to-rem)) calc(150 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow {
    max-width: none;
    padding: 0 calc(15 * var(--to-rem));
    margin: 0 auto;
  }
}
.cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow .p-breadcrumb {
  max-width: calc(800 * var(--to-rem));
  margin: 0 auto;
}
.cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow .p-breadcrumb__list__news .p-breadcrumb__item:last-child {
  min-width: 0;
  flex: 1 1 auto;
  max-width: calc(360 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow .p-breadcrumb__list__news .p-breadcrumb__item:last-child {
    max-width: 100%;
  }
}
.cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow .p-breadcrumb__list__news .p-breadcrumb__item:last-child .p-breadcrumb__link {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb.cms-breadcrumb-news.cms-breadcrumb-news--narrow .p-breadcrumb__list__news .p-breadcrumb__item:last-child .p-breadcrumb__link {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }
}
.cms-breadcrumb .p-breadcrumb {
  width: 100%;
  padding-left: calc(0 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb {
    max-width: none;
    padding: 0 calc(0 * var(--to-rem));
  }
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(60 * var(--to-rem));
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list__news {
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(0 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list__news {
    margin-bottom: calc(33 * var(--to-rem));
  }
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list__news .p-breadcrumb__item:last-child {
  min-width: 0;
  flex: 1 1 auto;
  max-width: calc(360 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list__news .p-breadcrumb__item:last-child {
    max-width: 100%;
  }
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list__news .p-breadcrumb__item:last-child .p-breadcrumb__link {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list-news-page {
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list.p-breadcrumb__list-news-page {
    padding-bottom: calc(20 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list {
    flex-wrap: wrap;
    gap: calc(12 * var(--to-rem));
    padding: 0 calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
    border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  }
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
    line-height: 160%; /* 22.4px */
  }
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:first-child::before {
  display: none;
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item::before {
  content: "";
  display: block;
  width: calc(13 * var(--to-rem));
  height: calc(13 * var(--to-rem));
  min-width: calc(13 * var(--to-rem));
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='13'%20viewBox='0%200%2013%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.22515%206.7874L5.16265%2010.8499C5.1249%2010.8876%205.08009%2010.9176%205.03078%2010.938C4.98146%2010.9584%204.9286%2010.969%204.87523%2010.969C4.82185%2010.969%204.76899%2010.9584%204.71967%2010.938C4.67036%2010.9176%204.62555%2010.8876%204.5878%2010.8499C4.55006%2010.8122%204.52012%2010.7673%204.49969%2010.718C4.47926%2010.6687%204.46875%2010.6159%204.46875%2010.5625C4.46875%2010.5091%204.47926%2010.4562%204.49969%2010.4069C4.52012%2010.3576%204.55006%2010.3128%204.5878%2010.2751L8.36339%206.49998L4.5878%202.7249C4.51157%202.64867%204.46875%202.54529%204.46875%202.43748C4.46875%202.32968%204.51157%202.22629%204.5878%202.15006C4.66403%202.07383%204.76742%202.03101%204.87523%202.03101C4.98303%202.03101%205.08642%202.07383%205.16265%202.15006L9.22515%206.21256C9.26292%206.25029%209.29288%206.29509%209.31333%206.34441C9.33377%206.39373%209.34429%206.44659%209.34429%206.49998C9.34429%206.55337%209.33377%206.60623%209.31333%206.65555C9.29288%206.70487%209.26292%206.74967%209.22515%206.7874Z'%20fill='%231C2E45'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item__blue {
  color: var(--btn-color, #003981);
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__link {
  position: relative;
  transition: color 0.2s ease;
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child {
  text-decoration-line: none;
}
.cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child .p-breadcrumb__link::after {
  display: none;
}
@media (any-hover: hover) {
  .cms-breadcrumb .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:not(:last-child) .p-breadcrumb__link:hover {
    color: #005d91;
  }
}
.news {
  padding-bottom: calc(213 * var(--to-rem));
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .news {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  }
}
.news .news__inner {
  display: flex;
  gap: calc(60 * var(--to-rem));
  flex-wrap: nowrap;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .news .news__inner {
    flex-wrap: wrap;
    gap: calc(100 * var(--to-rem));
    justify-content: center;
  }
}
.news .news__inner .news__main {
  flex: 1 1 auto;
  max-width: calc(800 * var(--to-rem));
  width: auto;
  min-width: 0;
}
.news .news__inner .news__main .news__important {
  display: flex;
  padding-bottom: calc(72 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__important {
    padding-bottom: calc(40 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__important .news__important-label {
  border-radius: calc(5 * var(--to-rem)) 0 0 calc(5 * var(--to-rem));
  background: #e32023;
  color: #fff;
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
  letter-spacing: 1.5px;
  width: calc(72 * var(--to-rem));
  height: calc(48 * var(--to-rem));
  display: flex;
  align-items: center;
  justify-content: center;
}
.news .news__inner .news__main .news__important .news__important-text {
  color: #1c2e45;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 15px */
  max-width: calc(728 * var(--to-rem));
  height: calc(48 * var(--to-rem));
  border-radius: 0 calc(5 * var(--to-rem)) calc(5 * var(--to-rem)) 0;
  border: calc(1 * var(--to-rem)) solid #e32023;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__important .news__important-text {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(273 * var(--to-rem));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    line-height: calc(48 * var(--to-rem));
    text-align: center;
  }
}
.news .news__inner .news__main .news__list {
  padding-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list {
    padding-bottom: calc(50 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__pagination {
  margin-top: calc(40 * var(--to-rem));
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__item {
  display: block;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__item:hover {
    opacity: 0.8;
  }
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__item:hover .p-news-list__card::after {
    right: calc(-6 * var(--to-rem));
  }
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__item:hover .p-news-list__title {
    color: #005d91;
  }
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__item:hover .p-news-list__thumb img {
    transform: scale(1.04);
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card {
  position: relative;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card::after {
  content: "";
  position: absolute;
  right: calc(0 * var(--to-rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRgAFAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSNwBAAABkFXbdtZqW0IkHAmRgIRKwEHj4NYBcZA64DqIBCQcCUfCeQBaSHa+n7eImAA0Gx5pWTc1d3fTWpc0BVCVVNQv1XWOJKZF/VYtU3fhZ/MGdZae4mLeapFepHrTRXoIizdfpLmneYc6tyXVO63S0NO8W0uthMW7XtqQzTtXaUDUu1e5LZoTtHhTNKdo8ZZoTtLiDWJO0+QyUSeqcpU61S1cszjZ5ZKn000XiPEx+a464frV7JTTF6KcLHxWnPTykTht+aTwqh+IE49nhVk+EWdu4Wim5q8j5bYdTE5+2hV2eafsFEB0+gLM/BKw8iuA8lMEH2CYRvBII0h5BLmO4HcIm45AbQTm/x1tBKYj0G0EdR1CHkFOI0iPEUxhBAHKT4E3v18g8ZsB4RcBKDsFgMyu7CZ20w4bN8Xhi9t8FIyaHCEzKziNzOQMlVfBh8JLPkFmVfBxME4qnyFxmvFtZVTxtRgfk++Q+CRcmdlkXBo2LoqLRZmoXAUxHia4PhoLi7gzGgeLuDcaA4u4W7Q/Fdwv2tsmaDL3lQMaTdaPJbQrtZcqaHrWHiyhdXm3lwM6lHdbVdCpvJuxHNGxzNrC9grofXrrPZoncIzzqtdoSQKqYUq5VrWd6bbm9AhoFlZQOCD+AgAAUBEAnQEqZABkAD5tNJVHJCMiISk1uZiADYliAxgBngH4AWqDi/3bXdOucfjwDIsfec4eID1HeYBzgPMB52XoH/wfqAf3f/AdYB6AHlyexp+7vpd6tNUBTG/HkzHsZr8d7/4uBYuoFXyBsP846dVYjOgTvdkZUDX+Tvku9ulO+0v9Wp+7YFTdCBxYjDYCNLG/YWvAAP78Vp8z/vJrALo34V+evHWIE5k/IjQhALJDHUP/2gv+iBM3tcoM1A8qGzfCF5cS9ELjVljqMO0gOIDXN+v5K3+sZnKPfLpzt+HKhiwOw18rBgWvY0zBwJNbl/4L7dX7rvSVf9yRb3g1qkWLVgbkq3lz7PPs/nk1XeXhJk+p7505iEoweFCpN925w9EpSRTx4ANHFGjBYdExv+0wmOgGRNzZgof/9tuKjOItYTB3/4BX9SPJV5paugWeuYkRMglb/dcxfet+28eGPbenE8z44+iV1/DuOtv4CYdt7yR4sHm6eYt/whqYbjop/Q5kRe44QaAhAOSOsTj3b9odOTTUVvpRQSnKdZKiLirVBIGJ/zkFprGw+ptWD35Op7IXOICPknLCdZLiO1RRSSZy6AvD/5nX/Nc679m9j8hP+0oX78xze2tx7xMOuD/N867v7XhcBLFlubt4geGvQipEDsI7JgUPfalcE5+BRTq+WZeWrKhRrk0S6VAVRH/8/yHqYOfUtBUaNzHhN7OqnCC7px10oRcwG6TAf5x/wiwOVadW5ttTni1wwpahRAQNxN9NotF2ab+bX+Poptbx/JpH04agAEgl4Iyhea3kL/aeSy0RfviChxHXiI62N26U+pFxoMl2n1AXV/6Hb4p5G3qQN5aGqaIG2Rn2EvAVbH4f85h+PWxgnb+B8r6o9S3ua2ZTK7km59rtd/WFcQm1/3gN5dP4g4Zcfs8+5e9Q/7fFQ7TD0fQAdNp3G4M9HyZU3swHKfDMW7x+slwRqbmAwOv5H/yJ7eP74XiZFfsdx+6z+vMJvW3LdSHjoya2AAAAAA==") no-repeat center/contain;
  transition: right 0.2s ease;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__meta {
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__meta {
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__meta .p-news-list__date {
  color: var(--btn-color, #003981);
  font-family: var(--font-family-futura);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%; /* 27px */
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main {
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-news-list__title {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 27px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-news-list__title.p-news-list__title_news {
    max-width: calc(305 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main.p-column-list__main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header {
  display: flex;
  flex: 1 1 auto;
  height: calc(150 * var(--to-rem));
  flex-direction: column;
  gap: 50px;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header {
    height: auto;
    margin-bottom: calc(0 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__title {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%; /* 27px */
  transition: color 0.2s ease;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__title {
    width: calc(180 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__title.p-column-list__title {
  margin-bottom: calc(10 * var(--to-rem));
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__lead {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  max-width: calc(505 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__lead {
    display: none;
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__lead.p-news-list__lead--blog {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 2;
  min-height: 3.2em;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-article-header__body .p-news-list__lead.p-news-list__lead--blog {
    display: none;
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta {
  display: flex;
  gap: calc(19 * var(--to-rem));
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta {
    margin-bottom: calc(20 * var(--to-rem));
    display: none;
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta .p-single__date {
  color: var(--font_color, #1c2e45);
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 13px */
  letter-spacing: 0.39px;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta .p-single__date.p-single__date--publish {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta .p-single__date.p-single__date--publish::before {
  content: "";
  display: block;
  position: relative;
  top: calc(2 * var(--to-rem));
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M14.2553%205.78431H12.8723V5.29412C12.8723%205.21611%2012.8387%205.1413%2012.7789%205.08615C12.719%205.03099%2012.6378%205%2012.5532%205C12.4685%205%2012.3874%205.03099%2012.3275%205.08615C12.2677%205.1413%2012.234%205.21611%2012.234%205.29412V5.78431H7.76596V5.29412C7.76596%205.21611%207.73233%205.1413%207.67248%205.08615C7.61263%205.03099%207.53145%205%207.44681%205C7.36216%205%207.28099%205.03099%207.22114%205.08615C7.16128%205.1413%207.12766%205.21611%207.12766%205.29412V5.78431H5.74468C5.54718%205.78431%205.35777%205.85662%205.21811%205.98532C5.07846%206.11402%205%206.28858%205%206.47059V14.3137C5%2014.4957%205.07846%2014.6703%205.21811%2014.799C5.35777%2014.9277%205.54718%2015%205.74468%2015H14.2553C14.4528%2015%2014.6422%2014.9277%2014.7819%2014.799C14.9215%2014.6703%2015%2014.4957%2015%2014.3137V6.47059C15%206.28858%2014.9215%206.11402%2014.7819%205.98532C14.6422%205.85662%2014.4528%205.78431%2014.2553%205.78431ZM5.74468%206.37255H7.12766V6.86275C7.12766%206.94075%207.16128%207.01556%207.22114%207.07072C7.28099%207.12588%207.36216%207.15686%207.44681%207.15686C7.53145%207.15686%207.61263%207.12588%207.67248%207.07072C7.73233%207.01556%207.76596%206.94075%207.76596%206.86275V6.37255H12.234V6.86275C12.234%206.94075%2012.2677%207.01556%2012.3275%207.07072C12.3874%207.12588%2012.4685%207.15686%2012.5532%207.15686C12.6378%207.15686%2012.719%207.12588%2012.7789%207.07072C12.8387%207.01556%2012.8723%206.94075%2012.8723%206.86275V6.37255H14.2553C14.2835%206.37255%2014.3106%206.38288%2014.3305%206.40126C14.3505%206.41965%2014.3617%206.44459%2014.3617%206.47059V8.13725H5.6383V6.47059C5.6383%206.44459%205.64951%206.41965%205.66946%206.40126C5.68941%206.38288%205.71647%206.37255%205.74468%206.37255ZM14.2553%2014.4118H5.74468C5.71647%2014.4118%205.68941%2014.4014%205.66946%2014.383C5.64951%2014.3647%205.6383%2014.3397%205.6383%2014.3137V8.72549H14.3617V14.3137C14.3617%2014.3397%2014.3505%2014.3647%2014.3305%2014.383C14.3106%2014.4014%2014.2835%2014.4118%2014.2553%2014.4118Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta .p-single__date.p-single__date--update {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  color: #005d91;
  align-items: center;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card .p-news-list__content .p-news-list__main .p-article-header .p-single__meta .p-single__date.p-single__date--update::before {
  content: "";
  position: relative;
  top: calc(2 * var(--to-rem));
  display: block;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M15%206.16977V8.72309C15%208.80773%2014.969%208.88891%2014.9138%208.94877C14.8587%209.00862%2014.7838%209.04225%2014.7058%209.04225H12.3524C12.2744%209.04225%2012.1995%209.00862%2012.1444%208.94877C12.0892%208.88891%2012.0582%208.80773%2012.0582%208.72309C12.0582%208.63844%2012.0892%208.55726%2012.1444%208.4974C12.1995%208.43755%2012.2744%208.40392%2012.3524%208.40392H13.9483L12.4588%206.92513C12.4558%206.92194%2012.4529%206.91821%2012.4495%206.91502C11.8906%206.30905%2011.1795%205.89516%2010.4051%205.72507C9.6307%205.55498%208.82726%205.63623%208.09515%205.95867C7.36305%206.2811%206.73474%206.83042%206.28873%207.53802C5.84271%208.24561%205.59876%209.0801%205.58734%209.93724C5.57593%2010.7944%205.79755%2011.6362%206.22454%2012.3574C6.65153%2013.0787%207.26494%2013.6475%207.98815%2013.9928C8.71136%2014.338%209.51231%2014.4444%2010.2909%2014.2987C11.0696%2014.1529%2011.7913%2013.7615%2012.3661%2013.1733C12.4229%2013.1152%2012.4986%2013.0839%2012.5766%2013.0863C12.6546%2013.0888%2012.7286%2013.1248%2012.7821%2013.1863C12.8357%2013.2479%2012.8645%2013.3301%2012.8623%2013.4147C12.86%2013.4994%2012.8269%2013.5796%2012.7701%2013.6377C11.9159%2014.5156%2010.7833%2015.0033%209.60669%2015H9.54393C8.78924%2014.9885%208.04871%2014.776%207.3874%2014.3813C6.7261%2013.9866%206.16425%2013.4218%205.75124%2012.7364C5.33823%2012.051%205.08669%2011.2661%205.01873%2010.4505C4.95076%209.63497%205.06845%208.8138%205.36144%208.05916C5.65444%207.30451%206.11379%206.63948%206.69912%206.1225C7.28445%205.60552%207.97784%205.25242%208.71839%205.09421C9.45894%204.936%2010.224%204.97754%2010.9463%205.21516C11.6685%205.45279%2012.326%205.87923%2012.8608%206.45702L14.4116%207.99699V6.16977C14.4116%206.08513%2014.4426%206.00394%2014.4978%205.94409C14.553%205.88424%2014.6278%205.85061%2014.7058%205.85061C14.7838%205.85061%2014.8587%205.88424%2014.9138%205.94409C14.969%206.00394%2015%206.08513%2015%206.16977Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column {
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  position: relative;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column::after {
  content: "";
  position: absolute;
  right: calc(0 * var(--to-rem));
  top: 50%;
  transform: translateY(-50%);
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRgAFAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSNwBAAABkFXbdtZqW0IkHAmRgIRKwEHj4NYBcZA64DqIBCQcCUfCeQBaSHa+n7eImAA0Gx5pWTc1d3fTWpc0BVCVVNQv1XWOJKZF/VYtU3fhZ/MGdZae4mLeapFepHrTRXoIizdfpLmneYc6tyXVO63S0NO8W0uthMW7XtqQzTtXaUDUu1e5LZoTtHhTNKdo8ZZoTtLiDWJO0+QyUSeqcpU61S1cszjZ5ZKn000XiPEx+a464frV7JTTF6KcLHxWnPTykTht+aTwqh+IE49nhVk+EWdu4Wim5q8j5bYdTE5+2hV2eafsFEB0+gLM/BKw8iuA8lMEH2CYRvBII0h5BLmO4HcIm45AbQTm/x1tBKYj0G0EdR1CHkFOI0iPEUxhBAHKT4E3v18g8ZsB4RcBKDsFgMyu7CZ20w4bN8Xhi9t8FIyaHCEzKziNzOQMlVfBh8JLPkFmVfBxME4qnyFxmvFtZVTxtRgfk++Q+CRcmdlkXBo2LoqLRZmoXAUxHia4PhoLi7gzGgeLuDcaA4u4W7Q/Fdwv2tsmaDL3lQMaTdaPJbQrtZcqaHrWHiyhdXm3lwM6lHdbVdCpvJuxHNGxzNrC9grofXrrPZoncIzzqtdoSQKqYUq5VrWd6bbm9AhoFlZQOCD+AgAAUBEAnQEqZABkAD5tNJVHJCMiISk1uZiADYliAxgBngH4AWqDi/3bXdOucfjwDIsfec4eID1HeYBzgPMB52XoH/wfqAf3f/AdYB6AHlyexp+7vpd6tNUBTG/HkzHsZr8d7/4uBYuoFXyBsP846dVYjOgTvdkZUDX+Tvku9ulO+0v9Wp+7YFTdCBxYjDYCNLG/YWvAAP78Vp8z/vJrALo34V+evHWIE5k/IjQhALJDHUP/2gv+iBM3tcoM1A8qGzfCF5cS9ELjVljqMO0gOIDXN+v5K3+sZnKPfLpzt+HKhiwOw18rBgWvY0zBwJNbl/4L7dX7rvSVf9yRb3g1qkWLVgbkq3lz7PPs/nk1XeXhJk+p7505iEoweFCpN925w9EpSRTx4ANHFGjBYdExv+0wmOgGRNzZgof/9tuKjOItYTB3/4BX9SPJV5paugWeuYkRMglb/dcxfet+28eGPbenE8z44+iV1/DuOtv4CYdt7yR4sHm6eYt/whqYbjop/Q5kRe44QaAhAOSOsTj3b9odOTTUVvpRQSnKdZKiLirVBIGJ/zkFprGw+ptWD35Op7IXOICPknLCdZLiO1RRSSZy6AvD/5nX/Nc679m9j8hP+0oX78xze2tx7xMOuD/N867v7XhcBLFlubt4geGvQipEDsI7JgUPfalcE5+BRTq+WZeWrKhRrk0S6VAVRH/8/yHqYOfUtBUaNzHhN7OqnCC7px10oRcwG6TAf5x/wiwOVadW5ttTni1wwpahRAQNxN9NotF2ab+bX+Poptbx/JpH04agAEgl4Iyhea3kL/aeSy0RfviChxHXiI62N26U+pFxoMl2n1AXV/6Hb4p5G3qQN5aGqaIG2Rn2EvAVbH4f85h+PWxgnb+B8r6o9S3ua2ZTK7km59rtd/WFcQm1/3gN5dP4g4Zcfs8+5e9Q/7fFQ7TD0fQAdNp3G4M9HyZU3swHKfDMW7x+slwRqbmAwOv5H/yJ7eP74XiZFfsdx+6z+vMJvW3LdSHjoya2AAAAAA==") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column::after {
    top: 30%;
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body {
  display: flex;
  align-items: stretch;
  gap: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body {
    gap: calc(10 * var(--to-rem));
    margin-bottom: calc(15 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb {
  flex-shrink: 0;
  width: calc(180 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb {
    width: calc(120 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb.p-column-list__thumb {
  width: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb.p-column-list__thumb {
    width: calc(120 * var(--to-rem));
    height: calc(90 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb.p-column-list__thumb img {
  width: 100%;
  height: calc(150 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb.p-column-list__thumb img {
    height: calc(90 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__thumb img {
  width: 100%;
  height: calc(120 * var(--to-rem));
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__content {
  width: 100%;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__card-body .p-news-list__main {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta {
  display: flex;
  gap: calc(19 * var(--to-rem));
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta .p-single__date {
  color: var(--font_color, #1c2e45);
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 13px */
  letter-spacing: 0.39px;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta .p-single__date.p-single__date--publish {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta .p-single__date.p-single__date--publish::before {
  content: "";
  display: block;
  position: relative;
  top: calc(2 * var(--to-rem));
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M14.2553%205.78431H12.8723V5.29412C12.8723%205.21611%2012.8387%205.1413%2012.7789%205.08615C12.719%205.03099%2012.6378%205%2012.5532%205C12.4685%205%2012.3874%205.03099%2012.3275%205.08615C12.2677%205.1413%2012.234%205.21611%2012.234%205.29412V5.78431H7.76596V5.29412C7.76596%205.21611%207.73233%205.1413%207.67248%205.08615C7.61263%205.03099%207.53145%205%207.44681%205C7.36216%205%207.28099%205.03099%207.22114%205.08615C7.16128%205.1413%207.12766%205.21611%207.12766%205.29412V5.78431H5.74468C5.54718%205.78431%205.35777%205.85662%205.21811%205.98532C5.07846%206.11402%205%206.28858%205%206.47059V14.3137C5%2014.4957%205.07846%2014.6703%205.21811%2014.799C5.35777%2014.9277%205.54718%2015%205.74468%2015H14.2553C14.4528%2015%2014.6422%2014.9277%2014.7819%2014.799C14.9215%2014.6703%2015%2014.4957%2015%2014.3137V6.47059C15%206.28858%2014.9215%206.11402%2014.7819%205.98532C14.6422%205.85662%2014.4528%205.78431%2014.2553%205.78431ZM5.74468%206.37255H7.12766V6.86275C7.12766%206.94075%207.16128%207.01556%207.22114%207.07072C7.28099%207.12588%207.36216%207.15686%207.44681%207.15686C7.53145%207.15686%207.61263%207.12588%207.67248%207.07072C7.73233%207.01556%207.76596%206.94075%207.76596%206.86275V6.37255H12.234V6.86275C12.234%206.94075%2012.2677%207.01556%2012.3275%207.07072C12.3874%207.12588%2012.4685%207.15686%2012.5532%207.15686C12.6378%207.15686%2012.719%207.12588%2012.7789%207.07072C12.8387%207.01556%2012.8723%206.94075%2012.8723%206.86275V6.37255H14.2553C14.2835%206.37255%2014.3106%206.38288%2014.3305%206.40126C14.3505%206.41965%2014.3617%206.44459%2014.3617%206.47059V8.13725H5.6383V6.47059C5.6383%206.44459%205.64951%206.41965%205.66946%206.40126C5.68941%206.38288%205.71647%206.37255%205.74468%206.37255ZM14.2553%2014.4118H5.74468C5.71647%2014.4118%205.68941%2014.4014%205.66946%2014.383C5.64951%2014.3647%205.6383%2014.3397%205.6383%2014.3137V8.72549H14.3617V14.3137C14.3617%2014.3397%2014.3505%2014.3647%2014.3305%2014.383C14.3106%2014.4014%2014.2835%2014.4118%2014.2553%2014.4118Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta .p-single__date.p-single__date--update {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  color: #005d91;
  align-items: center;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta .p-single__date.p-single__date--update::before {
  content: "";
  position: relative;
  top: calc(2 * var(--to-rem));
  display: block;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M15%206.16977V8.72309C15%208.80773%2014.969%208.88891%2014.9138%208.94877C14.8587%209.00862%2014.7838%209.04225%2014.7058%209.04225H12.3524C12.2744%209.04225%2012.1995%209.00862%2012.1444%208.94877C12.0892%208.88891%2012.0582%208.80773%2012.0582%208.72309C12.0582%208.63844%2012.0892%208.55726%2012.1444%208.4974C12.1995%208.43755%2012.2744%208.40392%2012.3524%208.40392H13.9483L12.4588%206.92513C12.4558%206.92194%2012.4529%206.91821%2012.4495%206.91502C11.8906%206.30905%2011.1795%205.89516%2010.4051%205.72507C9.6307%205.55498%208.82726%205.63623%208.09515%205.95867C7.36305%206.2811%206.73474%206.83042%206.28873%207.53802C5.84271%208.24561%205.59876%209.0801%205.58734%209.93724C5.57593%2010.7944%205.79755%2011.6362%206.22454%2012.3574C6.65153%2013.0787%207.26494%2013.6475%207.98815%2013.9928C8.71136%2014.338%209.51231%2014.4444%2010.2909%2014.2987C11.0696%2014.1529%2011.7913%2013.7615%2012.3661%2013.1733C12.4229%2013.1152%2012.4986%2013.0839%2012.5766%2013.0863C12.6546%2013.0888%2012.7286%2013.1248%2012.7821%2013.1863C12.8357%2013.2479%2012.8645%2013.3301%2012.8623%2013.4147C12.86%2013.4994%2012.8269%2013.5796%2012.7701%2013.6377C11.9159%2014.5156%2010.7833%2015.0033%209.60669%2015H9.54393C8.78924%2014.9885%208.04871%2014.776%207.3874%2014.3813C6.7261%2013.9866%206.16425%2013.4218%205.75124%2012.7364C5.33823%2012.051%205.08669%2011.2661%205.01873%2010.4505C4.95076%209.63497%205.06845%208.8138%205.36144%208.05916C5.65444%207.30451%206.11379%206.63948%206.69912%206.1225C7.28445%205.60552%207.97784%205.25242%208.71839%205.09421C9.45894%204.936%2010.224%204.97754%2010.9463%205.21516C11.6685%205.45279%2012.326%205.87923%2012.8608%206.45702L14.4116%207.99699V6.16977C14.4116%206.08513%2014.4426%206.00394%2014.4978%205.94409C14.553%205.88424%2014.6278%205.85061%2014.7058%205.85061C14.7838%205.85061%2014.8587%205.88424%2014.9138%205.94409C14.969%206.00394%2015%206.08513%2015%206.16977Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__meta {
  padding-bottom: calc(12 * var(--to-rem));
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-news-list__title {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta--pc {
    display: none;
  }
}
.news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .news .news__inner .news__main .news__list .p-news-list__container .p-news-list__card--column .p-single__meta--sp {
    display: flex;
    gap: calc(12 * var(--to-rem));
  }
}
.news .news__inner .news__main .news__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--to-rem));
  justify-content: center;
  align-items: center;
  margin-top: calc(40 * var(--to-rem));
  padding: 0;
  list-style: none;
}
.news .news__inner .news__main .news__pagination .pagination__item {
  list-style: none;
}
.news .news__inner .news__main .news__pagination .pagination__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: calc(44 * var(--to-rem));
  height: calc(44 * var(--to-rem));
  padding: 0 calc(12 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid #003981;
  background: #fff;
  color: var(--font_color, #1c2e45);
  line-height: 1;
  text-decoration: none;
  border-radius: calc(50 * var(--to-rem));
  color: #003981;
  font-family: var(--font-family-futura);
  font-size: calc(16 * var(--to-rem));
  font-weight: 500;
  line-height: 180%; /* 28.8px */
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.news .news__inner .news__main .news__pagination .pagination__link.is-active {
  background: #003981;
  border-color: #003981;
  color: #fff;
}
.news .news__inner .news__main .news__pagination .pagination__link.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
@media (any-hover: hover) {
  .news .news__inner .news__main .news__pagination .pagination__link:hover {
    background: #f4fbff;
    border-color: #7298c8;
  }
  .news .news__inner .news__main .news__pagination .pagination__link.is-active:hover {
    background: #003981;
    border-color: #003981;
    color: #fff;
  }
}
.news .news__inner .news__main .news__pagination .pagination__icon {
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
}
.news__sidebar-wrap {
  flex: 0 0 calc(280 * var(--to-rem));
  position: sticky;
  top: calc(200 * var(--to-rem));
  width: calc(280 * var(--to-rem));
  align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .news__sidebar-wrap {
    position: static;
    top: auto;
    width: 100%;
  }
}
.news__sidebar {
  max-width: calc(280 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .news__sidebar {
    max-width: none;
  }
}
.news__sidebar .news__category {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--to-rem));
  padding-bottom: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__category {
    gap: calc(9 * var(--to-rem));
    padding-bottom: calc(40 * var(--to-rem));
    flex-direction: row;
  }
}
.news__sidebar .news__category .news__category-link {
  width: calc(280 * var(--to-rem));
  height: calc(110 * var(--to-rem));
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__category .news__category-link {
    width: calc(170 * var(--to-rem));
  }
}
.news__sidebar .news__category .news__category-link.news__category-link__column {
  border-radius: calc(10 * var(--to-rem));
  mix-blend-mode: multiply;
  background-image: url("../images/column-bg2.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__category .news__category-link.news__category-link__column {
    background-image: url("../images/column-bg-sp.webp");
  }
}
.news__sidebar .news__category .news__category-link.news__category-link__column::after {
  content: "";
  position: absolute;
  right: calc(10 * var(--to-rem));
  bottom: calc(10 * var(--to-rem));
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRoYDAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSNwBAAABkFXbdtZqW0IkHAmRgIRKwEHj4NYBcZA64DqIBCQcCUfCeQBaSHa+n7eImAA0Gx5pWTc1d3fTWpc0BVCVVNQv1XWOJKZF/VYtU3fhZ/MGdZae4mLeapFepHrTRXoIizdfpLmneYc6tyXVO63S0NO8W0uthMW7XtqQzTtXaUDUu1e5LZoTtHhTNKdo8ZZoTtLiDWJO0+QyUSeqcpU61S1cszjZ5ZKn000XiPEx+a464frV7JTTF6KcLHxWnPTykTht+aTwqh+IE49nhVk+EWdu4Wim5q8j5bYdTE5+2hV2eafsFEB0+gLM/BKw8iuA8lMEH2CYRvBII0h5BLmO4HcIm45AbQTm/x1tBKYj0G0EdR1CHkFOI0iPEUxhBAHKT4E3v18g8ZsB4RcBKDsFgMyu7CZ20w4bN8Xhi9t8FIyaHCEzKziNzOQMlVfBh8JLPkFmVfBxME4qnyFxmvFtZVTxtRgfk++Q+CRcmdlkXBo2LoqLRZmoXAUxHia4PhoLi7gzGgeLuDcaA4u4W7Q/Fdwv2tsmaDL3lQMaTdaPJbQrtZcqaHrWHiyhdXm3lwM6lHdbVdCpvJuxHNGxzNrC9grofXrrPZoncIzzqtdoSQKqYUq5VrWd6bbm9AhoFlZQOCCEAQAA0AsAnQEqZABkAD5tNpZIJCMiISK4CtiADYlnCHAAxwbQCWAN5RyKaoCmO+PtNc5Ktte/VfeDfGpiz1qcpvlYqsB3mWtVAfQXmXpVhSFz5/vxxuYDJl+yuk/OOj4kJa9mw/AzNKkQAAD+bRf/9WX//quL//1OAX/RVgP/6wgf/h0QJv/A/XG/EfYNNyE2+Q/lPz2wXfR2y0fFhuqwwrRjLxkhfX6QdKw/32lhr7I/XS868fTwh4ezKbkb8mW/CaVsGRNuwpaEUs6+iLFG9CRL5UY8wl62n97lxVsQTYDe0aI2CWXNR2favHxusUtk+it/bg0r8OD+a5OBzejlWyHxXG8O6UtZFFuyzwHe6v2SYChy51Lbhz++bEmqssEKG68PvFLW/kn6JEOW+MYJhLlJGWwbfVeZN/3gE/PKNUcZtPUmHe3KIBj5ZSLyfYi6Rk1MADD/qn/qcGT2+It2YIv8H3EUahVYL0AAmuQgv//83IL/+sEY///zp8MU2+8///NwAAAAAA==") no-repeat center/contain;
  transition: right 0.2s ease, bottom 0.2s ease;
}
.news__sidebar .news__category .news__category-link.news__category-link__news {
  border-radius: calc(10 * var(--to-rem));
  mix-blend-mode: multiply;
  background-image: url("../images/news-bg2.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
  z-index: 0;
}
.news__sidebar .news__category .news__category-link.news__category-link__news::after {
  content: "";
  position: absolute;
  right: calc(10 * var(--to-rem));
  bottom: calc(10 * var(--to-rem));
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRoYDAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSNwBAAABkFXbdtZqW0IkHAmRgIRKwEHj4NYBcZA64DqIBCQcCUfCeQBaSHa+n7eImAA0Gx5pWTc1d3fTWpc0BVCVVNQv1XWOJKZF/VYtU3fhZ/MGdZae4mLeapFepHrTRXoIizdfpLmneYc6tyXVO63S0NO8W0uthMW7XtqQzTtXaUDUu1e5LZoTtHhTNKdo8ZZoTtLiDWJO0+QyUSeqcpU61S1cszjZ5ZKn000XiPEx+a464frV7JTTF6KcLHxWnPTykTht+aTwqh+IE49nhVk+EWdu4Wim5q8j5bYdTE5+2hV2eafsFEB0+gLM/BKw8iuA8lMEH2CYRvBII0h5BLmO4HcIm45AbQTm/x1tBKYj0G0EdR1CHkFOI0iPEUxhBAHKT4E3v18g8ZsB4RcBKDsFgMyu7CZ20w4bN8Xhi9t8FIyaHCEzKziNzOQMlVfBh8JLPkFmVfBxME4qnyFxmvFtZVTxtRgfk++Q+CRcmdlkXBo2LoqLRZmoXAUxHia4PhoLi7gzGgeLuDcaA4u4W7Q/Fdwv2tsmaDL3lQMaTdaPJbQrtZcqaHrWHiyhdXm3lwM6lHdbVdCpvJuxHNGxzNrC9grofXrrPZoncIzzqtdoSQKqYUq5VrWd6bbm9AhoFlZQOCCEAQAA0AsAnQEqZABkAD5tNpZIJCMiISK4CtiADYlnCHAAxwbQCWAN5RyKaoCmO+PtNc5Ktte/VfeDfGpiz1qcpvlYqsB3mWtVAfQXmXpVhSFz5/vxxuYDJl+yuk/OOj4kJa9mw/AzNKkQAAD+bRf/9WX//quL//1OAX/RVgP/6wgf/h0QJv/A/XG/EfYNNyE2+Q/lPz2wXfR2y0fFhuqwwrRjLxkhfX6QdKw/32lhr7I/XS868fTwh4ezKbkb8mW/CaVsGRNuwpaEUs6+iLFG9CRL5UY8wl62n97lxVsQTYDe0aI2CWXNR2favHxusUtk+it/bg0r8OD+a5OBzejlWyHxXG8O6UtZFFuyzwHe6v2SYChy51Lbhz++bEmqssEKG68PvFLW/kn6JEOW+MYJhLlJGWwbfVeZN/3gE/PKNUcZtPUmHe3KIBj5ZSLyfYi6Rk1MADD/qn/qcGT2+It2YIv8H3EUahVYL0AAmuQgv//83IL/+sEY///zp8MU2+8///NwAAAAAA==") no-repeat center/contain;
  transition: right 0.2s ease, bottom 0.2s ease;
}
.news__sidebar .news__category .news__category-link.news__category-link__blog {
  border-radius: calc(10 * var(--to-rem));
  mix-blend-mode: multiply;
  background-image: url("../images/blog-bg2.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: calc(18 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__category .news__category-link.news__category-link__blog {
    background-image: url("../images/blog-bg-sp2.webp");
  }
}
.news__sidebar .news__category .news__category-link.news__category-link__blog::after {
  content: "";
  position: absolute;
  right: calc(10 * var(--to-rem));
  bottom: calc(10 * var(--to-rem));
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRoYDAABXRUJQVlA4WAoAAAAQAAAAYwAAYwAAQUxQSNwBAAABkFXbdtZqW0IkHAmRgIRKwEHj4NYBcZA64DqIBCQcCUfCeQBaSHa+n7eImAA0Gx5pWTc1d3fTWpc0BVCVVNQv1XWOJKZF/VYtU3fhZ/MGdZae4mLeapFepHrTRXoIizdfpLmneYc6tyXVO63S0NO8W0uthMW7XtqQzTtXaUDUu1e5LZoTtHhTNKdo8ZZoTtLiDWJO0+QyUSeqcpU61S1cszjZ5ZKn000XiPEx+a464frV7JTTF6KcLHxWnPTykTht+aTwqh+IE49nhVk+EWdu4Wim5q8j5bYdTE5+2hV2eafsFEB0+gLM/BKw8iuA8lMEH2CYRvBII0h5BLmO4HcIm45AbQTm/x1tBKYj0G0EdR1CHkFOI0iPEUxhBAHKT4E3v18g8ZsB4RcBKDsFgMyu7CZ20w4bN8Xhi9t8FIyaHCEzKziNzOQMlVfBh8JLPkFmVfBxME4qnyFxmvFtZVTxtRgfk++Q+CRcmdlkXBo2LoqLRZmoXAUxHia4PhoLi7gzGgeLuDcaA4u4W7Q/Fdwv2tsmaDL3lQMaTdaPJbQrtZcqaHrWHiyhdXm3lwM6lHdbVdCpvJuxHNGxzNrC9grofXrrPZoncIzzqtdoSQKqYUq5VrWd6bbm9AhoFlZQOCCEAQAA0AsAnQEqZABkAD5tNpZIJCMiISK4CtiADYlnCHAAxwbQCWAN5RyKaoCmO+PtNc5Ktte/VfeDfGpiz1qcpvlYqsB3mWtVAfQXmXpVhSFz5/vxxuYDJl+yuk/OOj4kJa9mw/AzNKkQAAD+bRf/9WX//quL//1OAX/RVgP/6wgf/h0QJv/A/XG/EfYNNyE2+Q/lPz2wXfR2y0fFhuqwwrRjLxkhfX6QdKw/32lhr7I/XS868fTwh4ezKbkb8mW/CaVsGRNuwpaEUs6+iLFG9CRL5UY8wl62n97lxVsQTYDe0aI2CWXNR2favHxusUtk+it/bg0r8OD+a5OBzejlWyHxXG8O6UtZFFuyzwHe6v2SYChy51Lbhz++bEmqssEKG68PvFLW/kn6JEOW+MYJhLlJGWwbfVeZN/3gE/PKNUcZtPUmHe3KIBj5ZSLyfYi6Rk1MADD/qn/qcGT2+It2YIv8H3EUahVYL0AAmuQgv//83IL/+sEY///zp8MU2+8///NwAAAAAA==") no-repeat center/contain;
  transition: right 0.2s ease, bottom 0.2s ease;
}
@media (any-hover: hover) {
  .news__sidebar .news__category .news__category-link:hover {
    opacity: 0.8;
  }
  .news__sidebar .news__category .news__category-link:hover::after {
    right: calc(8 * var(--to-rem));
    bottom: calc(8 * var(--to-rem));
  }
}
.news__sidebar .news__popular {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__popular {
    padding: calc(30 * var(--to-rem));
  }
}
.news__sidebar .news__popular .news__popular-title {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 28.8px */
  display: flex;
  align-items: center;
  gap: calc(10 * var(--to-rem));
  padding-bottom: calc(20 * var(--to-rem));
}
.news__sidebar .news__popular .news__popular-title::before {
  content: "";
  display: block;
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  border-radius: calc(50 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
}
.news__sidebar .news__popular .news__popular-list .news__popular-item {
  display: block;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap {
  display: flex;
  gap: calc(10 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-thumb {
  max-width: calc(120 * var(--to-rem));
  height: calc(90 * var(--to-rem));
  object-fit: cover;
  border-radius: calc(10 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-thumb {
    max-width: calc(140 * var(--to-rem));
    height: calc(105 * var(--to-rem));
  }
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content {
  max-width: calc(94 * var(--to-rem));
  width: 100%;
  color: var(--font_color, #1c2e45);
  font-size: calc(12 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 16.8px */
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content {
    max-width: calc(96 * var(--to-rem));
  }
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date {
  display: flex;
  flex-direction: column;
  gap: calc(18 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date {
    gap: calc(16 * var(--to-rem));
  }
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date .news__popular-date--publish {
  position: relative;
  display: flex;
  gap: calc(8 * var(--to-rem));
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date .news__popular-date--publish::before {
  content: "";
  display: block;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M14.2553%205.78431H12.8723V5.29412C12.8723%205.21611%2012.8387%205.1413%2012.7789%205.08615C12.719%205.03099%2012.6378%205%2012.5532%205C12.4685%205%2012.3874%205.03099%2012.3275%205.08615C12.2677%205.1413%2012.234%205.21611%2012.234%205.29412V5.78431H7.76596V5.29412C7.76596%205.21611%207.73233%205.1413%207.67248%205.08615C7.61263%205.03099%207.53145%205%207.44681%205C7.36216%205%207.28099%205.03099%207.22114%205.08615C7.16128%205.1413%207.12766%205.21611%207.12766%205.29412V5.78431H5.74468C5.54718%205.78431%205.35777%205.85662%205.21811%205.98532C5.07846%206.11402%205%206.28858%205%206.47059V14.3137C5%2014.4957%205.07846%2014.6703%205.21811%2014.799C5.35777%2014.9277%205.54718%2015%205.74468%2015H14.2553C14.4528%2015%2014.6422%2014.9277%2014.7819%2014.799C14.9215%2014.6703%2015%2014.4957%2015%2014.3137V6.47059C15%206.28858%2014.9215%206.11402%2014.7819%205.98532C14.6422%205.85662%2014.4528%205.78431%2014.2553%205.78431ZM5.74468%206.37255H7.12766V6.86275C7.12766%206.94075%207.16128%207.01556%207.22114%207.07072C7.28099%207.12588%207.36216%207.15686%207.44681%207.15686C7.53145%207.15686%207.61263%207.12588%207.67248%207.07072C7.73233%207.01556%207.76596%206.94075%207.76596%206.86275V6.37255H12.234V6.86275C12.234%206.94075%2012.2677%207.01556%2012.3275%207.07072C12.3874%207.12588%2012.4685%207.15686%2012.5532%207.15686C12.6378%207.15686%2012.719%207.12588%2012.7789%207.07072C12.8387%207.01556%2012.8723%206.94075%2012.8723%206.86275V6.37255H14.2553C14.2835%206.37255%2014.3106%206.38288%2014.3305%206.40126C14.3505%206.41965%2014.3617%206.44459%2014.3617%206.47059V8.13725H5.6383V6.47059C5.6383%206.44459%205.64951%206.41965%205.66946%206.40126C5.68941%206.38288%205.71647%206.37255%205.74468%206.37255ZM14.2553%2014.4118H5.74468C5.71647%2014.4118%205.68941%2014.4014%205.66946%2014.383C5.64951%2014.3647%205.6383%2014.3397%205.6383%2014.3137V8.72549H14.3617V14.3137C14.3617%2014.3397%2014.3505%2014.3647%2014.3305%2014.383C14.3106%2014.4014%2014.2835%2014.4118%2014.2553%2014.4118Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date .news__popular-date--update {
  position: relative;
  display: flex;
  gap: calc(8 * var(--to-rem));
  color: #005d91;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item_wrap .news__popular-content .news__popular-date .news__popular-date--update::before {
  content: "";
  display: block;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M15%206.16977V8.72309C15%208.80773%2014.969%208.88891%2014.9138%208.94877C14.8587%209.00862%2014.7838%209.04225%2014.7058%209.04225H12.3524C12.2744%209.04225%2012.1995%209.00862%2012.1444%208.94877C12.0892%208.88891%2012.0582%208.80773%2012.0582%208.72309C12.0582%208.63844%2012.0892%208.55726%2012.1444%208.4974C12.1995%208.43755%2012.2744%208.40392%2012.3524%208.40392H13.9483L12.4588%206.92513C12.4558%206.92194%2012.4529%206.91821%2012.4495%206.91502C11.8906%206.30905%2011.1795%205.89516%2010.4051%205.72507C9.6307%205.55498%208.82726%205.63623%208.09515%205.95867C7.36305%206.2811%206.73474%206.83042%206.28873%207.53802C5.84271%208.24561%205.59876%209.0801%205.58734%209.93724C5.57593%2010.7944%205.79755%2011.6362%206.22454%2012.3574C6.65153%2013.0787%207.26494%2013.6475%207.98815%2013.9928C8.71136%2014.338%209.51231%2014.4444%2010.2909%2014.2987C11.0696%2014.1529%2011.7913%2013.7615%2012.3661%2013.1733C12.4229%2013.1152%2012.4986%2013.0839%2012.5766%2013.0863C12.6546%2013.0888%2012.7286%2013.1248%2012.7821%2013.1863C12.8357%2013.2479%2012.8645%2013.3301%2012.8623%2013.4147C12.86%2013.4994%2012.8269%2013.5796%2012.7701%2013.6377C11.9159%2014.5156%2010.7833%2015.0033%209.60669%2015H9.54393C8.78924%2014.9885%208.04871%2014.776%207.3874%2014.3813C6.7261%2013.9866%206.16425%2013.4218%205.75124%2012.7364C5.33823%2012.051%205.08669%2011.2661%205.01873%2010.4505C4.95076%209.63497%205.06845%208.8138%205.36144%208.05916C5.65444%207.30451%206.11379%206.63948%206.69912%206.1225C7.28445%205.60552%207.97784%205.25242%208.71839%205.09421C9.45894%204.936%2010.224%204.97754%2010.9463%205.21516C11.6685%205.45279%2012.326%205.87923%2012.8608%206.45702L14.4116%207.99699V6.16977C14.4116%206.08513%2014.4426%206.00394%2014.4978%205.94409C14.553%205.88424%2014.6278%205.85061%2014.7058%205.85061C14.7838%205.85061%2014.8587%205.88424%2014.9138%205.94409C14.969%206.00394%2015%206.08513%2015%206.16977Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item .news__popular-item-title {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 22.4px */
  transition: color 0.2s ease;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.news__sidebar .news__popular .news__popular-list .news__popular-item:last-child .news__popular-item-title {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
@media (any-hover: hover) {
  .news__sidebar .news__popular .news__popular-list .news__popular-item:hover {
    opacity: 0.8;
  }
  .news__sidebar .news__popular .news__popular-list .news__popular-item:hover .news__popular-item-title {
    color: #005d91;
  }
  .news__sidebar .news__popular .news__popular-list .news__popular-item:hover .news__popular-thumb img {
    transform: scale(1.05);
  }
}
.news__sidebar .news__column-tags {
  border-radius: 10px;
  background: #f4fbff;
  padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  margin-bottom: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__column-tags {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__column-tags.news__column-tags-single {
    margin-bottom: calc(120 * var(--to-rem));
  }
}
.news__sidebar .news__column-tags .news__column-tags-title {
  color: var(--font_color, #1c2e45);
  font-size: calc(18 * var(--to-rem));
  text-align: center;
  font-weight: 600;
  line-height: 160%; /* 28.8px */
  padding-bottom: calc(10 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) dotted rgba(28, 46, 69, 0.3);
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__column-tags .news__column-tags-list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .news__sidebar .news__column-tags .news__column-tags-list .news__column-tags-item {
    min-width: calc(160 * var(--to-rem));
  }
}
.news__sidebar .news__column-tags .news__column-tags-list .news__column-tags-item .news__column-tags-link {
  color: var(--btn-color, #003981);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.news__sidebar .news__column-tags .news__column-tags-list .news__column-tags-item .news__column-tags-link.is-active {
  color: #1c2e45;
  font-weight: 500;
}
.single-dental_column-wrapper {
  display: flex;
  align-items: flex-start;
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  gap: calc(60 * var(--to-rem));
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .single-dental_column-wrapper {
    padding: 0 calc(15 * var(--to-rem));
    gap: 0;
  }
}
.single-dental_column-wrapper .single-dental_column-wrapper-left {
  flex: 1 1 auto;
  min-width: 0;
}
.single-dental_column-wrapper .single-dental_column-wrapper-right {
  flex: 0 0 calc(280 * var(--to-rem));
  width: calc(280 * var(--to-rem));
  align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .single-dental_column-wrapper .single-dental_column-wrapper-right {
    width: 100%;
  }
}
.p-ortho-compare {
  display: flex;
  gap: calc(77 * var(--to-rem));
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: calc(-40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-compare {
    flex-direction: column-reverse;
    gap: calc(35 * var(--to-rem));
  }
}
.p-ortho-compare .p-ortho-compare__content {
  max-width: calc(643 * var(--to-rem));
  width: 100%;
}
.p-ortho-compare .p-ortho-compare__content .p-ortho-compare__block {
  margin-bottom: calc(40 * var(--to-rem));
}
.p-ortho-compare .p-ortho-compare__content .p-ortho-compare__block:last-child {
  margin-bottom: 0;
}
.p-ortho-compare .p-ortho-compare__images {
  max-width: calc(420 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-ortho-compare .p-ortho-compare__images {
    margin-top: calc(50 * var(--to-rem));
  }
}
.p-ortho-compare .p-ortho-compare__images .p-ortho-compare__image {
  margin-bottom: calc(5 * var(--to-rem));
}
.p-ortho-compare .p-ortho-compare__images .p-ortho-compare__image.p-ortho-compare__image_01 {
  border-radius: 20px 20px 0 0;
}
.p-ortho-compare .p-ortho-compare__images .p-ortho-compare__image.p-ortho-compare__image-02 {
  border-radius: 0 0 20px 20px;
}
.p-ortho-compare .p-ortho-compare__images img {
  object-fit: cover;
  height: calc(280 * var(--to-rem));
}
.p-ortho-duration {
  padding: calc(120 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-ortho-duration.p-ortho-duration-adult_ortho {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-duration.p-ortho-duration-adult_ortho {
    padding-top: calc(100 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-ortho-duration {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-ortho-duration .p-ortho-duration__grid {
  display: flex;
  gap: calc(20 * var(--to-rem));
  flex-wrap: wrap;
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-duration .p-ortho-duration__grid {
    padding-bottom: calc(40 * var(--to-rem));
  }
}
.p-ortho-duration .p-ortho-duration__grid.p-ortho-duration__grid_adult_ortho {
  padding-bottom: calc(40 * var(--to-rem));
}
.p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background: rgba(0, 57, 129, 0.05);
  padding: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item .p-ortho-duration__item-title {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #003981;
}
@media screen and (max-width: 767px) {
  .p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item .p-ortho-duration__item-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item .p-ortho-duration__text {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-ortho-duration .p-ortho-duration__grid .p-ortho-duration__item .p-ortho-duration__text span {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-ortho-duration .p-information__block-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-ortho-duration .p-ortho-duration__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-ortho-price {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-bottom: calc(80 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-price {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(40 * var(--to-rem));
  }
}
.p-ortho-price .p-ortho-price__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-ortho-price .p-information__block-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-ortho-price .p-ortho-price__box {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  max-width: calc(481 * var(--to-rem));
  padding: calc(15 * var(--to-rem)) calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-ortho-price .p-ortho-price__box {
    padding: calc(20 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-ortho-price .p-ortho-price__box .p-ortho-price__amount {
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 32px */
}
.ortho-section--cost {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section--cost {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.ortho-section--cost .ortho-section__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
.ortho-section--cost .ortho-section__sub-title {
  margin-bottom: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section--cost .ortho-section__sub-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.ortho-section--cost .ortho-section__content {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(15 * var(--to-rem)) calc(30 * var(--to-rem));
  max-width: calc(540 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .ortho-section--cost .ortho-section__content {
    padding: calc(20 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.ortho-section--cost .ortho-section__content .ortho-section__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 32px */
}
.p-service-page--periodontal .p-service-page__body .p-service-page__body-inner {
  padding-left: calc(20 * var(--to-rem));
  padding-right: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-service-page__body-inner {
    max-width: none !important;
    padding-left: calc(15 * var(--to-rem));
    padding-right: calc(15 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble {
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner {
  max-width: calc(1140 * var(--to-rem));
  padding: calc(80 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner {
    padding: calc(60 * var(--to-rem)) 0 calc(40 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list {
  gap: calc(20 * var(--to-rem));
  max-width: none;
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    place-items: center;
    padding: 0;
  }
}
.p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
  flex-direction: column;
  gap: calc(10 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
  min-height: calc(175 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
    max-width: none;
    min-height: auto;
    height: auto;
    padding: calc(20 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
  font-size: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item p {
  font-size: calc(15 * var(--to-rem));
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item p {
    font-size: calc(14 * var(--to-rem));
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
}
.p-service-page--periodontal .p-service-page__body .cause {
  max-width: none !important;
  padding: calc(180 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .cause {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .cause .p-service-page__section {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  padding-inline: calc(15 * var(--to-rem));
  margin: 0 auto !important;
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .cause .p-service-page__section {
    max-width: none;
  }
}
.p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox {
  display: flex;
  justify-content: space-between;
  gap: calc(10 * var(--to-rem));
}
@media (max-width: 1000px) {
  .p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox {
    flex-direction: column;
    align-items: center;
    gap: calc(50 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt {
  max-width: calc(640 * var(--to-rem));
  width: 100%;
}
@media (max-width: 1000px) {
  .p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox .cnt .c-text-list {
    padding: calc(15 * var(--to-rem));
    padding-left: calc(15 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .cause .p-service-page__section .cause-flexbox picture {
  display: block;
  max-width: calc(420 * var(--to-rem));
  width: 100%;
  opacity: 0.95;
  border-radius: calc(6 * var(--to-rem));
}
.p-service-page--periodontal .p-service-page__body .p-prevention {
  padding: 0 calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-prevention {
    max-width: none;
    padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .p-prevention .c-heading-line {
    margin-bottom: calc(50 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .points .point-list__item-txt {
  text-align: left;
}
.p-service-page--periodontal .p-service-page__body .c-section {
  padding-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .c-section {
    margin-bottom: calc(60 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .c-section .c-flow .c-flow__item:first-of-type {
  padding-top: 0;
  border-top: none;
}
.p-service-page--periodontal .p-service-page__body .important {
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--periodontal .p-service-page__body .important {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page--periodontal .p-service-page__body .important .p-service-page__section {
  margin-bottom: 0 !important;
}
.c-media-block {
  display: flex;
  gap: calc(60 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  padding-inline: calc(15 * var(--to-rem));
  margin: 0 auto calc(180 * var(--to-rem));
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-media-block {
    flex-wrap: wrap;
    gap: calc(40 * var(--to-rem));
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.c-media-block .c-media-block__image img {
  width: calc(520 * var(--to-rem));
  object-fit: cover;
  height: calc(340 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-media-block .c-media-block__image img {
    width: calc(345 * var(--to-rem));
    height: calc(225 * var(--to-rem));
  }
}
.c-media-block .c-media-block__content {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-media-block .c-media-block__content {
    max-width: none;
  }
}
.c-media-block .c-media-block__content .c-heading {
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 33px */
  padding-bottom: calc(30 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .c-media-block .c-media-block__content .c-heading {
    font-size: calc(28 * var(--to-rem));
    padding-bottom: calc(20 * var(--to-rem));
    line-height: 160%; /* 44.8px */
  }
}
.c-media-block .c-media-block__content .c-text {
  color: #222;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-price {
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-price {
    margin-bottom: 0;
  }
}
.p-price .p-price_inner_wrapper {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  background-color: #f4fbff;
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper {
    padding: calc(60 * var(--to-rem)) 0 calc(60 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-price .p-price_inner_wrapper .p-price__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__label {
  color: var(--Golden-Grass, var(--color-orange-50, #daa726));
  font-family: var(--font-family-futura);
  font-size: calc(20 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 20px */
  letter-spacing: 1px;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__label {
    font-size: calc(16 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__title {
  color: var(--btn-color, #003981);
  font-size: calc(42 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 42px */
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__title {
    font-size: calc(28 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  margin-bottom: calc(11 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__lead {
    margin-bottom: calc(15 * var(--to-rem));
  }
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__lead.p-price__lead_adult_ortho {
  margin-top: calc(20 * var(--to-rem));
  margin-bottom: 0;
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__factors {
  display: flex;
  gap: calc(23 * var(--to-rem));
  margin-bottom: calc(11 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__factors {
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: calc(10 * var(--to-rem));
  }
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__factors .p-price__list .p-price__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 200%; /* 30px */
  position: relative;
  padding-left: calc(22 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__factors .p-price__list .p-price__item {
    line-height: 160%; /* 24px */
  }
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__factors .p-price__list .p-price__item::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.p-price .p-price_inner_wrapper .p-price__inner .p-price__note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 28px */
  margin-bottom: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price_inner_wrapper .p-price__inner .p-price__note {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-price .p-price__info {
  padding: calc(120 * var(--to-rem)) 0 calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info {
    padding: calc(60 * var(--to-rem)) calc(15 * var(--to-rem)) calc(120 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner {
    max-width: none;
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box {
  margin-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #003981;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--to-rem));
  max-width: calc(468 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  border: calc(3 * var(--to-rem)) solid #dae4f0;
  padding: calc(13 * var(--to-rem)) calc(40 * var(--to-rem));
  margin: calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons {
    padding: calc(10 * var(--to-rem)) calc(29 * var(--to-rem)) calc(8 * var(--to-rem));
    max-width: calc(345 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-01 {
  width: calc(85 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-01 {
    width: calc(62 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-02 {
  width: calc(67 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-02 {
    width: calc(49 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-03 {
  width: calc(50 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-03 {
    width: calc(36 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-04 {
  width: calc(120 * var(--to-rem));
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__payment-icons .payment-icon-04 {
    width: calc(92 * var(--to-rem));
  }
}
.p-price .p-price__info .p-price__info-inner .p-price__info-block .p-price__info-box .p-price__info-note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 28px */
}
.p-price-faq .p-first-detail__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: solid calc(1 * var(--to-rem)) #003981;
}
@media screen and (max-width: 767px) {
  .p-price-faq .p-first-detail__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-price__sp-scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-price__sp-scrollbar {
    position: relative;
    display: block;
    width: calc(345 * var(--to-rem));
    height: calc(12 * var(--to-rem));
    margin-top: calc(20 * var(--to-rem));
    margin-inline: auto;
    border-radius: calc(3 * var(--to-rem));
    overflow: hidden;
    border-radius: calc(6 * var(--to-rem));
    border: 1px solid #1c2e45;
    background: #fff;
  }
}
.p-price__sp-scrollbar-thumb {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-price__sp-scrollbar-thumb {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: var(--price-scrollbar-thumb-width, 25%);
    height: calc(6 * var(--to-rem));
    border-radius: calc(3 * var(--to-rem));
    background: #003981;
    transform: translate3d(var(--price-scrollbar-thumb-offset, 0), -50%, 0);
  }
}
.p-sample {
  padding-block: calc(60 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-sample {
    padding-block: calc(80 * var(--to-rem));
  }
}
.p-sample__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(16 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-sample__inner {
    gap: calc(24 * var(--to-rem));
  }
}
.p-sample__title {
  margin-block-start: calc(24 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-sample__title {
    margin-block-start: calc(32 * var(--to-rem));
  }
}
.p-sample__button-wrap {
  width: min(15rem, 100%);
}
.p-sample__button-wrap > * {
  width: 100%;
}
.p-sample__divider {
  width: 100%;
  height: 1px;
  max-width: calc(600 * var(--to-rem));
  margin: 0;
  border: 0;
  background-color: var(--color-gray);
}
.p-sample__bg {
  width: 100%;
  height: calc(300 * var(--to-rem));
  max-width: calc(600 * var(--to-rem));
  border-radius: 8px;
  background-image: url("../images/bg_sample.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sample__bg {
    height: calc(400 * var(--to-rem));
  }
}
.p-sample__image {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: calc(512 * var(--to-rem));
  border-radius: 8px;
}
.p-sample__image::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100 * var(--to-rem));
  background: linear-gradient(to top, var(--color-white), transparent);
  pointer-events: none;
}
.p-sample__image img {
  display: block;
  width: 100%;
  height: auto;
}
.p-sample p {
  margin: 0;
  color: var(--color-text);
  font-size: calc(14 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-sample p {
    font-size: calc(16 * var(--to-rem));
  }
}
.p-service-page {
  margin-bottom: 100vh;
}
@media (max-width: 1024px) {
  .p-service-page {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page {
    margin-bottom: 0;
  }
}
.p-service-page--prevention .p-service-page__heading_wrap::after {
  background-image: url("../images/prevention-top-bg.webp");
}
.p-service-page--prevention .p-clinic-schedule__button .button__deco {
  transform: translateY(calc(-60% - 3 * var(--to-rem)));
}
.p-service-page--peri-implantitis .p-service-page__heading_wrap::after {
  background-image: url("../images/implant-top-bg.webp");
}
.p-service-page--implant .p-service-page__heading_wrap::after {
  background-image: url("../images/implant-bg.webp");
}
.p-service-page--botox .p-service-page__heading_wrap::after {
  background-image: url("../images/botox-bg.webp");
}
.p-service-page--Beauty-injection .p-service-page__heading_wrap::after {
  background-image: url("../images/beauty-injection-bg.webp");
}
.p-service-page--Wisdomtooth .p-service-page__heading_wrap::after {
  background-image: url("../images/wisdom_tooth-bg.webp");
}
.p-service-page--Cosmetic .p-service-page__heading_wrap::after {
  background-image: url("../images/cosmetic-bg.webp");
}
.p-service-page--Whitening .p-service-page__heading_wrap::after {
  background-image: url("../images/whitening-bg.webp");
}
.p-service-page--MouthpieceOrthodontic .p-service-page__heading_wrap::after {
  background-image: url("../images/orthodontic-bg.webp");
}
.p-service-page--AdultOrthodontic .p-service-page__heading_wrap::after {
  background-image: url("../images/adult_ortho-bg.webp");
}
.p-service-page--AdultOrthodontic .p-service-page__heading_wrap::after {
  background-image: url("../images/adult_ortho-bg.webp");
}
.p-service-page--ChildOrthodontic .p-service-page__heading_wrap::after {
  background-image: url("../images/child_ortho-bg.webp");
}
.p-service-page--cavities .p-service-page__heading_wrap::after {
  background-image: url("../images/cavities-bg.webp");
}
.p-service-page--periodontal .p-service-page__heading_wrap::after {
  background-image: url("../images/periodontal-bg.webp");
}
.p-service-page .p-service-page__hero-inner .p-service-page__content {
  padding-bottom: calc(140 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap {
  background: linear-gradient(90deg, #f4fbff 35%, rgba(244, 251, 255, 0.3) 100%);
  position: relative;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap {
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading {
  margin: 0 auto;
  padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) calc(101 * var(--to-rem)) calc(15 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading {
    padding: calc(50 * var(--to-rem)) calc(15 * var(--to-rem)) calc(79 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading .p-service-page__eyebrow {
  color: #daa726;
  font-family: var(--font-family-futura);
  font-size: calc(20 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 32px */
  letter-spacing: 1px;
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading .p-service-page__eyebrow {
    font-size: calc(16 * var(--to-rem));
    margin-bottom: 0;
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading .p-service-page__title {
  color: var(--font_color, #1c2e45);
  font-size: calc(42 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 67.2px */
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__heading_wrap .p-service-page__heading .p-service-page__title {
    font-size: calc(28 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner {
    max-width: none;
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb {
    max-width: none;
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list {
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list {
    flex-wrap: wrap;
    gap: calc(12 * var(--to-rem));
    padding: 0 calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 14px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(5 * var(--to-rem));
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:first-child::before {
  display: none;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item::before {
  content: "";
  display: block;
  width: calc(13 * var(--to-rem));
  height: calc(13 * var(--to-rem));
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='13'%20viewBox='0%200%2013%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.22515%206.7874L5.16265%2010.8499C5.1249%2010.8876%205.08009%2010.9176%205.03078%2010.938C4.98146%2010.9584%204.9286%2010.969%204.87523%2010.969C4.82185%2010.969%204.76899%2010.9584%204.71967%2010.938C4.67036%2010.9176%204.62555%2010.8876%204.5878%2010.8499C4.55006%2010.8122%204.52012%2010.7673%204.49969%2010.718C4.47926%2010.6687%204.46875%2010.6159%204.46875%2010.5625C4.46875%2010.5091%204.47926%2010.4562%204.49969%2010.4069C4.52012%2010.3576%204.55006%2010.3128%204.5878%2010.2751L8.36339%206.49998L4.5878%202.7249C4.51157%202.64867%204.46875%202.54529%204.46875%202.43748C4.46875%202.32968%204.51157%202.22629%204.5878%202.15006C4.66403%202.07383%204.76742%202.03101%204.87523%202.03101C4.98303%202.03101%205.08642%202.07383%205.16265%202.15006L9.22515%206.21256C9.26292%206.25029%209.29288%206.29509%209.31333%206.34441C9.33377%206.39373%209.34429%206.44659%209.34429%206.49998C9.34429%206.55337%209.33377%206.60623%209.31333%206.65555C9.29288%206.70487%209.26292%206.74967%209.22515%206.7874Z'%20fill='%231C2E45'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item.p-breadcrumb__item__blue {
  color: var(--btn-color, #003981);
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item .p-breadcrumb__link {
  position: relative;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child {
  text-decoration-line: none;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-breadcrumb .p-breadcrumb__list .p-breadcrumb__item:last-child .p-breadcrumb__link::after {
  display: none;
}
.p-service-page .p-service-page__hero-inner .p-service-page__content .p-service-page__inner .p-service-page__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 220%; /* 33px */
}
.p-service-page .p-service-page__body .p-service-page__body-inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section {
  margin-bottom: calc(100 * var(--to-rem));
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .p-service-page__section-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title {
    gap: calc(10 * var(--to-rem));
    align-items: flex-start;
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title .c-block-content__block-icon {
  width: calc(12 * var(--to-rem));
  object-fit: cover;
  aspect-ratio: 1/2;
  height: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title .c-block-content__block-icon {
    width: calc(10 * var(--to-rem));
    height: calc(20 * var(--to-rem));
    aspect-ratio: 1/2;
    margin-top: 0.4em;
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title span {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 24px */
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title span {
    font-size: calc(20 * var(--to-rem));
    line-height: 160%; /* 32px */
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title .c-block-content__sub-text {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title.--caution {
  margin-bottom: 0;
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title.--caution .c-block-content__block-icon {
  width: calc(10 * var(--to-rem));
  height: calc(20 * var(--to-rem));
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-block-content__block-title.--caution span {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: #004479;
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(15 * var(--to-rem)) calc(30 * var(--to-rem));
  list-style: disc;
  padding-left: calc(50 * var(--to-rem));
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list {
    padding: calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
    padding-left: calc(35 * var(--to-rem));
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list:last-child {
  margin-bottom: 0;
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list.c-text-list__item--no-marker {
  list-style: none;
  padding-left: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list.c-text-list__item--no-marker {
    padding-left: calc(15 * var(--to-rem));
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list.c-test-list-bg-transparent {
  background: transparent;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list.c-test-list-bg-transparent {
    padding-left: calc(20 * var(--to-rem));
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item {
    max-width: none;
  }
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item.c-test-list__item--add-marker {
  list-style: disc;
  margin-left: calc(25 * var(--to-rem));
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item.c-test-list__item--fw-medium {
  font-weight: var(--font-weight-medium);
}
.p-service-page .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item .c-test-list__item--inner-caution {
  font-size: calc(14 * var(--to-rem));
}
.p-service-page .p-service-page__faq {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
  padding-bottom: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-service-page__faq {
    padding-bottom: calc(120 * var(--to-rem));
  }
}
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(40 * var(--to-rem));
  max-width: calc(1170 * var(--to-rem));
  justify-content: stretch;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page.p-service-page--implant .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first, .p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__list.p-faq__list__first {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__item, .p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__item, .p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__item, .p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__item {
  min-width: 0;
  max-width: none;
  width: 100%;
}
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__panel-body,
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__a,
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__question,
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__panel-body,
.p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__a,
.p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__question,
.p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__panel-body,
.p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__a,
.p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__question,
.p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__panel-body,
.p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__a,
.p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__question,
.p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__answer {
  min-width: 0;
}
.p-service-page.p-service-page--implant .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--MouthpieceOrthodontic .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--AdultOrthodontic .p-service-page__faq .p-faq__answer, .p-service-page.p-service-page--ChildOrthodontic .p-service-page__faq .p-faq__answer {
  max-width: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.p-service-page .c-section {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
.p-service-page .c-section.c-section-beauty-injection {
  padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section.c-section-beauty-injection {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page .c-section .c-section__header .c-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-service-page .c-section .c-section__subheader .c-subheading {
  color: var(--font_color, #1c2e45);
  font-size: calc(28 * var(--to-rem));
  font-weight: 700;
  line-height: 150%; /* 42px */
  margin-bottom: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-section__subheader .c-subheading {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-service-page .c-section .c-section__subheader .c-note {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
.p-service-page .c-section .c-flow.c-flow-prevention {
  padding-bottom: calc(40 * var(--to-rem));
}
.p-service-page .c-section .c-flow .c-flow__item {
  display: flex;
  gap: calc(40 * var(--to-rem));
  padding-top: calc(20 * var(--to-rem));
  border-top: calc(1 * var(--to-rem)) #dae4f0 solid;
  padding-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item {
    flex-wrap: wrap;
    padding-top: calc(24 * var(--to-rem));
    padding-bottom: calc(40 * var(--to-rem));
    gap: calc(5 * var(--to-rem));
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item.c-flow__item_adult_ortho {
    padding-top: 0;
    border-top: none;
  }
}
.p-service-page .c-section .c-flow .c-flow__item:last-child {
  padding-bottom: 0;
}
.p-service-page .c-section .c-flow .c-flow__item.c-flow__item--no-line {
  border-top: none;
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content {
  max-width: calc(800 * var(--to-rem));
  width: 100%;
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 38.4px */
  display: flex;
  margin-bottom: calc(3 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step {
    font-size: calc(20 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step h3 {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(24 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 38.4px */
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step h3 {
    font-size: calc(20 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step .c-flow__sub {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step .c-flow__number {
  color: #daa726;
  text-align: center;
  font-family: var(--font-family-futura);
  font-size: calc(50 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 50px */
  letter-spacing: 2.5px;
  display: inline;
  margin-right: calc(55 * var(--to-rem));
  width: calc(51 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__step .c-flow__number {
    font-size: calc(42 * var(--to-rem));
    margin-right: calc(8 * var(--to-rem));
    width: calc(45 * var(--to-rem));
  }
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  padding-left: calc(100 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text {
    padding-left: 0;
  }
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text span {
  font-weight: 500;
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text.c-flow__text_implant {
  color: #003981;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 200%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  padding-left: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text.c-flow__text_implant {
    padding-left: calc(15 * var(--to-rem));
  }
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text.c-flow__text_implant span {
  position: relative;
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__content .c-flow__text.c-flow__text_implant span::before {
  content: "";
  background: #003981;
  width: calc(5 * var(--to-rem));
  height: calc(5 * var(--to-rem));
  position: absolute;
  border-radius: calc(50 * var(--to-rem));
  top: 60%;
  transform: translateY(-50%);
  left: calc(-15 * var(--to-rem));
}
.p-service-page .c-section .c-flow .c-flow__item .c-flow__image {
  max-width: calc(300 * var(--to-rem));
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .c-flow .c-flow__item .c-flow__image {
    max-width: calc(345 * var(--to-rem));
    height: calc(220 * var(--to-rem));
  }
}
.p-service-page .c-section .p-information_block {
  padding-bottom: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .p-information_block {
    padding-bottom: calc(100 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .c-section .p-information_block .p-information__block-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-service-page .c-section .p-information_block .p-information__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-service-page .c-section .p-information_block .p-information__text span {
  font-weight: 500;
}
.p-service-page .p-prevention {
  max-width: calc(1170 * var(--to-rem));
  margin: 0 auto;
  padding-bottom: calc(220 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention {
    padding-bottom: calc(106 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention.p-prevention_child_ortho {
    padding-bottom: calc(60 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention.p-prevention-orthodontic {
    padding-bottom: calc(60 * var(--to-rem));
  }
}
.p-service-page .p-prevention .p-prevention__lead {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(57 * var(--to-rem));
}
.p-service-page .p-prevention .p-prevention__content {
  display: flex;
  gap: calc(95 * var(--to-rem));
}
@media (max-width: 1200px) {
  .p-service-page .p-prevention .p-prevention__content {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention .p-prevention__content {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-service-page .p-prevention .p-prevention__content {
    gap: calc(40 * var(--to-rem));
  }
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__image {
  max-width: calc(485 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  position: sticky;
  top: calc(200 * var(--to-rem));
}
@media (max-width: 1200px) {
  .p-service-page .p-prevention .p-prevention__content .p-prevention__image {
    position: relative;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention .p-prevention__content .p-prevention__image {
    position: relative;
    top: 0;
  }
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point {
  margin-bottom: calc(40 * var(--to-rem));
  padding-bottom: calc(40 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point.prevention__point_wisdom:last-child {
  margin-bottom: 0;
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-label {
  color: #003981;
  font-family: var(--font-family-futura);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 150%; /* 24px */
  padding: calc(5 * var(--to-rem)) calc(0 * var(--to-rem));
  border-radius: calc(30 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid #003981;
  max-width: calc(100 * var(--to-rem));
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(15 * var(--to-rem));
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-title {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 38.4px */
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-title {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-text.p-prevention__point-text_bottom {
  margin-bottom: calc(30 * var(--to-rem));
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-info {
  border-radius: calc(10 * var(--to-rem));
  padding: calc(30 * var(--to-rem)) calc(40 * var(--to-rem));
  background: #f4fbff;
  margin-top: calc(40 * var(--to-rem));
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-info .p-information__block-title {
  padding-bottom: calc(10 * var(--to-rem));
  margin-bottom: calc(10 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-info .p-prevention__point-info-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 24px */
  margin-bottom: calc(5 * var(--to-rem));
}
.p-service-page .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-info .p-prevention__point-info-note {
  color: var(--font_color, #1c2e45);
  font-size: calc(14 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 22.4px */
  margin-bottom: calc(20 * var(--to-rem));
}
.p-service-page .p-clinic-cta {
  position: relative;
  background-image: url("../images/prevention_bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta {
    margin-bottom: -1px;
    background-image: url("../images/prevention_bg-sp.webp");
  }
}
.p-service-page .p-clinic-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 57, 129, 0.95);
  z-index: 0;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(140 * var(--to-rem)) 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner {
    padding: calc(80 * var(--to-rem)) 0;
    max-width: calc(345 * var(--to-rem));
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__title {
  color: #f4fbff;
  text-align: center;
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 33px */
  margin-bottom: calc(70 * var(--to-rem));
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__title {
    font-size: calc(24 * var(--to-rem));
    line-height: 160%; /* 38.4px */
    margin-bottom: calc(40 * var(--to-rem));
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(94 * var(--to-rem));
  height: calc(139 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='98'%20height='146'%20viewBox='0%200%2098%20146'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.69727%20103.056L35.9286%204.51074L71.1973%20103.056L35.9286%20143.511L1.69727%20103.056Z'%20stroke='%231D5296'%20stroke-width='3'/%3e%3cpath%20d='M26.5918%20103.056L60.8231%204.51074L96.0918%20103.056L60.8231%20143.511L26.5918%20103.056Z'%20stroke='%231D5296'%20stroke-width='3'/%3e%3cpath%20d='M4.80859%2093.7197L42.1519%20136.25'%20stroke='%231D5296'%20stroke-width='3'/%3e%3cpath%20d='M67.0469%2092.6821L29.2588%20136.161'%20stroke='%231D5296'%20stroke-width='3'/%3e%3c/svg%3e") no-repeat center/contain;
  z-index: -1;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__text {
  color: #fff;
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__text {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions {
  display: flex;
  justify-content: center;
  max-width: calc(830 * var(--to-rem));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions {
    display: none;
  }
}
@media (max-width: 1000px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions {
    flex-wrap: wrap;
    gap: calc(50 * var(--to-rem));
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
  padding-right: calc(44 * var(--to-rem));
  margin-right: calc(36 * var(--to-rem));
  border-right: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media (max-width: 1000px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone .p-clinic-cta__phone-main {
  display: flex;
  gap: calc(6 * var(--to-rem));
  align-items: center;
  justify-content: center;
  margin-bottom: calc(15 * var(--to-rem));
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone .p-clinic-cta__phone-main .p-clinic-cta__phone-icon {
  width: calc(24 * var(--to-rem));
  object-fit: cover;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone .p-clinic-cta__phone-main .p-clinic-cta__phone-number {
  background: var(--gold, linear-gradient(23deg, #daa726 9.8%, #ffd364 92.65%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: right;
  font-family: var(--font-family-futura);
  font-size: calc(40 * var(--to-rem));
  font-style: normal;
  font-weight: 450;
  line-height: 100%; /* 40px */
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone .p-clinic-cta__hours {
  display: flex;
  gap: calc(15 * var(--to-rem));
  justify-content: center;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__phone .p-clinic-cta__hours .p-clinic-cta__hours-item {
  color: #fff;
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 13px */
  letter-spacing: 0.39px;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__reservation {
  max-width: calc(380 * var(--to-rem));
  width: 100%;
  border-radius: calc(40 * var(--to-rem));
  display: flex;
  background: var(--gold, linear-gradient(23deg, #daa726 9.8%, #ffd364 92.65%));
  padding: calc(27 * var(--to-rem)) 0;
  align-items: center;
  justify-content: center;
  position: relative;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__reservation .p-clinic-cta__reservation-text {
  color: #1c2e45;
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions .p-clinic-cta__reservation .p-clinic-cta__reservation-icon {
  max-width: calc(15 * var(--to-rem));
  object-fit: cover;
  height: calc(12 * var(--to-rem));
  position: absolute;
  right: calc(20 * var(--to-rem));
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button {
    display: flex;
    gap: calc(5 * var(--to-rem));
  }
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action {
  max-width: calc(170 * var(--to-rem));
  width: 100%;
  border-radius: calc(5 * var(--to-rem));
  padding: calc(12 * var(--to-rem)) 0;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--tel {
  background: #005d91;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--tel .p-clinic-cta__icon {
  width: calc(16 * var(--to-rem));
  object-fit: cover;
  height: calc(17 * var(--to-rem));
  margin: 0 auto;
  margin-bottom: calc(8 * var(--to-rem));
  display: flex;
  justify-content: center;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--tel .p-clinic-cta__label {
  color: #fff;
  text-align: center;
  font-size: calc(11 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 11px */
  letter-spacing: 0.55px;
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--web {
  background: linear-gradient(180deg, #daa726 0%, #745914 100%);
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--web .p-clinic-cta__sub {
  color: #fff;
  text-align: center;
  font-family: var(--font-family-futura);
  font-size: calc(18 * var(--to-rem));
  margin-bottom: calc(7 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 18px */
}
.p-service-page .p-clinic-cta .p-clinic-cta__inner .p-clinic-cta__actions_button .p-clinic-cta__action--web .p-clinic-cta__label {
  color: #fff;
  text-align: center;
  font-size: calc(11 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 11px */
  letter-spacing: 0.55px;
}
@media screen and (max-width: 767px) {
  .p-clinic-schedule__button {
    margin: 0 auto;
  }
}
.p-service-trio {
  overflow-x: visible;
  border-block-start: 1px solid #003981;
  border-block-end: none;
  background: var(--color-white);
}
@media screen and (min-width: 768px) {
  .p-service-trio {
    border-block-end: 1px solid #003981;
    overflow-x: clip;
  }
}
.p-service-trio__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-top: calc(0 * var(--to-rem));
}
@media screen and (min-width: 1440px) {
  .p-service-trio__inner {
    padding-inline: 0;
  }
}
/* SP のみ: 先頭カラムの上に CONCEPT ラベル */
.p-service-trio__sp-concept {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  box-sizing: border-box;
  margin-block-end: calc(24 * var(--to-rem));
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + var(--header-height) + 8 * var(--to-rem));
  z-index: 40;
  box-sizing: border-box;
  padding-block: calc(12 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  width: 100%;
  max-width: none;
  margin-inline: 0;
  z-index: 2;
  padding-top: calc(10 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
  background: transparent;
  /* SP 固定ヘッダー（.p-mv__header-inner）の下に回り込まないようオフセット */
  top: calc(env(safe-area-inset-top, 0px) + 106 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-service-trio__sp-concept {
    display: none;
  }
}
.p-service-trio__sp-concept-line {
  flex-shrink: 0;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  background: linear-gradient(351deg, #daa726 0%, #ffd364 100%);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.95);
}
@media screen and (min-width: 768px) {
  .p-service-trio__sp-concept-line {
    box-shadow: none;
  }
}
.p-service-trio__sp-concept-text {
  color: #daa726;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.98), 0 1px 1px rgba(255, 255, 255, 0.9);
}
@media screen and (min-width: 768px) {
  .p-service-trio__sp-concept-text {
    text-shadow: none;
  }
}
.p-service-trio__grid {
  display: grid;
  grid-template-columns: 1fr;
  /* 1440px 以上: 列幅の上限 480px を明示（コンテナ 1440 のとき 3 列とも 480px） */
}
@media screen and (min-width: 1024px) {
  .p-service-trio__grid {
    /* inner からはみ出さない（子の最小幅を 0 にして縮小可能に） */
    box-sizing: border-box;
    width: 100%;
    max-width: min(100%, 1440px);
    min-width: 0;
    margin-inline: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    /* subgrid で同一行のタイトル高さを揃える（対応ブラウザ） */
  }
  @supports (grid-template-rows: subgrid) {
    .p-service-trio__grid {
      grid-template-rows: auto auto auto;
    }
  }
}
@media screen and (min-width: 1440px) {
  .p-service-trio__grid {
    max-width: min(100%, 1440px);
    grid-template-columns: repeat(3, minmax(0, 480px));
    justify-content: center;
  }
}
.p-service-trio__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: calc(80 * var(--to-rem));
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-service-trio__col {
    padding-block: calc(70 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-service-trio__col {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-top: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    border-inline-start: none;
    min-height: calc(320 * var(--to-rem));
    /* 狭い PC 幅でアイコンが列からはみ出した分は見切れ */
    overflow: hidden;
    /* 2・3列目: 左罫線を疑似要素で上から下へ伸ばす（.is-active は _scroll-fade.js） */
  }
  .p-service-trio__col:not(:first-of-type)::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block: 0;
    width: 1px;
    background-color: #003981;
    transform: scaleY(0);
    transform-origin: center top;
    transition: transform 0.85s cubic-bezier(0.33, 0, 0.2, 1);
    pointer-events: none;
  }
  .p-service-trio__col.is-active:not(:first-of-type)::before {
    transform: scaleY(1);
  }
  @supports (grid-template-rows: subgrid) {
    .p-service-trio__col {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 3;
      align-items: stretch;
      /* 見出し・本文・ボタンのブロックを列内で中央寄せ（中身のテキストは左揃えのまま） */
      justify-items: center;
    }
  }
}
/* タイトル＋左上あしらい（重ね順: あしらい → 見出し） */
.p-service-trio__heading {
  position: relative;
  z-index: 0;
  display: inline-block;
  max-width: 100%;
  margin-inline: auto;
  text-align: center;
  /* PC: 最大幅 330・列内は中央配置／中身のタイトルは左揃え */
}
@media screen and (min-width: 768px) {
  .p-service-trio__heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: calc(330 * var(--to-rem));
    min-height: 0;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-service-trio__heading--ortho {
    align-items: flex-start;
  }
}
.p-service-trio__title .p-service-trio__icon-wrap {
  position: absolute;
  /* 見出しテキストより手前に来ないよう背面 */
  z-index: -1;
  inset-block-start: 0;
  display: block;
  width: calc(52 * var(--to-rem));
  margin: 0;
  pointer-events: none;
  user-select: none;
  /*
   * SP + text-align:center: 行の視覚中心（50%）から 1 行目左寄りへオフセットして先頭文字に被せる
   * translate の % は要素自身の幅基準 → -50% で left:50% と組み合わせてアイコン中心を基準に動かす
   */
  inset-inline-start: 50%;
  transform: translate(calc(-50% - 2.65em), calc(-20 * var(--to-rem)));
}
@media screen and (min-width: 768px) {
  .p-service-trio__title .p-service-trio__icon-wrap {
    width: calc(52 * var(--to-rem));
    inset-inline-start: 0;
    transform: translate(calc(-30 * var(--to-rem)), calc(-28 * var(--to-rem)));
  }
}
/* SP: 1 行目が長い見出し（矯正）用に左オフセットを大きく */
.p-service-trio__title--ortho .p-service-trio__icon-wrap {
  transform: translate(calc(-50% - 4.85em), calc(-20 * var(--to-rem)));
}
@media screen and (min-width: 768px) {
  .p-service-trio__title--ortho .p-service-trio__icon-wrap {
    transform: translate(calc(-30 * var(--to-rem)), calc(-28 * var(--to-rem)));
  }
}
/* SP のみ: インプラント列の見出しだけアイコンをやや左へ（先頭文字との重なり調整） */
.p-service-trio__title--icon-sp-left .p-service-trio__icon-wrap {
  transform: translate(calc(-50% - 3.3em), calc(-20 * var(--to-rem)));
}
@media screen and (min-width: 768px) {
  .p-service-trio__title--icon-sp-left .p-service-trio__icon-wrap {
    transform: translate(calc(-30 * var(--to-rem)), calc(-28 * var(--to-rem)));
  }
}
.p-service-trio__icon {
  display: block;
  width: 100%;
  height: auto;
}
.p-service-trio__title {
  position: relative;
  z-index: 0;
  isolation: isolate;
  margin: 0;
  color: #1c2e45;
  text-align: center;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(28 * var(--to-rem));
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
}
@media screen and (min-width: 768px) {
  .p-service-trio__title {
    color: var(--font_color, #1c2e45);
    text-align: left;
    font-size: calc(24 * var(--to-rem));
    line-height: 100%;
  }
}
/* 見出し2: SP と同じ2行改行を PC でも維持 */
@media screen and (min-width: 768px) {
  .p-service-trio__title--ortho {
    line-height: 160%;
    width: 100%;
  }
}
/* SP のみ改行（PC は 1 行または既存の折り返し） */
@media screen and (min-width: 768px) {
  .p-service-trio__title-br-sp {
    display: none;
  }
}
.p-service-trio__text {
  margin: 0;
  margin-inline: 0;
  margin-block-start: calc(24 * var(--to-rem));
  color: #1c2e45;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  text-align: start;
  max-width: calc(345 * var(--to-rem));
  width: 100%;
  /* PC 3 カラム: ボタンを下に寄せるとき、本文との最低間隔（上マージン auto と併用） */
}
@media screen and (min-width: 768px) {
  .p-service-trio__text {
    margin-block-start: calc(15 * var(--to-rem));
    margin-inline: auto;
    color: var(--font_color, #1c2e45);
    max-width: calc(330 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-service-trio__text {
    margin-block-end: calc(30 * var(--to-rem));
  }
}
.p-service-trio__col .button {
  margin-block-start: calc(40 * var(--to-rem));
  /* lg: グリッドで列が等高のため、余白は下に寄せてボタン位置を揃える */
}
@media screen and (min-width: 768px) {
  .p-service-trio__col .button {
    margin-block-start: calc(30 * var(--to-rem));
    margin-inline: auto;
    box-sizing: border-box;
    width: 100%;
    max-width: calc(330 * var(--to-rem));
  }
}
@media screen and (min-width: 1024px) {
  .p-service-trio__col .button {
    margin-block-start: auto;
  }
}
/* SP: カラム間の全幅ライン（インナーの左右パディングよりはみ出す）左→右に伸ばす */
.p-service-trio__rule {
  display: block;
  position: relative;
  height: 1px;
  width: calc(100% + 2 * var(--padding-inner));
  margin-inline: calc(-1 * var(--padding-inner));
  max-width: none;
  border: none;
  background: transparent;
  overflow: visible;
}
.p-service-trio__rule::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #003981;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.85s cubic-bezier(0.33, 0, 0.2, 1);
}
.p-service-trio__rule.is-active::after {
  transform: scaleX(1);
}
@media screen and (min-width: 1024px) {
  .p-service-trio__rule {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-service-trio__col:not(:first-of-type)::before,
  .p-service-trio__rule::after {
    transition: none;
  }
}
.p-single {
  max-width: calc(980 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-single.p-single--clinic_news {
  max-width: calc(980 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
}
.p-single .p-single__meta {
  display: flex;
  gap: calc(19 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__meta {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-single .p-single__meta .p-single__date {
  color: var(--font_color, #1c2e45);
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 13px */
  letter-spacing: 0.39px;
}
.p-single .p-single__meta .p-single__date.p-single__date--publish {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  align-items: center;
}
.p-single .p-single__meta .p-single__date.p-single__date--publish::before {
  content: "";
  display: block;
  position: relative;
  top: calc(2 * var(--to-rem));
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M14.2553%205.78431H12.8723V5.29412C12.8723%205.21611%2012.8387%205.1413%2012.7789%205.08615C12.719%205.03099%2012.6378%205%2012.5532%205C12.4685%205%2012.3874%205.03099%2012.3275%205.08615C12.2677%205.1413%2012.234%205.21611%2012.234%205.29412V5.78431H7.76596V5.29412C7.76596%205.21611%207.73233%205.1413%207.67248%205.08615C7.61263%205.03099%207.53145%205%207.44681%205C7.36216%205%207.28099%205.03099%207.22114%205.08615C7.16128%205.1413%207.12766%205.21611%207.12766%205.29412V5.78431H5.74468C5.54718%205.78431%205.35777%205.85662%205.21811%205.98532C5.07846%206.11402%205%206.28858%205%206.47059V14.3137C5%2014.4957%205.07846%2014.6703%205.21811%2014.799C5.35777%2014.9277%205.54718%2015%205.74468%2015H14.2553C14.4528%2015%2014.6422%2014.9277%2014.7819%2014.799C14.9215%2014.6703%2015%2014.4957%2015%2014.3137V6.47059C15%206.28858%2014.9215%206.11402%2014.7819%205.98532C14.6422%205.85662%2014.4528%205.78431%2014.2553%205.78431ZM5.74468%206.37255H7.12766V6.86275C7.12766%206.94075%207.16128%207.01556%207.22114%207.07072C7.28099%207.12588%207.36216%207.15686%207.44681%207.15686C7.53145%207.15686%207.61263%207.12588%207.67248%207.07072C7.73233%207.01556%207.76596%206.94075%207.76596%206.86275V6.37255H12.234V6.86275C12.234%206.94075%2012.2677%207.01556%2012.3275%207.07072C12.3874%207.12588%2012.4685%207.15686%2012.5532%207.15686C12.6378%207.15686%2012.719%207.12588%2012.7789%207.07072C12.8387%207.01556%2012.8723%206.94075%2012.8723%206.86275V6.37255H14.2553C14.2835%206.37255%2014.3106%206.38288%2014.3305%206.40126C14.3505%206.41965%2014.3617%206.44459%2014.3617%206.47059V8.13725H5.6383V6.47059C5.6383%206.44459%205.64951%206.41965%205.66946%206.40126C5.68941%206.38288%205.71647%206.37255%205.74468%206.37255ZM14.2553%2014.4118H5.74468C5.71647%2014.4118%205.68941%2014.4014%205.66946%2014.383C5.64951%2014.3647%205.6383%2014.3397%205.6383%2014.3137V8.72549H14.3617V14.3137C14.3617%2014.3397%2014.3505%2014.3647%2014.3305%2014.383C14.3106%2014.4014%2014.2835%2014.4118%2014.2553%2014.4118Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-single .p-single__meta .p-single__date.p-single__date--update {
  position: relative;
  display: flex;
  gap: calc(5 * var(--to-rem));
  color: #005d91;
  align-items: center;
}
.p-single .p-single__meta .p-single__date.p-single__date--update::before {
  content: "";
  position: relative;
  top: calc(2 * var(--to-rem));
  display: block;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='10'%20cy='10'%20r='10'%20fill='white'/%3e%3cpath%20d='M15%206.16977V8.72309C15%208.80773%2014.969%208.88891%2014.9138%208.94877C14.8587%209.00862%2014.7838%209.04225%2014.7058%209.04225H12.3524C12.2744%209.04225%2012.1995%209.00862%2012.1444%208.94877C12.0892%208.88891%2012.0582%208.80773%2012.0582%208.72309C12.0582%208.63844%2012.0892%208.55726%2012.1444%208.4974C12.1995%208.43755%2012.2744%208.40392%2012.3524%208.40392H13.9483L12.4588%206.92513C12.4558%206.92194%2012.4529%206.91821%2012.4495%206.91502C11.8906%206.30905%2011.1795%205.89516%2010.4051%205.72507C9.6307%205.55498%208.82726%205.63623%208.09515%205.95867C7.36305%206.2811%206.73474%206.83042%206.28873%207.53802C5.84271%208.24561%205.59876%209.0801%205.58734%209.93724C5.57593%2010.7944%205.79755%2011.6362%206.22454%2012.3574C6.65153%2013.0787%207.26494%2013.6475%207.98815%2013.9928C8.71136%2014.338%209.51231%2014.4444%2010.2909%2014.2987C11.0696%2014.1529%2011.7913%2013.7615%2012.3661%2013.1733C12.4229%2013.1152%2012.4986%2013.0839%2012.5766%2013.0863C12.6546%2013.0888%2012.7286%2013.1248%2012.7821%2013.1863C12.8357%2013.2479%2012.8645%2013.3301%2012.8623%2013.4147C12.86%2013.4994%2012.8269%2013.5796%2012.7701%2013.6377C11.9159%2014.5156%2010.7833%2015.0033%209.60669%2015H9.54393C8.78924%2014.9885%208.04871%2014.776%207.3874%2014.3813C6.7261%2013.9866%206.16425%2013.4218%205.75124%2012.7364C5.33823%2012.051%205.08669%2011.2661%205.01873%2010.4505C4.95076%209.63497%205.06845%208.8138%205.36144%208.05916C5.65444%207.30451%206.11379%206.63948%206.69912%206.1225C7.28445%205.60552%207.97784%205.25242%208.71839%205.09421C9.45894%204.936%2010.224%204.97754%2010.9463%205.21516C11.6685%205.45279%2012.326%205.87923%2012.8608%206.45702L14.4116%207.99699V6.16977C14.4116%206.08513%2014.4426%206.00394%2014.4978%205.94409C14.553%205.88424%2014.6278%205.85061%2014.7058%205.85061C14.7838%205.85061%2014.8587%205.88424%2014.9138%205.94409C14.969%206.00394%2015%206.08513%2015%206.16977Z'%20fill='%23005D91'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-single .p-single__inner {
  max-width: calc(800 * var(--to-rem));
  width: 100%;
}
.p-single .p-single__inner.news-inner {
  max-width: calc(980 * var(--to-rem));
  margin: 0 auto;
}
.p-single .p-single__inner img {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
}
.p-single .p-single__inner .p-single__header h1 {
  color: var(--font_color, #1c2e45);
  font-size: calc(33 * var(--to-rem));
  font-weight: 700;
  line-height: 160%; /* 52.8px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__header h1 {
    font-size: calc(24 * var(--to-rem));
    margin-bottom: calc(50 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content {
  padding-bottom: calc(100 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content {
    padding-bottom: calc(80 * var(--to-rem));
    margin-bottom: calc(60 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content p {
  color: #191919;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.p-single .p-single__inner .p-single__content p:last-child {
  margin-bottom: 0;
}
.p-single .p-single__inner .p-single__content p + p,
.p-single .p-single__inner .p-single__content p + figure,
.p-single .p-single__inner .p-single__content p + .wp-block-image,
.p-single .p-single__inner .p-single__content p + .wp-block-columns,
.p-single .p-single__inner .p-single__content p + nav,
.p-single .p-single__inner .p-single__content figure + p,
.p-single .p-single__inner .p-single__content nav + p,
.p-single .p-single__inner .p-single__content img + p {
  margin-top: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content p + p,
  .p-single .p-single__inner .p-single__content p + figure,
  .p-single .p-single__inner .p-single__content p + .wp-block-image,
  .p-single .p-single__inner .p-single__content p + .wp-block-columns,
  .p-single .p-single__inner .p-single__content p + nav,
  .p-single .p-single__inner .p-single__content figure + p,
  .p-single .p-single__inner .p-single__content nav + p,
  .p-single .p-single__inner .p-single__content img + p {
    margin-top: calc(24 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content h2 {
  color: var(--btn-color, #003981);
  font-size: calc(28 * var(--to-rem));
  font-weight: 700;
  line-height: 160%; /* 44.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  position: relative;
  padding-top: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content h2 {
    font-size: calc(22 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
    padding-top: calc(60 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(2 * var(--to-rem));
  background: linear-gradient(90deg, var(--btn-color, #003981) 0%, #7298c8 100%);
}
.p-single .p-single__inner .p-single__content h3 {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 700;
  line-height: 160%; /* 38.4px */
  position: relative;
  padding-left: calc(15 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  margin-top: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content h3 {
    font-size: calc(20 * var(--to-rem));
    margin-top: calc(40 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content h3::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(6 * var(--to-rem));
  height: 90%;
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content h3::after {
    height: 90%;
  }
}
.p-single .p-single__inner .p-single__content h4 {
  color: var(--font_color, #1c2e45);
  font-size: calc(20 * var(--to-rem));
  font-weight: 700;
  line-height: 150%; /* 30px */
  padding: calc(60 * var(--to-rem)) 0 calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content h4 {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content h5 {
  display: inline-block;
  color: #005d91;
  font-size: calc(18 * var(--to-rem));
  font-weight: 700;
  line-height: 160%; /* 32px */
  padding: calc(4 * var(--to-rem)) calc(10 * var(--to-rem));
  background: #f4fbff;
  margin: calc(40 * var(--to-rem)) 0 calc(12 * var(--to-rem));
}
.p-single .p-single__inner .p-single__content h6 {
  color: #daa726;
  font-size: calc(18 * var(--to-rem));
  font-weight: 700;
  line-height: 100%; /* 18px */
  margin: calc(50 * var(--to-rem)) 0 calc(30 * var(--to-rem));
}
.p-single .p-single__inner .p-single__content img {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  border-radius: calc(10 * var(--to-rem));
  background: #e4e4e4;
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single .p-single__inner .p-single__content img {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-single .p-single__inner .p-single__content a {
  color: var(--btn-color, #003981);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 15px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.p-single .p-single__inner .p-single__content ul {
  padding: calc(20 * var(--to-rem)) 0;
}
.p-single .p-single__inner .p-single__content ul li {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 220%;
  position: relative;
  display: flex;
  gap: calc(10 * var(--to-rem));
  align-items: flex-start;
  min-width: 0;
}
.p-single .p-single__inner .p-single__content ul li::before {
  content: "";
  display: block;
  position: relative;
  width: calc(5 * var(--to-rem));
  min-width: calc(5 * var(--to-rem));
  height: calc(5 * var(--to-rem));
  border-radius: calc(50 * var(--to-rem));
  background-color: #005d91;
  top: calc(15 * var(--to-rem));
  flex-shrink: 0;
}
.p-single .p-single__inner .p-single__content ol {
  list-style: decimal;
  margin: calc(20 * var(--to-rem)) 0;
}
.p-single .p-single__inner .p-single__content ol li {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 220%;
}
.p-single .p-single__inner .p-single__content ol li::marker {
  color: #005d91;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 220%; /* 33px */
}
.p-single .p-single__inner .p-single__content.p-single__content--simple-flow p,
.p-single .p-single__inner .p-single__content.p-single__content--simple-flow img,
.p-single .p-single__inner .p-single__content.p-single__content--simple-flow figure {
  margin-bottom: 0;
}
.p-single .p-single__inner .p-single__content.p-single__content--simple-flow figure {
  margin-inline: 0;
}
.p-single--column .p-single__thumbnail--column {
  margin-bottom: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__thumbnail--column {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-single--column .p-single__meta--column {
  margin-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__meta--column {
    margin-bottom: calc(34 * var(--to-rem));
  }
}
.p-single--column .p-single__header--column {
  padding: calc(0 * var(--to-rem)) 0 calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__header--column {
    padding-bottom: calc(50 * var(--to-rem));
  }
}
.p-single--column .p-single__header--column .p-single__title {
  margin-bottom: calc(0 * var(--to-rem));
}
.p-single--column .p-single__header--blog {
  padding-bottom: 0;
}
.p-single--column .p-single__header--blog h1 {
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__header--blog h1 {
    margin-bottom: calc(30 * var(--to-rem)) !important;
  }
}
.p-single--column .p-single__summary--column {
  color: var(--font_color, #1c2e45);
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 200%;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__summary--column {
    flex-wrap: wrap;
  }
}
.p-single--column .p-single__summary--column .p-single__summary-head {
  display: flex;
}
.p-single--column .p-single__summary--column .p-single__summary-head .p-single__summary-title {
  min-height: calc(230 * var(--to-rem));
  width: calc(60 * var(--to-rem));
  padding: calc(49 * var(--to-rem)) calc(21 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem)) 0 0 10px;
  opacity: 0.8;
  background: var(--btn-color, #003981);
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 120%; /* 21.6px */
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__summary--column .p-single__summary-head .p-single__summary-title {
    min-height: 0;
    width: auto;
    padding: calc(10 * var(--to-rem)) calc(20 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
    font-size: calc(16 * var(--to-rem));
  }
}
.p-single--column .p-single__summary--column .p-single__summary-body .p-single__summary-text {
  min-height: calc(230 * var(--to-rem));
  border-radius: 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0;
  background: rgba(218, 228, 240, 0.5);
  padding: calc(25 * var(--to-rem)) calc(30 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__summary--column .p-single__summary-body .p-single__summary-text {
    min-height: 0;
    border-radius: 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(10 * var(--to-rem));
    padding: calc(15 * var(--to-rem));
  }
}
.p-single--column .p-single__summary-box {
  padding-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__summary-box {
    padding-bottom: calc(50 * var(--to-rem));
  }
}
.p-single--column .p-single__summary-box-title {
  border-radius: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) 0 0;
  background: var(--btn-color, #003981);
  width: calc(208 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: calc(16 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 16px */
  letter-spacing: 0.8px;
  padding: calc(12 * var(--to-rem)) calc(20 * var(--to-rem));
}
.p-single--column .p-single__summary-box-list {
  display: flex;
  flex-direction: column;
  gap: calc(19 * var(--to-rem));
  padding: 0;
  margin: 0;
  list-style: none;
  border-radius: 0 10px 10px 10px;
  border: 1px solid var(--btn-color, #003981);
  background: #fff;
  padding: calc(22 * var(--to-rem)) 0 calc(22 * var(--to-rem)) calc(20 * var(--to-rem));
}
.p-single--column .p-single__summary-box-item {
  position: relative;
  color: #222;
  font-size: calc(16 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 16px */
  padding-left: calc(25 * var(--to-rem));
}
.p-single--column .p-single__summary-box-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRsADAABXRUJQVlA4WAoAAAAQAAAATwAATwAAQUxQSMUBAAABgBMAbNhGEAQhUAzBDBYGM4OFQcNAYVAIhmAIgiAIarslkSXtjwhGjiS1mUAOpwXsJ8AssTbqzPqhjE6tIAQSy4PVwEE1CIVEzRQq/uN/RCfJa0QpT6GyfpinsHR1JC0O+D7NytKID3XnY3LY0ACOZcasIeRlylGacJzMzqWhoRwG3O4av+mq4fy6GyTxkJsxT03AftOWgvUKnAOMF2eZJuGWLFcVvOhPlnEe8N8LWROx/IIygX4hMedOZ/vgGuLf228zVynKAN2EHWCEGXbjZIzw3NmFJc6L9TBqcWYj2pHMSj2ZtY9kVpZkVs5m/TceBZbD7rh30BZjNp+ffxRhMWKHkwJ6R7fekGf5z+iHWqtnua9GTaflvVGrOi/nXQuqXUHvcASeUIgHwK4TCrDS5LOE/K0VAGVK7hb48NApOVvJ4R1Gvtbi8U7kZxffd+LpBZTrpEdJ9IxNlm1nIGfJL1iz9F+xZ8Az93cotAxtd9yjscMtMPo/Q8L/IDbF2qhImxXl3P/h4jfdESa5OkeoNJjn8vREX8CFq9tmXMGNzaUgG4InV/YoebMcMtFCBWJYD1Mc8F4QAomlUR/yZz3u1Op0HwAAVlA4INQBAACQCwCdASpQAFAAPm0skUWkIqGXDc20QAbEswQ4ALkr0X6b1o2wvC8mDwgUG/V+cB4k/SA8wHny+gD0AP6B1AHPo+w1+5P7ce1L1AAEoiTI34afdNFFpnnTnIp2yBqKtlqJ8PxIAAD+/ob2Pk8enR6zjAE99SxQjJL2mN3O8Cnm7fXe/9hnBT+WtVYENfi/wbOcfrhK0/N1AlTVkUrPpa77BTvEe/4F/G3//JvN8SIyNTGOIF2KbJc8C/vpsI62cedJYfxb5v5k482Va0RoJjGAGYtHxdAWbRa2fpz95DCjAR0LfPUBaqVzoSlmPXmj20kgdEKOSf/OL7wqK4OC5UHxXnjQBcfa9jLFUy0XUI/bErE7L37SVBGqVuaoASsJhxEJsneh4Nube+EL+38zTGBjlNpUGR+A1gilYav1W6eUwqJNeKo43H3hZWLEJ+hq01dd/69mW+F5jyswm0gBCkfnc02a4lNmdeXpYGv2ssgLKV+5+3suKF/eg36I2NInZbz5NwvZRF2Z/v/9df/+Tf/wYPdFweceYXWqn7UvXt7sTjE/r/Ne+6yHAaEEo4uq2DdupKeD3brB2mxvPaxEjWNfudd+VkR2Z3up/eVDIsmrPlgAAAA=") no-repeat center/contain;
}
.p-single--column .p-single__toc {
  padding: calc(10 * var(--to-rem)) 0 calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  border-top: calc(1 * var(--to-rem)) solid #7298c8;
  border-bottom: calc(1 * var(--to-rem)) solid #7298c8;
}
.p-single--column .p-single__toc-title {
  color: #7298c8;
  font-size: calc(18 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
  margin-bottom: calc(10 * var(--to-rem));
}
.p-single--column .p-single__toc-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  list-style: none;
}
.p-single--column .p-single__toc-item.p-single__toc-item--h2 {
  padding: calc(20 * var(--to-rem)) 0 calc(20 * var(--to-rem));
}
.p-single--column .p-single__toc-item.p-single__toc-item--h3 {
  padding-left: calc(16 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
}
.p-single--column .p-single__toc-link {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%;
  text-decoration: underline;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  display: inline-flex;
  align-items: flex-start;
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__toc-link {
    line-height: 140%;
  }
}
.p-single--column .p-single__toc-number {
  flex-shrink: 0;
}
.p-single--column .p-single__toc + .p-single__content--column {
  margin-top: calc(100 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__toc + .p-single__content--column {
    margin-top: calc(80 * var(--to-rem));
  }
}
.p-single--column .p-single__content--column h2,
.p-single--column .p-single__content--column h3 {
  scroll-margin-top: calc(var(--page-fixed-header-offset, 0px) + calc(32 * var(--to-rem)));
}
.p-supervisor {
  max-width: calc(980 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-supervisor .p-supervisor__head {
  border-radius: 10px 10px 0 0;
  background: var(--btn-color, #003981);
  display: flex;
  max-width: calc(800 * var(--to-rem));
  width: 100%;
  padding: calc(11 * var(--to-rem)) 0 calc(11 * var(--to-rem)) calc(20 * var(--to-rem));
  gap: calc(5 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-supervisor .p-supervisor__head {
    padding: calc(8 * var(--to-rem)) 0 calc(6 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-supervisor .p-supervisor__head .p-supervisor__icon {
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
  aspect-ratio: 1/1;
  position: relative;
  top: calc(1 * var(--to-rem));
}
.p-supervisor .p-supervisor__head .p-supervisor__heading {
  color: #fff;
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
}
.p-supervisor .p-supervisor__content {
  display: flex;
  max-width: calc(800 * var(--to-rem));
  padding: calc(20 * var(--to-rem)) 0 calc(20 * var(--to-rem)) calc(23 * var(--to-rem));
  border-radius: 0 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid var(--btn-color, #003981);
  background: rgba(218, 228, 240, 0.2);
  margin-bottom: calc(30 * var(--to-rem));
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-supervisor .p-supervisor__content {
    padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-supervisor .p-supervisor__content .p-supervisor__profile {
  padding-right: calc(30 * var(--to-rem));
  margin-right: calc(30 * var(--to-rem));
  border-right: calc(1 * var(--to-rem)) solid #003981;
}
@media screen and (max-width: 767px) {
  .p-supervisor .p-supervisor__content .p-supervisor__profile {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
    padding-bottom: calc(20 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
    border-bottom: calc(1 * var(--to-rem)) solid #003981;
  }
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__profile-head {
  display: flex;
  gap: calc(20 * var(--to-rem));
  align-items: center;
  margin-bottom: calc(10 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__profile-head .p-supervisor__image {
  width: calc(110 * var(--to-rem));
  height: calc(110 * var(--to-rem));
  object-fit: cover;
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__profile-head .p-supervisor__name {
  color: var(--font_color, #1c2e45);
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 25.2px */
  letter-spacing: 0.9px;
  margin-bottom: calc(10 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__profile-head .p-supervisor__name span {
  color: var(--font_color, #1c2e45);
  font-size: calc(10 * var(--to-rem));
  display: inline-block;
  margin-left: calc(10 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 14px */
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__profile-head .p-supervisor__position {
  color: var(--font_color, #1c2e45);
  font-size: calc(12 * var(--to-rem));
  font-weight: 400;
  line-height: 140%; /* 16.8px */
  letter-spacing: 0.6px;
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 170%; /* 25.5px */
  margin-bottom: calc(10 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__link {
  display: flex;
  align-items: center;
  gap: calc(5 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__link .p-supervisor__link-text {
  color: var(--font_color, #1c2e45);
  text-align: right;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 15px */
}
.p-supervisor .p-supervisor__content .p-supervisor__profile .p-supervisor__link .p-supervisor__link-icon {
  width: calc(25 * var(--to-rem));
  height: calc(25 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__details .p-supervisor__item {
  display: flex;
  gap: calc(12 * var(--to-rem));
  margin-bottom: calc(5 * var(--to-rem));
}
.p-supervisor .p-supervisor__content .p-supervisor__details .p-supervisor__item .p-supervisor__label {
  color: var(--btn-color, #003981);
  font-size: calc(14 * var(--to-rem));
  font-weight: 500;
  line-height: 170%; /* 23.8px */
}
@media screen and (max-width: 767px) {
  .p-supervisor .p-supervisor__content .p-supervisor__details .p-supervisor__item .p-supervisor__label {
    min-width: calc(28 * var(--to-rem));
  }
}
.p-supervisor .p-supervisor__content .p-supervisor__details .p-supervisor__item .p-supervisor__value {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 23.8px */
}
.p-article-footer {
  display: flex;
  max-width: calc(980 * var(--to-rem));
  margin: 0 auto;
  gap: calc(20 * var(--to-rem));
  padding-bottom: calc(100 * var(--to-rem));
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-article-footer {
    padding: 0 calc(0 * var(--to-rem)) calc(60 * var(--to-rem));
  }
}
.p-article-footer.p-article-footer-news {
  max-width: calc(980 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-article-footer.p-article-footer-news {
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-article-footer.p-article-footer-column {
  max-width: calc(800 * var(--to-rem));
}
.p-article-footer .p-article-footer__author.p-article-footer__author {
  max-width: calc(370 * var(--to-rem));
}
.p-article-footer .p-article-footer__author.p-article-footer__author-news {
  max-width: calc(480 * var(--to-rem));
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info {
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(20 * var(--to-rem)) calc(20 * var(--to-rem)) calc(30 * var(--to-rem));
  max-width: calc(480 * var(--to-rem));
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info .p-article-footer__author-head {
  display: flex;
  gap: calc(25 * var(--to-rem));
  align-items: center;
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info .p-article-footer__author-head .p-article-footer__author-image {
  width: calc(80 * var(--to-rem));
  height: calc(80 * var(--to-rem));
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info .p-article-footer__author-head .p-article-footer__author-role {
  color: var(--font_color, #1c2e45);
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 25.2px */
  letter-spacing: 0.9px;
  margin-bottom: calc(5 * var(--to-rem));
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info .p-article-footer__author-head .p-article-footer__author-name {
  color: var(--font_color, #1c2e45);
  font-size: calc(12 * var(--to-rem));
  font-weight: 400;
  line-height: 140%; /* 16.8px */
  letter-spacing: 0.6px;
}
.p-article-footer .p-article-footer__author .p-article-footer__author-info .p-article-footer__author-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%; /* 27px */
}
.p-article-footer .p-article-footer__guideline {
  max-width: calc(480 * var(--to-rem));
  width: 100%;
}
.p-article-footer .p-article-footer__guideline.p-article-footer__guideline {
  max-width: calc(410 * var(--to-rem));
}
.p-article-footer .p-article-footer__guideline.p-article-footer__guideline-news {
  max-width: calc(480 * var(--to-rem));
}
.p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title {
  color: #fff;
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 140%; /* 25.2px */
  letter-spacing: 0.9px;
  background: var(--font_color, #1c2e45);
  max-width: calc(480 * var(--to-rem));
  height: calc(60 * var(--to-rem));
  padding: calc(20 * var(--to-rem)) 0 calc(15 * var(--to-rem)) calc(20 * var(--to-rem));
  position: relative;
  display: flex;
  gap: calc(8 * var(--to-rem));
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 767px) {
  .p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title {
    font-size: calc(15 * var(--to-rem));
    align-items: center;
    padding: calc(14 * var(--to-rem)) 0 calc(15 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title.p-article-footer__guideline-title {
  max-width: calc(410 * var(--to-rem));
}
.p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title.p-article-footer__guideline-title-news {
  max-width: calc(480 * var(--to-rem));
}
.p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title::before {
  content: "";
  display: block;
  position: relative;
  top: calc(4 * var(--to-rem));
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  background: url("data:image/webp;base64,UklGRjwDAABXRUJQVlA4WAoAAAAQAAAARwAARwAAQUxQSIkCAAABkFXbUhhLJQEJSGgJSIiDwcHDQXCQOBgJeQ5KQiSUhJJwPqC7gcz8R8QEyNRXOS4zALv1KEkeGYo6X7vmuFgoynDNC4XdmWo/cY2wO+/9OktOKaWtnOpvwPIKyei7lihfxnz1wNKscNDXEmRoyHcHjjnR6GqSiUk7WJyQnNaSTN6swdKwH7pVFqwN/Bm009pLlozWsA/5odUgi8ar4c+AjfaUhc+G9FX0psrStfH4RTCAUxY/Ae7w2QFwyfIKcHyUACyuFwwgfWJNlLE/ju3D5NXYBztAlbGZtgyTClDfRANMBt8dHycGeOjtANso7xDHJYDaM0BltHZMJirgockAaVjq1BkJYGsUuGX8dmNFpiqgIhIB8oQFC0AQyU14UnCgiCjwK49WQEUcyM8qgEsCiM+KAK8CuDzcgXwC+rQLOBU4Z7zUNU87gd8bKDNugGNWAcyAbYY1lEm5AUgzSscnJd5OkVgA4j9A4v/GgPy0DbCmPK0A9wWcTzsBPYHfpylwFsCf5kB5AcRnvQCSOFCelQEXUUCfdQEqUgAPT4oAWSQAlCflJoqIAvokA1REpACk5ySA3AQHdFYO4xQw6VaANE6ctozKALUXHLAJtWOjDLDYkwpQx8nd3IN2gCpvgwG8xkkxPI2JACYfpsbCuPHRmvSJnAC6ngKc8nEwgGO1A8DCZxIdYF9rB/Ao36aGY6W/tJt8XxquuEpQ2iIja4PFNV5GW2VsaWBfIOx0i4zevMG2WcloPcn4aA1ompGUrkWZGc4O3DmMCUXpn0EmJ+sAV47fxKJO35IsWK0HuB5lSymlXI7Lee81yJKx2pvBXoOsm3WcliBrx6z+nWsJ8shUTr2tMbvO8pKpAFZQOCCMAAAA0AcAnQEqSABIAD5RHotFo6GhH19UADgFBLSDFAH6AfoB/AAdGgkDfGaTspWz1HkUmoimWFNI4KtlXQmQW3aD21Vojo793QAA/vRJ8gH//tIX//2hYH//9FM6J/aVWd///qDgP//6Kahf//qDOH//9PoTFE935lnqZe+V//2kL//7Qn14+ymDd/zWsAA=") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-article-footer .p-article-footer__guideline .p-article-footer__guideline-title::before {
    width: calc(15 * var(--to-rem));
    height: calc(15 * var(--to-rem));
    top: calc(1 * var(--to-rem));
  }
}
.p-article-footer .p-article-footer__guideline .p-article-footer__guideline-text {
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 27px */
  border: calc(1 * var(--to-rem)) solid #1c2e45;
  border-radius: 0 0 calc(10 * var(--to-rem)) calc(10 * var(--to-rem));
  padding: calc(15 * var(--to-rem)) calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-article-footer .p-article-footer__guideline .p-article-footer__guideline-text {
    padding: calc(20 * var(--to-rem));
  }
}
.p-staff {
  margin-bottom: 100vh;
}
@media screen and (max-width: 767px) {
  .p-staff {
    margin-bottom: 0;
  }
}
.p-staff .p-doctor {
  padding-block: 0 calc(120 * var(--to-rem));
}
@media screen and (min-width: 1024px) {
  .p-staff .p-doctor {
    padding-block: 0 calc(200 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor {
    padding: 0 calc(0 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner {
  width: 100%;
  max-width: calc(1290 * var(--to-rem));
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner {
    max-width: none;
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap {
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 1300px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__image {
  z-index: 2;
  max-width: calc(485 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__image {
    max-width: calc(345 * var(--to-rem));
    width: 100%;
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__image .p-doctor__img {
  max-width: calc(485 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  height: calc(485 * var(--to-rem));
  position: sticky;
  top: calc(270 * var(--to-rem));
  align-self: start;
  margin-top: calc(120 * var(--to-rem));
  border-radius: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__image .p-doctor__img {
    margin: 0 auto calc(0 * var(--to-rem));
    height: calc(300 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content {
  max-width: calc(960 * var(--to-rem));
  width: 100%;
  background-color: rgba(218, 228, 240, 0.3);
  border-radius: calc(20 * var(--to-rem)) 0 0 calc(20 * var(--to-rem));
  padding: calc(120 * var(--to-rem)) calc(170 * var(--to-rem)) calc(120 * var(--to-rem)) calc(250 * var(--to-rem));
  z-index: 1;
  position: relative;
  margin-left: calc(-156 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content {
    max-width: none;
    padding: calc(216 * var(--to-rem)) calc(0 * var(--to-rem)) calc(63 * var(--to-rem));
    margin-left: 0;
    margin-top: calc(-186 * var(--to-rem));
  }
}
@media (max-width: 1300px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content {
    margin-left: 0;
    padding-inline: calc(70 * var(--to-rem));
  }
}
@media screen and (max-width: 1300px) and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content {
    padding-inline: calc(15 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__title {
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  margin-bottom: calc(35 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__title {
    font-size: calc(24 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 185%; /* 27.75px */
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__text {
    margin-bottom: calc(60 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__button {
  border-radius: calc(5 * var(--to-rem));
  background: #7298c8;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: calc(17 * var(--to-rem)) 0 calc(20 * var(--to-rem));
  color: #fff;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 100%; /* 15px */
  letter-spacing: 0.75px;
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__button.is-active {
  margin-bottom: calc(50 * var(--to-rem));
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__profile .p-doctor__profile-title {
  color: var(--btn-color, #003981);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 24px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #dae4f0;
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__profile .p-doctor__profile-item .p-doctor__profile-label {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 200%; /* 30px */
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__profile .p-doctor__profile-item .p-doctor__profile-text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%;
  margin-bottom: calc(40 * var(--to-rem));
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item {
  display: flex;
  gap: calc(40 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
  position: relative;
  padding-left: calc(20 * var(--to-rem));
  color: var(--font_color, #1c2e45);
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 24px */
}
@media screen and (max-width: 767px) {
  .p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item {
    gap: calc(30 * var(--to-rem));
    padding-left: calc(20 * var(--to-rem));
  }
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item .p-doctor__career-year {
  max-width: calc(53 * var(--to-rem));
  width: 100%;
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(6 * var(--to-rem));
  width: calc(9 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  aspect-ratio: 1/1;
  background: var(--btn-color, #003981);
  border-radius: 50%;
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item::after {
  content: "";
  position: absolute;
  top: calc(0.4em + 9 * var(--to-rem));
  left: calc(7 * var(--to-rem) / 2);
  width: 1px;
  height: calc(100% + 30 * var(--to-rem));
  background: var(--btn-color, #003981);
}
.p-staff .p-doctor .p-doctor__inner .p-doctor__wrap .p-doctor__content .p-doctor__career .p-doctor__career-item:last-child::after {
  display: none;
}
.p-staff .p-medical-staff {
  padding-bottom: calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff {
    padding-bottom: calc(120 * var(--to-rem));
    padding-top: calc(100 * var(--to-rem));
  }
}
.p-staff .p-medical-staff .p-medical-staff__inner {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  padding-inline: calc(15 * var(--to-rem));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff .p-medical-staff__inner {
    width: 100%;
    margin: 0 auto;
  }
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__title {
  color: var(--btn-color, #003981);
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 160%; /* 52.8px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(60 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #005d91;
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__title {
    font-size: calc(24 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item {
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
  display: flex;
  padding: calc(50 * var(--to-rem));
  justify-content: center;
  align-items: flex-start;
  gap: calc(90 * var(--to-rem));
  align-self: stretch;
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item {
    padding: calc(40 * var(--to-rem)) calc(15 * var(--to-rem));
    margin-bottom: calc(50 * var(--to-rem));
    gap: 0;
    flex-wrap: wrap;
    position: relative;
  }
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item:last-child {
  margin-bottom: 0;
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content {
  max-width: calc(500 * var(--to-rem));
  width: 100%;
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__name {
  color: var(--font_color, #1c2e45);
  font-size: calc(24 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 24px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(30 * var(--to-rem));
  border-bottom: calc(2 * var(--to-rem)) solid #dae4f0;
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__heading {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 15px */
  margin-bottom: calc(10 * var(--to-rem));
  padding-left: calc(16 * var(--to-rem));
  position: relative;
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__heading::before {
  content: "";
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  background: linear-gradient(135deg, #005d91 0.32%, #012b60 99.68%);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(30 * var(--to-rem));
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__text.p-medical-staff__text_last {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__content .p-medical-staff__text.p-medical-staff__text_sp {
    max-width: calc(167 * var(--to-rem));
  }
}
.p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__image-wrap .p-medical-staff__image {
  max-width: calc(450 * var(--to-rem));
  width: 100%;
  object-fit: cover;
  height: calc(500 * var(--to-rem));
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-staff .p-medical-staff .p-medical-staff__inner .p-medical-staff__item_wrap .p-medical-staff__item .p-medical-staff__image-wrap .p-medical-staff__image {
    position: absolute;
    width: calc(128 * var(--to-rem));
    height: calc(180 * var(--to-rem));
    right: calc(15 * var(--to-rem));
    top: calc(114 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-doctor__more {
    max-height: none;
    opacity: 1;
    overflow: visible;
    transition: none;
  }
}
.p-strength {
  position: relative;
  background: var(--color-white);
}
.p-strength__inner {
  display: grid;
  gap: 0;
  margin-inline: auto;
  background-image: url("../images/strength_bg-sp.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-block-start: 1px solid #003981;
  border-block-end: 1px solid #003981;
}
@media screen and (min-width: 1024px) {
  .p-strength__inner {
    grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
    align-items: stretch;
    background-image: none;
  }
}
.p-strength__intro {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-block: calc(120 * var(--to-rem)) calc(66 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (min-width: 1024px) {
  .p-strength__intro {
    padding-block: calc(200 * var(--to-rem)) calc(200 * var(--to-rem));
    padding-inline: calc(150 * var(--to-rem)) calc(20 * var(--to-rem));
    min-height: 100%;
    /* 1440 幅レイアウト時など、イントロ列の最大幅 770px */
  }
}
.p-strength__bg {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-strength__bg {
    display: block;
  }
}
.p-strength__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.p-strength__intro-inner {
  position: relative;
  z-index: 1;
  max-width: calc(560 * var(--to-rem));
  margin-inline: auto;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-strength__intro-inner {
    max-width: none;
    margin-inline: 0;
    text-align: start;
    position: sticky;
    top: calc(var(--header-height) + 100 * var(--to-rem));
    transition: transform 0.25s ease;
  }
}
@media screen and (min-width: 1024px) {
  .p-strength__intro-inner > .section__title-en {
    white-space: nowrap;
    font-size: clamp(48 * var(--to-rem), 48 * var(--to-rem) + (100vw - 1024px) * 0.0769230769, 80 * var(--to-rem));
    letter-spacing: clamp(2.5 * var(--to-rem), 2.5 * var(--to-rem) + (100vw - 1024px) * 0.0036057692, 4 * var(--to-rem));
  }
}
.p-strength__body {
  margin-block-start: calc(50 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-strength__body {
    margin-block-start: calc(28 * var(--to-rem));
  }
}
.p-strength__paragraph {
  margin: 0;
  color: #222;
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
}
@media screen and (min-width: 1024px) {
  .p-strength__paragraph {
    line-height: 200%;
  }
}
.p-strength__intro-inner > .button {
  margin-block-start: calc(50 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-strength__intro-inner > .button {
    margin-block-start: calc(40 * var(--to-rem));
    margin-inline: 0;
  }
}
.p-strength__aside {
  background: transparent;
  padding-block: calc(69 * var(--to-rem)) calc(75 * var(--to-rem));
  padding-inline: 0;
}
@media screen and (min-width: 1024px) {
  .p-strength__aside {
    background: var(--color-white);
    padding-block: calc(120 * var(--to-rem)) calc(120 * var(--to-rem));
    /* SVG の stroke 相当: 1px / #003981 */
    border-inline-start: 1px solid #003981;
  }
}
.p-strength__sp-concept {
  display: flex;
  align-items: center;
  gap: calc(8 * var(--to-rem));
  box-sizing: border-box;
  margin-block-end: calc(24 * var(--to-rem));
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + var(--header-height) + 8 * var(--to-rem));
  z-index: 40;
  box-sizing: border-box;
  padding-block: calc(12 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  width: 100%;
  max-width: none;
  margin-inline: 0;
  z-index: 2;
  padding-top: calc(10 * var(--to-rem));
  padding-bottom: calc(10 * var(--to-rem));
  background: transparent;
  /* SP 固定ヘッダー（.p-mv__header-inner）の下に回り込まないようオフセット（p-service-trio__sp-concept と同じ） */
  top: calc(env(safe-area-inset-top, 0px) + 106 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-strength__sp-concept {
    display: none;
  }
}
.p-strength__sp-concept-line {
  flex-shrink: 0;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  background: linear-gradient(351deg, #daa726 0%, #ffd364 100%);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.95);
}
@media screen and (min-width: 768px) {
  .p-strength__sp-concept-line {
    box-shadow: none;
  }
}
.p-strength__sp-concept-text {
  color: #daa726;
  font-family: var(--font-family-jost, "Jost", sans-serif);
  font-size: calc(14 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.98), 0 1px 1px rgba(255, 255, 255, 0.9);
}
@media screen and (min-width: 768px) {
  .p-strength__sp-concept-text {
    text-shadow: none;
  }
}
.p-strength__list {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  max-width: calc(560 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .p-strength__list {
    max-width: none;
    margin-inline: 0;
  }
}
.p-strength__item {
  position: relative;
  padding-block: calc(45 * var(--to-rem));
  padding-inline: calc(15 * var(--to-rem));
  border-block-end: none;
}
.p-strength__item::after {
  content: "";
  position: absolute;
  inset-inline: calc(-15 * var(--to-rem));
  inset-block-end: 0;
  height: 1px;
  background: #003981;
}
@media screen and (max-width: 1024px) {
  .p-strength__item::after {
    content: "";
    width: 100vw;
    inset-inline: auto;
    inset-inline-start: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 1024px) {
  .p-strength__item {
    padding-block: calc(80 * var(--to-rem));
    padding-inline: calc(60 * var(--to-rem)) calc(110 * var(--to-rem));
    border-block-end: 1px solid #003981;
  }
  .p-strength__item::after {
    content: none;
  }
}
.p-strength__item:last-child {
  border-block-end: none;
}
.p-strength__item:last-child::after {
  content: none;
}
.p-strength__item-title {
  margin: 0;
  color: var(--btn-color, #003981);
  font-family: var(--font-family-noto-sans-jp, "Noto Sans JP", sans-serif);
  font-size: calc(20 * var(--to-rem));
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (min-width: 1024px) {
  .p-strength__item-title {
    font-size: calc(24 * var(--to-rem));
    font-weight: 600;
  }
}
.p-strength__item-text {
  margin: 0;
  margin-block-start: calc(16 * var(--to-rem));
  max-width: calc(500 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 2;
  color: var(--color-navy-text);
}
@media screen and (min-width: 768px) {
  .p-strength__item-text {
    margin-block-start: calc(25 * var(--to-rem));
  }
}
.p-strength__item-actions {
  margin-block-start: calc(30 * var(--to-rem));
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  .p-strength__item-actions {
    justify-content: flex-start;
  }
}
.p-thanks {
  margin-bottom: 100vh;
  padding: calc(180 * var(--to-rem)) 0 calc(200 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-thanks {
    margin-bottom: 0;
    padding: calc(60 * var(--to-rem)) 0 calc(120 * var(--to-rem));
  }
}
.p-thanks .p-thanks-inner {
  max-width: calc(460 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
.p-thanks .p-thanks-inner .c-heading-line {
  text-align: center;
  max-width: calc(335 * var(--to-rem));
  margin: 0 auto calc(40 * var(--to-rem));
}
.p-thanks .p-thanks-inner .p-thanks-page {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(16 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 32px */
  margin-bottom: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-thanks .p-thanks-inner .p-thanks-page {
    margin-top: calc(40 * var(--to-rem));
    margin-bottom: calc(80 * var(--to-rem));
  }
}
.p-thanks .p-thanks-inner .p-thanks_button {
  border-radius: calc(40 * var(--to-rem));
  background: #003981;
  width: calc(300 * var(--to-rem));
  height: calc(70 * var(--to-rem));
  padding: calc(27 * var(--to-rem)) 0;
  display: flex;
  gap: calc(49 * var(--to-rem));
  position: relative;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.p-thanks .p-thanks-inner .p-thanks_button .p-thanks_button_text {
  color: #fff;
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 500;
  line-height: 100%; /* 15px */
  letter-spacing: 1.5px;
}
.p-thanks .p-thanks-inner .p-thanks_button img {
  width: calc(14 * var(--to-rem));
  height: calc(12 * var(--to-rem));
  object-fit: cover;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.p-trouble {
  background-image: url("../images/first_background.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-trouble {
    background-image: url("../images/first-background-sp.webp");
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
  }
}
.p-trouble.p-trouble-botox {
  background-image: url("../images/p-trouble-botox-bg.webp");
}
.p-trouble.p-trouble-implant {
  margin-bottom: calc(165 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble.p-trouble-implant {
    margin-bottom: calc(100 * var(--to-rem));
  }
}
.p-trouble::after {
  content: "";
  z-index: 1;
  opacity: 0.5;
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f2f8ff 0%, #dae4f0 100%);
}
.p-trouble .p-trouble__inner {
  padding: calc(100 * var(--to-rem)) calc(10 * var(--to-rem)) calc(120 * var(--to-rem));
  max-width: calc(1120 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner {
    padding: calc(50 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__title {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(33 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 33px */
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__title {
    font-size: calc(24 * var(--to-rem));
    line-height: 160%; /* 38.4px */
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__title.p-trouble__title_first {
  margin-bottom: calc(60 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__title.p-trouble__title_first {
    margin-bottom: calc(20 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__title.p-trouble__title__diagnosis {
  margin-bottom: calc(30 * var(--to-rem));
}
.p-trouble .p-trouble__inner .p-trouble__text {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__text {
    font-size: calc(14 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(25 * var(--to-rem));
  max-width: calc(1100 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(10 * var(--to-rem));
    padding: 0 calc(14 * var(--to-rem));
    width: 100%;
    margin: 0 auto;
  }
}
.p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list_first {
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list_first {
    padding: 0;
  }
}
.p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list_orthodontic {
  gap: calc(20 * var(--to-rem));
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list_implant {
  justify-content: center;
}
.p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list__diagnosis {
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list.p-trouble__list__diagnosis {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    gap: calc(20 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
  padding: calc(30 * var(--to-rem)) 0;
  background-color: var(--color-white);
  border-radius: calc(20 * var(--to-rem));
  max-width: calc(350 * var(--to-rem));
  width: 100%;
  min-height: calc(120 * var(--to-rem));
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 28.8px */
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
    padding: 0;
    width: 100%;
    max-width: none;
    height: calc(118 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
    line-height: 140%; /* 19.6px */
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item h3 {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 28.8px */
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item_orthodontic {
  max-width: calc(540 * var(--to-rem));
  width: 100%;
  display: flex;
  flex-direction: column;
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: calc(15 * var(--to-rem));
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 27px */
  padding-inline: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item_orthodontic {
    padding: calc(20 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
    height: auto;
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item_orthodontic span {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 500;
  line-height: 160%; /* 32px */
  margin-bottom: calc(10 * var(--to-rem));
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item_orthodontic span {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item__diagnosis {
  max-width: calc(1100 * var(--to-rem));
  padding: calc(30 * var(--to-rem));
  display: block;
  text-align: left;
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 160%; /* 24px */
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item__diagnosis {
    width: 100%;
    height: auto;
    font-size: calc(14 * var(--to-rem));
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item__diagnosis span {
  color: var(--font_color, #1c2e45);
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-weight: 500;
  margin-bottom: calc(5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item__diagnosis span {
    font-size: calc(15 * var(--to-rem));
    margin-bottom: calc(10 * var(--to-rem));
    display: inline-block;
  }
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item.p-trouble__item__diagnosis_beauty span {
  margin-bottom: calc(10 * var(--to-rem));
  display: inline-block;
}
.p-trouble .p-trouble__inner .p-trouble__list .p-trouble__note {
  color: #222;
  font-size: calc(13 * var(--to-rem));
  font-weight: 400;
  line-height: 150%; /* 19.5px */
  margin-top: calc(78 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__note {
    margin-top: calc(41 * var(--to-rem));
    max-width: calc(156 * var(--to-rem));
    margin-left: calc(11 * var(--to-rem));
    color: var(--Emperor, var(--color-grey-33, #555));
  }
}
.whitening {
  max-width: calc(1170 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
  padding: calc(80 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening {
    padding: calc(0 * var(--to-rem)) calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.whitening .whitening__intro {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening .whitening__intro {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.whitening .whitening__list {
  display: flex;
  gap: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening .whitening__list {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.whitening .whitening__list .whitening__item {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background: #f4fbff;
  padding: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening .whitening__list .whitening__item {
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.whitening .whitening__list .whitening__item .whitening__item-title {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 100%; /* 20px */
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .whitening .whitening__list .whitening__item .whitening__item-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.whitening .whitening__list .whitening__item .whitening__item-body {
  display: flex;
  gap: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .whitening .whitening__list .whitening__item .whitening__item-body {
    flex-wrap: wrap;
    gap: calc(20 * var(--to-rem));
    justify-content: center;
  }
}
@media (max-width: 1000px) {
  .whitening .whitening__list .whitening__item .whitening__item-body {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.whitening .whitening__list .whitening__item .whitening__item-body .whitening__image {
  max-width: calc(180 * var(--to-rem));
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .whitening .whitening__list .whitening__item .whitening__item-body .whitening__image {
    max-width: calc(305 * var(--to-rem));
    margin: 0 auto;
  }
}
.whitening .whitening__list .whitening__item .whitening__item-body .whitening__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 200%; /* 30px */
}
.c-section-arrow {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  padding: calc(20 * var(--to-rem)) 0 calc(40 * var(--to-rem));
}
.c-section-whitening {
  padding-top: calc(100 * var(--to-rem));
  padding-bottom: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .c-section-whitening {
    padding-top: calc(100 * var(--to-rem));
    padding-bottom: calc(100 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex {
  padding: calc(120 * var(--to-rem)) calc(20 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex {
    padding: 0 calc(15 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap {
    max-width: none;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .c-heading-line {
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .c-heading-line {
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__text {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 2;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__text {
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid {
  display: flex;
  align-items: flex-start;
  gap: calc(20 * var(--to-rem));
}
@media (max-width: 1000px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block {
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
  background-color: #f4fbff;
  padding: calc(40 * var(--to-rem)) calc(30 * var(--to-rem)) calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block {
    max-width: none;
    padding: calc(30 * var(--to-rem)) calc(10 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block .p-cnt-flex__heading {
  color: #003981;
  text-align: center;
  font-size: calc(20 * var(--to-rem));
  font-weight: 600;
  line-height: 1;
  padding-bottom: calc(20 * var(--to-rem));
  margin-bottom: calc(20 * var(--to-rem));
  border-bottom: calc(1 * var(--to-rem)) solid #dae4f0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block .p-cnt-flex__heading {
    line-height: 1.5;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block .p-cnt-flex__list {
  width: fit-content;
  padding: calc(0 * var(--to-rem)) calc(20 * var(--to-rem));
  list-style: disc;
  padding-left: 1.2em;
  margin: 0 auto calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block .p-cnt-flex__list {
    padding: calc(0 * var(--to-rem)) calc(10 * var(--to-rem)) 0 calc(25 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-cnt-flex .sec-wrap .p-cnt-flex__grid .p-cnt-flex__block .p-cnt-flex__list .p-cnt-flex__list-item {
  color: var(--font_color, #1c2e45);
  font-size: calc(15 * var(--to-rem));
  font-weight: 400;
  line-height: 180%;
}
.p-service-page--Wisdomtooth .p-service-page__body .p-trouble {
  padding: 0 calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-trouble {
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-trouble .p-trouble__inner {
  padding: calc(100 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-trouble .p-trouble__inner {
    padding: calc(100 * var(--to-rem)) 0 calc(40 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__text {
  margin-bottom: calc(30 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list {
    max-width: none;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-trouble .p-trouble__inner .p-trouble__list .p-trouble__item {
    width: 100%;
    height: calc(96 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-service-page__body-inner {
  padding: calc(180 * var(--to-rem)) calc(20 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-service-page__body-inner {
    max-width: none;
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-service-page__body-inner .p-service-page__section {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list {
    padding: calc(15 * var(--to-rem));
    padding-left: calc(15 * var(--to-rem)) !important;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-service-page__body-inner .p-service-page__section .c-text-list .c-text-list__item {
    max-width: none;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-prevention {
  padding: calc(180 * var(--to-rem)) calc(15 * var(--to-rem)) calc(160 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-prevention {
    max-width: none;
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem)) calc(60 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-prevention .p-prevention__content .p-prevention__points .p-prevention__point .p-prevention__point-label {
  max-width: calc(115 * var(--to-rem));
  padding: calc(5 * var(--to-rem)) 0 calc(4 * var(--to-rem));
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info {
  padding: 0 calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info {
    padding: 0 calc(15 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner {
  padding: calc(120 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner {
    max-width: none;
    padding: calc(60 * var(--to-rem)) 0;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading {
  margin-bottom: calc(47 * var(--to-rem));
  font-family: var(--font-family-futura);
  font-weight: 500;
  font-size: calc(33 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading {
    align-items: center;
    margin-bottom: calc(23 * var(--to-rem));
    font-size: calc(28 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .p-drip-info__heading:before {
    top: auto;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth {
  padding: 0 calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth {
    padding: 0 0 0 calc(30 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .flex-box {
  display: flex;
  justify-content: space-between;
  gap: calc(5 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .flex-box {
    flex-direction: column;
    gap: calc(20 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .flex-box picture {
  max-width: calc(510 * var(--to-rem));
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .flex-box picture {
    max-width: none;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .lead {
  margin: calc(30 * var(--to-rem)) 0 0;
  font-weight: 400;
  font-size: calc(15 * var(--to-rem));
  line-height: 2.2;
  color: var(--font_color, #1c2e45);
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .p-drip-info .p-drip-info__inner .p-drip-info__block .drip-info-wisdom-tooth .lead {
    line-height: 2;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points {
  padding: calc(112 * var(--to-rem)) calc(20 * var(--to-rem)) calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points {
    padding: calc(60 * var(--to-rem)) calc(20 * var(--to-rem)) calc(100 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .c-heading-line {
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .c-heading-line {
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap {
  max-width: calc(1140 * var(--to-rem));
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap {
    max-width: none;
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .points-sec-lead {
  margin: calc(30 * var(--to-rem)) 0 0;
  font-weight: 400;
  font-size: calc(15 * var(--to-rem));
  line-height: 2;
  color: var(--font_color, #1c2e45);
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .points-sec-lead {
    margin: calc(30 * var(--to-rem)) 0 0;
    font-size: calc(15 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(20 * var(--to-rem));
  margin-top: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list {
    margin-top: calc(30 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item {
  display: flex;
  align-items: center;
  gap: calc(25 * var(--to-rem));
  max-width: calc(560 * var(--to-rem));
  width: 100%;
  padding: calc(25 * var(--to-rem)) calc(20 * var(--to-rem));
  background-color: #f4fbff;
  border-radius: calc(10 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item {
    max-width: none;
    padding: calc(20 * var(--to-rem)) calc(10 * var(--to-rem));
    border-radius: calc(10 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-image {
  width: calc(95 * var(--to-rem));
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-image {
    width: calc(65 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-body .point-list__item-title {
  margin-bottom: calc(14 * var(--to-rem));
  padding-bottom: calc(12 * var(--to-rem));
  line-height: 1;
  border-bottom: 1px solid #dae4f0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-body .point-list__item-title {
    display: flex;
    align-items: center;
    gap: calc(10 * var(--to-rem));
    line-height: 1.6;
    margin-bottom: calc(20 * var(--to-rem));
    padding-bottom: calc(17 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-body .point-list__item-title span {
  font-weight: 600;
  font-size: calc(18 * var(--to-rem));
  color: var(--font_color, #1c2e45);
}
.p-service-page--Wisdomtooth .p-service-page__body .points .sec-wrap .point-list .point-list__item .point-list__item-body .point-list__item-txt {
  font-weight: 400;
  font-size: calc(15 * var(--to-rem));
  line-height: 1.7;
  color: var(--font_color, #1c2e45);
  text-align: left;
}
.p-service-page--Wisdomtooth .p-service-page__body .c-section {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .c-section {
    padding-top: calc(100 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .c-section .c-section__header .c-heading-line {
  margin-bottom: calc(70 * var(--to-rem));
  padding-bottom: calc(20 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--Wisdomtooth .p-service-page__body .c-section .c-section__header .c-heading-line {
    margin-bottom: calc(40 * var(--to-rem));
    padding-bottom: calc(10 * var(--to-rem));
  }
}
.p-service-page--Wisdomtooth .p-service-page__body .c-section .c-flow .c-flow__item:first-of-type {
  padding-top: 0;
  border-top: none;
}
.p-works-list {
  padding-block: calc(48 * var(--to-rem)) calc(32 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-works-list {
    padding-block: calc(40 * var(--to-rem)) calc(60 * var(--to-rem));
  }
}
.p-works-list__filter {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--to-rem));
  margin-block-start: calc(32 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-works-list__filter {
    gap: calc(12 * var(--to-rem));
  }
}
.p-works-list__filter-btn {
  padding: calc(10 * var(--to-rem)) calc(20 * var(--to-rem));
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background-color: transparent;
  color: var(--color-text);
  font-family: inherit;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
@media screen and (min-width: 768px) {
  .p-works-list__filter-btn {
    padding: calc(10 * var(--to-rem)) calc(24 * var(--to-rem));
    font-size: calc(15 * var(--to-rem));
  }
}
@media (any-hover: hover) {
  .p-works-list__filter-btn:hover:not(.is-active) {
    border-color: var(--color-border);
    background-color: var(--color-gray);
  }
}
.p-works-list__filter-btn.is-active {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  color: var(--color-white);
}
.p-works-list__grid {
  --_card-widht: calc(320 * var(--to-rem));
  display: grid;
  gap: calc(24 * var(--to-rem));
  margin-block-start: calc(24 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-works-list__grid {
    grid-template-columns: repeat(auto-fill, minmax(min(var(--_card-widht), 100%), 1fr));
    gap: calc(32 * var(--to-rem));
    margin-block-start: calc(32 * var(--to-rem));
  }
}
.p-works-list__card {
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
@media (any-hover: hover) {
  .p-works-list__card:hover .p-works-list__thumbnail img {
    scale: 1.05;
  }
}
.p-works-list__link {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}
.p-works-list__thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.p-works-list__thumbnail img {
  transition: scale 0.4s ease;
}
.p-works-list__badge {
  position: absolute;
  top: calc(12 * var(--to-rem));
  left: calc(12 * var(--to-rem));
  padding: calc(6 * var(--to-rem)) calc(12 * var(--to-rem));
  border-radius: 4px;
  background-color: var(--color-accent);
  color: var(--color-white);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
}
.p-works-list__content {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: calc(8 * var(--to-rem));
  padding: calc(20 * var(--to-rem));
}
.p-works-list__card-title {
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-works-list__card-title {
    font-size: calc(18 * var(--to-rem));
  }
}
.p-works-list__client {
  color: oklch(from var(--color-text) l c h/70%);
  font-size: calc(12 * var(--to-rem));
}
@media screen and (min-width: 768px) {
  .p-works-list__client {
    font-size: calc(13 * var(--to-rem));
  }
}
.p-works-list__date {
  color: oklch(from var(--color-text) l c h/70%);
  font-size: calc(12 * var(--to-rem));
}
.p-works-list__empty {
  padding-block: calc(60 * var(--to-rem));
  color: oklch(from var(--color-text) l c h/70%);
  font-size: calc(16 * var(--to-rem));
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-works-list__empty {
    padding-block: calc(80 * var(--to-rem));
    font-size: calc(18 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-trouble .p-trouble__item {
    height: calc(96 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-prevention {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-prevention {
    padding-top: calc(100 * var(--to-rem));
  }
  .p-service-page--peri-implantitis .p-prevention .p-prevention__lead {
    margin-bottom: calc(20 * var(--to-rem));
  }
  .p-service-page--peri-implantitis .p-prevention .p-prevention__points .p-prevention__point:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
}
.p-service-page--peri-implantitis .p-service-page__body-inner {
  padding-top: calc(180 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__body-inner {
    padding-top: calc(100 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__body-inner.p-service-page--peri-implantitis__intro {
  padding-top: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__body-inner.p-service-page--peri-implantitis__intro {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__body-inner.p-service-page--peri-implantitis__intro .p-service-page__section {
    padding-bottom: 0;
  }
}
.p-service-page--peri-implantitis .p-service-page__body-inner.p-service-page--peri-implantitis__necessary {
  padding-top: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__body-inner.p-service-page--peri-implantitis__necessary {
    padding-top: 0;
  }
}
.p-service-page--peri-implantitis .p-service-page__section {
  max-width: calc(1170 * var(--to-rem));
  margin: 0 auto;
  padding-inline: calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section {
    padding-bottom: 0;
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-text {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 200%;
  margin-bottom: calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-text {
    font-size: calc(14 * var(--to-rem));
    margin-bottom: calc(30 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid {
    flex-direction: column;
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: calc(480 * var(--to-rem));
  width: 100%;
  border-radius: calc(10 * var(--to-rem));
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content {
  min-height: calc(240 * var(--to-rem));
  margin-top: auto;
  padding: 0 calc(50 * var(--to-rem));
  background-color: var(--color-bg-mid-blue);
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content {
    padding: calc(30 * var(--to-rem)) calc(20 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content .p-service-page__section-grid-item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(30 * var(--to-rem));
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content .p-service-page__section-grid-item-content {
    gap: calc(20 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content .p-service-page__section-grid-item-content .p-service-page__section-grid-item-content-title {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content .p-service-page__section-grid-item-content .p-service-page__section-grid-item-content-text {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item.--inner-content .p-service-page__section-grid-item-content .p-service-page__section-grid-item-content-text {
    line-height: 170%;
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-plus {
  width: calc(45 * var(--to-rem));
  height: calc(45 * var(--to-rem));
  margin: calc(35 * var(--to-rem)) calc(26 * var(--to-rem)) 0;
  background-image: url("data:image/svg+xml,%3csvg%20width='45'%20height='49'%20viewBox='0%200%2045%2049'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20.5%2048.1V25.7H0V22.5H20.5V0H24.2V22.5H44.7V25.7H24.2V48.1H20.5Z'%20fill='%237298C8'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-plus {
    margin: calc(15 * var(--to-rem)) auto;
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: calc(240 * var(--to-rem));
  padding-top: calc(30 * var(--to-rem));
  padding-bottom: calc(30 * var(--to-rem));
  padding-left: calc(60 * var(--to-rem));
  background-color: var(--color-bg-light-blue);
  border-radius: calc(10 * var(--to-rem));
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-list {
    min-height: 0;
    padding-top: calc(15 * var(--to-rem));
    padding-left: calc(40 * var(--to-rem));
    padding-bottom: calc(15 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-list .c-text-list__item {
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-list .c-text-list__item {
    font-size: calc(15 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-service-page__section .p-service-page__section-grid-item-title {
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  margin-bottom: calc(20 * var(--to-rem));
}
.p-service-page--peri-implantitis .p-peri-implantitis-box-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20 * var(--to-rem));
  max-width: calc(886 * var(--to-rem));
  color: var(--color-navy-text);
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-peri-implantitis-box-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-service-page--peri-implantitis .p-peri-implantitis-box-list .p-peri-implantitis-box-list__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 160%;
  background-color: var(--color-bg-light-blue);
  border-radius: calc(10 * var(--to-rem));
  padding: calc(20 * var(--to-rem));
  border: calc(1 * var(--to-rem)) solid var(--color-mv-sp-top-bar-border);
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-peri-implantitis-box-list .p-peri-implantitis-box-list__item {
    padding: calc(20 * var(--to-rem)) calc(5 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-botox-flow {
  padding-top: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-botox-flow {
    padding-top: 0;
  }
}
.p-service-page--peri-implantitis .p-price__info-block {
  max-width: calc(1170 * var(--to-rem));
  padding: calc(115 * var(--to-rem)) calc(15 * var(--to-rem)) calc(180 * var(--to-rem));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-service-page--peri-implantitis .p-price__info-block {
    padding: calc(100 * var(--to-rem)) calc(15 * var(--to-rem));
  }
}
.p-service-page--peri-implantitis .p-price__info-block .p-price__info-text {
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 220%;
  color: var(--color-navy-text);
}
:root {
  --clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}
@media (width <= 767px) {
  [data-only-device=md] {
    display: none;
  }
}
@media (width >= 768px) {
  [data-only-device=sm] {
    display: none;
  }
}
/*―――――――――――――――――――――――――――――――――――――――――――――
  スクロールフェード（.js-* は _scroll-fade.js と対）
―――――――――――――――――――――――――――――――――――――――――――――*/
.js-fade {
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  transition-delay: 0s;
}
.js-fade.is-active {
  opacity: 1;
  transition-delay: 0.28s;
}
.js-fade-load {
  filter: opacity(0);
  transition: filter 1.2s ease-in-out;
}
.js-fade-load.is-active {
  filter: opacity(1);
}
.js-fade-row > * {
  opacity: 0;
  transition: opacity 1.2s, transform 1.2s;
  transition-delay: 0s;
}
.js-fade-row.is-active > * {
  opacity: 1;
}
.js-fade-row.is-active > *:nth-child(1) {
  transition-delay: 0.28s;
}
.js-fade-row.is-active > *:nth-child(2) {
  transition-delay: 0.48s;
}
.js-fade-row.is-active > *:nth-child(3) {
  transition-delay: 0.68s;
}
.js-fade-row.is-active > *:nth-child(4) {
  transition-delay: 0.88s;
}
.js-fade-row.is-active > *:nth-child(5) {
  transition-delay: 1.08s;
}
.js-fade-row.is-active > *:nth-child(6) {
  transition-delay: 1.28s;
}
.js-fade-row.is-active > *:nth-child(7) {
  transition-delay: 1.48s;
}
.js-fade-row.is-active > *:nth-child(8) {
  transition-delay: 1.68s;
}
.js-fade-row.is-active > *:nth-child(9) {
  transition-delay: 1.88s;
}
.js-fade-row.is-active > *:nth-child(10) {
  transition-delay: 2.08s;
}
.js-fadeUp {
  opacity: 0;
  transform: translateY(calc(15 * var(--to-rem)));
  transition: opacity 1.2s, transform 1.2s;
  transition-delay: 0s;
}
.js-fadeUp.is-active {
  opacity: 1;
  transform: translate(0);
  transition-delay: 0.28s;
}
.js-fadeUp-load {
  filter: opacity(0);
  transform: translateY(calc(15 * var(--to-rem)));
  transition: filter 1.2s, transform 1.2s;
}
.js-fadeUp-load.is-active {
  filter: opacity(1);
  transform: translate(0);
}
.js-fadeUp-row > * {
  opacity: 0;
  transform: translateY(calc(15 * var(--to-rem)));
  transition: opacity 1.2s, transform 1.2s;
  transition-delay: 0s;
}
.js-fadeUp-row.is-active > * {
  opacity: 1;
  transform: translate(0);
}
.js-fadeUp-row.is-active > *:nth-child(1) {
  transition-delay: 0.28s;
}
.js-fadeUp-row.is-active > *:nth-child(2) {
  transition-delay: 0.48s;
}
.js-fadeUp-row.is-active > *:nth-child(3) {
  transition-delay: 0.68s;
}
.js-fadeUp-row.is-active > *:nth-child(4) {
  transition-delay: 0.88s;
}
.js-fadeUp-row.is-active > *:nth-child(5) {
  transition-delay: 1.08s;
}
.js-fadeUp-row.is-active > *:nth-child(6) {
  transition-delay: 1.28s;
}
.js-fadeUp-row.is-active > *:nth-child(7) {
  transition-delay: 1.48s;
}
.js-fadeUp-row.is-active > *:nth-child(8) {
  transition-delay: 1.68s;
}
.js-fadeUp-row.is-active > *:nth-child(9) {
  transition-delay: 1.88s;
}
.js-fadeUp-row.is-active > *:nth-child(10) {
  transition-delay: 2.08s;
}
@media (prefers-reduced-motion: reduce) {
  .js-fade,
  .js-fade-load,
  .js-fadeUp,
  .js-fadeUp-load {
    filter: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
  .js-fade-row > *,
  .js-fadeUp-row > * {
    opacity: 1;
    transform: none;
    transition: 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;
}
.u-text__marker {
  background: linear-gradient(transparent 75%, var(--color-orange) 75%);
}
.u-text__inline-block {
  display: inline-block;
}
.u-text__indent {
  padding-inline-start: 1em;
  text-indent: -1em;
}