@charset "UTF-8";
@property --root-font-size {
  syntax: "<length>";
  inherits: false;
  initial-value: 16px;
}
:root {
  /* inner（sass変数を使用） */
  /* z-index */
  --z-index-header: 100;
  --z-index-modal: 200;
  --z-index-overlay: 900;
  /* color */
  --color-base: #fff;
  --color-text: #333;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #f0f0f0;
  --color-border: #c2c2c2;
  --color-primary: #123e6b;
  --color-orange: #de8430;
  --color-bg-mist: #dbe4e6;
  --gradient-bg-mist: linear-gradient(109deg, var(--color-bg-mist) 13.32%, var(--color-white) 99.8%);
  --gradient-bg-mist-sp: linear-gradient(94deg, var(--color-bg-mist) 13.32%, var(--color-white) 99.8%);
  --color-bg-section: #f9f9f9;
  /* font-family（Google Fonts: Noto Sans JP / Jost） */
  --ff-base: "Noto Sans JP", sans-serif;
  --ff-en: "Jost", sans-serif;
  --to-rem: calc(tan(atan2(1px, var(--root-font-size))) * 1rem);
  /* transition */
  --duration: 0.4s;
  --easing: ease-in-out;
  --duration-circle: 0.6s;
  --easing-circle: cubic-bezier(0, 0.55, 0.45, 1);
  /* header height */
  --header-height: 86px;
}
@media screen and (width < 1024px) {
  :root {
    --header-height: 76px;
  }
}

@keyframes gradient-flow {
  0% {
    background-position: 100% center;
  }
  100% {
    background-position: 0% center;
  }
}
/*! 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%;
  -moz-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:-moz-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;
}

: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(:-moz-placeholder)) {
  /*
  * 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(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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:where(p) {
  margin: 0;
}

html {
  font-size: 100%;
}

body {
  color: var(--color-text);
  font-family: var(--ff-base);
  font-weight: 400;
}
@media (width < 390px) {
  body {
    zoom: progress(100lvw, 0px, 390px);
    -webkit-text-size-adjust: initial;
  }
}

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

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

img,
svg {
  vertical-align: middle;
}

picture {
  display: block;
}

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

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

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

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

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

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

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

input,
textarea,
select {
  font: inherit;
}

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

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

textarea {
  field-sizing: content;
}

.l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: var(--z-index-header);
}
.l-header.is-hidden {
  transform: translateY(-100%);
  pointer-events: none;
}
.l-header.is-open {
  z-index: calc(var(--z-index-overlay) + 10);
  transform: none;
  pointer-events: auto;
}

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

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

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

.c-breadcrumb {
  padding-block: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding-block: 0.875rem;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    white-space: nowrap;
  }
}

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

.c-breadcrumb__nav {
  display: flex;
  justify-content: flex-end;
  max-width: 100%;
}

.c-breadcrumb__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 100%;
  min-width: 0;
}

.c-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    flex-shrink: 0;
  }
  .c-breadcrumb__item:last-child {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: "/";
  display: inline-block;
  flex-shrink: 0;
  margin-inline: 0.35em;
  color: var(--color-text);
  letter-spacing: 0.06em;
}

.c-breadcrumb__link {
  min-width: 0;
  color: var(--color-primary);
  letter-spacing: 0.0686em;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity var(--duration) var(--easing);
}
@media (any-hover: hover) {
  .c-breadcrumb__link:hover {
    opacity: 0.7;
  }
}

/* 写真 + グラデ。背景は --c-button-image で差し替え */
.c-button {
  --c-button-image: url("../images/bg_concept_cta.webp");
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 5.9375rem;
  padding: 1.25rem 1.75rem 1.25rem 2.3125rem;
  border: 0;
  border-radius: 0.375rem;
  background-color: #09163a;
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
}
.c-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background-image: linear-gradient(-18.46deg, rgba(9, 22, 58, 0.85) 19.04%, rgba(54, 111, 186, 0.85) 96.29%);
  pointer-events: none;
}
.c-button::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--c-button-image) center 22%/cover no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .c-button {
    min-height: 5.625rem;
    font-size: 1rem;
  }
}

.c-button__text {
  position: relative;
  z-index: 2;
}

.c-button__arrow {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  overflow: hidden;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
}

.c-button__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.c-button__arrow-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* 円周 ≈ 2π × 14.5 ≒ 91 */
.c-button__arrow-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 91;
  stroke-dashoffset: 91;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.c-button__arrow-icon {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.c-button__arrow-icon::before,
.c-button__arrow-icon::after {
  content: "";
  position: absolute;
  inset-block-start: 0;
  width: 100%;
  height: 100%;
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.7936%2015.0458C18.1372%2015.0458%2018.2964%2014.5779%2018.0405%2014.3486C17.8504%2014.1745%2017.6739%2013.9978%2017.511%2013.8187C17.3647%2013.6578%2017.416%2013.4058%2017.6078%2013.3033C17.7522%2013.2261%2017.9303%2013.2609%2018.0397%2013.3826C18.2236%2013.587%2018.4227%2013.7897%2018.6369%2013.9906C18.9317%2014.2544%2019.2368%2014.5056%2019.5521%2014.7443C19.9628%2015.0405%2019.959%2015.6865%2019.5521%2015.9879C19.2368%2016.2266%2018.9317%2016.4809%2018.6369%2016.751C18.4228%2016.9472%2018.2238%2017.1468%2018.04%2017.3499C17.9302%2017.4713%2017.7522%2017.5061%2017.6078%2017.4289C17.416%2017.3264%2017.3647%2017.0744%2017.511%2016.9135C17.6739%2016.7344%2017.8504%2016.5577%2018.0405%2016.3836C18.289%2016.1559%2018.1304%2015.6864%2017.7933%2015.6864H11.2961C11.1191%2015.6864%2010.9757%2015.543%2010.9757%2015.3661C10.9757%2015.1892%2011.1192%2015.0458%2011.2961%2015.0458H17.7936Z'%20fill='%23fff'/%3e%3c/svg%3e") center/100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.7936%2015.0458C18.1372%2015.0458%2018.2964%2014.5779%2018.0405%2014.3486C17.8504%2014.1745%2017.6739%2013.9978%2017.511%2013.8187C17.3647%2013.6578%2017.416%2013.4058%2017.6078%2013.3033C17.7522%2013.2261%2017.9303%2013.2609%2018.0397%2013.3826C18.2236%2013.587%2018.4227%2013.7897%2018.6369%2013.9906C18.9317%2014.2544%2019.2368%2014.5056%2019.5521%2014.7443C19.9628%2015.0405%2019.959%2015.6865%2019.5521%2015.9879C19.2368%2016.2266%2018.9317%2016.4809%2018.6369%2016.751C18.4228%2016.9472%2018.2238%2017.1468%2018.04%2017.3499C17.9302%2017.4713%2017.7522%2017.5061%2017.6078%2017.4289C17.416%2017.3264%2017.3647%2017.0744%2017.511%2016.9135C17.6739%2016.7344%2017.8504%2016.5577%2018.0405%2016.3836C18.289%2016.1559%2018.1304%2015.6864%2017.7933%2015.6864H11.2961C11.1191%2015.6864%2010.9757%2015.543%2010.9757%2015.3661C10.9757%2015.1892%2011.1192%2015.0458%2011.2961%2015.0458H17.7936Z'%20fill='%23fff'/%3e%3c/svg%3e") center/100% 100% no-repeat;
}

.c-button__arrow-icon::after {
  inset-inline-start: 0;
}

.c-button__arrow-icon::before {
  inset-inline-start: -100%;
}

@media (any-hover: hover) {
  .c-button:hover .c-button__arrow-circle,
  .p-header__drawer-cta:hover .c-button__arrow-circle,
  .p-modelhouse-single__info-reserve:hover .c-button__arrow-circle,
  .p-plan-single__info-request:hover .c-button__arrow-circle,
  .p-form.p-form--confirm .p-form__action-link--visual:hover .c-button__arrow-circle {
    stroke-dashoffset: 0;
  }
  .c-button:hover .c-button__arrow-icon,
  .p-header__drawer-cta:hover .c-button__arrow-icon,
  .p-modelhouse-single__info-reserve:hover .c-button__arrow-icon,
  .p-plan-single__info-request:hover .c-button__arrow-icon,
  .p-form.p-form--confirm .p-form__action-link--visual:hover .c-button__arrow-icon {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-button__arrow-circle,
  .c-button__arrow-icon {
    transition: none;
  }
}
.c-column-card {
  display: grid;
  grid-template-columns: 36.54% minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: stretch;
  border: 1px solid var(--color-primary);
  background-color: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-column-card {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    grid-template-rows: 7.5rem auto;
    min-height: 11.25rem;
  }
}

.c-column-card__image {
  grid-row: 1/-1;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-column-card__image {
    grid-row: 1;
    width: 7.5rem;
    height: 7.5rem;
    aspect-ratio: auto;
  }
}

.c-column-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.c-column-card__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  min-width: 0;
  padding: 1.625rem 1.375rem 0 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-column-card__body {
    justify-content: center;
    grid-column: 2;
    grid-row: 1;
    padding: 0.8125rem 0.9375rem 0;
  }
}

.c-column-card__lead {
  display: flex;
  align-items: center;
  gap: clamp(calc(9 * var(--to-rem)), calc(-12.8388625592 * var(--to-rem) + 2.1327014218vw), calc(18 * var(--to-rem)));
  min-height: 1.8125rem;
}
@media screen and (max-width: 767px) {
  .c-column-card__lead {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.875rem;
    min-height: 0;
  }
}

.c-column-card__new {
  display: grid;
  place-items: center;
  width: clamp(calc(48 * var(--to-rem)), calc(-5.3838862559 * var(--to-rem) + 5.2132701422vw), calc(70 * var(--to-rem)));
  height: 1.8125rem;
  background-color: #fff399;
  font-family: var(--ff-en);
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

.c-column-card__date {
  color: #123e6b;
  font-family: var(--ff-en);
  font-size: 1.125rem;
  line-height: 1;
}

.c-column-card__heading {
  display: -webkit-box;
  overflow: hidden;
  width: 100%;
  margin-block-start: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6428571429;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-column-card__heading {
    margin-block-start: 0.5625rem;
    line-height: 1.4285714286;
  }
}

.c-column-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem clamp(calc(12 * var(--to-rem)), calc(-26.8246445498 * var(--to-rem) + 3.7914691943vw), calc(28 * var(--to-rem)));
  grid-column: 2;
  align-self: end;
  padding: 0.9375rem 1.375rem 1.125rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-column-card__tags {
    grid-column: 1/-1;
    grid-row: 2;
    align-self: stretch;
    gap: 0.375rem 1.75rem;
    padding: 0.5rem 0.9375rem 0.5rem;
  }
}

.c-column-card__tag {
  color: #123e6b;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 3;
}

a.c-column-card__tag {
  text-decoration: none;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  a.c-column-card__tag:hover {
    opacity: 0.7;
  }
}

.c-coming-soon {
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 5rem 1.25rem;
  border-block: 1px solid var(--color-border);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-coming-soon {
    gap: 0.75rem;
    padding-block: 3.5rem;
  }
}

.c-coming-soon__en {
  color: var(--color-primary);
  font-family: var(--ff-en);
  font-size: clamp(calc(28 * var(--to-rem)), calc(10.6766917293 * var(--to-rem) + 2.2556390977vw), calc(40 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-coming-soon__en {
    font-size: 1.75rem;
  }
}

.c-coming-soon__text {
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.04em;
}

.c-contact {
  padding-block: 6.625rem 6.75rem;
}
@media screen and (max-width: 767px) {
  .c-contact {
    padding-block: 3.25rem 2.875rem;
  }
}

.p-concept-items + .c-contact {
  padding-block-start: 8rem;
}
@media screen and (max-width: 767px) {
  .p-concept-items + .c-contact {
    padding-block-start: 3.375rem;
  }
}

.p-comfort .p-comfort-related + .c-contact {
  padding-block-start: 10rem;
}
@media screen and (max-width: 767px) {
  .p-comfort .p-comfort-related + .c-contact {
    padding-block-start: 3.5rem;
  }
}

.p-standard-faq + .c-contact {
  padding-block-start: 9.6875rem;
}
@media screen and (max-width: 767px) {
  .p-standard-faq + .c-contact {
    padding-block-start: 3rem;
  }
}

.c-contact__head {
  display: grid;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-contact__head {
    gap: 1.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-comfort .p-comfort-related + .c-contact .c-contact__head {
    gap: 1.3125rem;
    margin-inline-end: -1.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-standard-faq + .c-contact .c-contact__head {
    gap: 1.3125rem;
    margin-inline-end: -1.1875rem;
  }
}

@media (width >= 768px) {
  .c-contact__head--has-lead {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: end;
    gap: 1.5rem 6rem;
  }
}

.c-contact__title .c-section-title {
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-contact__title .c-section-title {
    gap: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-items + .c-contact .c-contact__title .c-section-title {
    gap: 1.125rem;
  }
}

.c-contact__title .c-section-title__en {
  animation: none;
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .c-contact__title .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.9444444444;
    letter-spacing: 0.13em;
  }
}

.c-contact__title .c-section-title__heading {
  font-size: clamp(calc(20 * var(--to-rem)), calc(10.8571428571 * var(--to-rem) + 0.8928571429vw), calc(28 * var(--to-rem)));
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(84deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .c-contact__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .c-contact__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-items + .c-contact .c-contact__title .c-section-title__heading {
    font-size: 1.5rem;
  }
}

.c-contact__lead {
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .c-contact__lead {
    max-width: none;
    line-height: 1.6428571429;
  }
}

@media screen and (max-width: 767px) {
  .p-comfort .p-comfort-related + .c-contact .c-contact__lead {
    margin-inline-end: 1.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-standard-faq + .c-contact .c-contact__lead {
    margin-inline-end: 1.1875rem;
  }
}

.c-contact__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 26.75rem));
  justify-content: space-between;
  gap: clamp(calc(20 * var(--to-rem)), calc(-26.334841629 * var(--to-rem) + 4.5248868778vw), calc(40 * var(--to-rem)));
  margin-block-start: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .c-contact__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9375rem;
    margin-block-start: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__head:has(.c-contact__lead) + .c-contact__list {
    margin-block-start: 1.9375rem;
  }
}

.c-contact__item {
  min-width: 0;
}

.c-contact-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-content: start;
  justify-items: center;
  height: clamp(calc(480 * var(--to-rem)), calc(450.2922636103 * var(--to-rem) + 3.8681948424vw), calc(507 * var(--to-rem)));
  padding: clamp(calc(39 * var(--to-rem)), calc(-3.9111747851 * var(--to-rem) + 5.5873925501vw), calc(78 * var(--to-rem))) clamp(calc(12 * var(--to-rem)), calc(-21.0085959885 * var(--to-rem) + 4.2979942693vw), calc(42 * var(--to-rem))) 0;
  border-radius: 0.375rem;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-contact-card {
    justify-items: start;
    height: 13.75rem;
    min-height: 0;
    padding: 2.0625rem 0.9375rem 1rem 1.4375rem;
    text-align: start;
  }
}

.c-contact-card--light {
  border: 1px solid var(--color-text);
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .c-contact-card--light {
    padding-block-start: 1.625rem;
  }
}

/* 標準仕様ページ: PLAN カード（Figma 2265:402） */
.c-contact-card--plan {
  align-content: start;
  justify-items: start;
  padding: 1.8125rem clamp(calc(16 * var(--to-rem)), calc(9.3982808023 * var(--to-rem) + 0.8595988539vw), calc(22 * var(--to-rem))) 0 clamp(calc(23 * var(--to-rem)), calc(-2.3065902579 * var(--to-rem) + 3.2951289398vw), calc(46 * var(--to-rem)));
  color: var(--color-white);
  text-align: start;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan {
    padding: 1.25rem 0.9375rem 1rem 1.3125rem;
  }
}

.c-contact-card--plan .c-contact-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: auto;
}

.c-contact-card--plan .c-contact-card__brand {
  font-family: var(--ff-en);
  font-size: clamp(calc(20 * var(--to-rem)), calc(10.0974212034 * var(--to-rem) + 1.2893982808vw), calc(29 * var(--to-rem)));
  font-weight: 400;
  line-height: 2.3448275862;
  letter-spacing: 0.13em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan .c-contact-card__brand {
    font-size: 1.3125rem;
    line-height: 1.1428571429;
    letter-spacing: 0.13em;
  }
}

.c-contact-card--plan .c-contact-card__plan-row {
  display: flex;
  align-items: flex-end;
  gap: 0;
  margin-block-start: -0.875rem;
  margin-inline-start: -0.1875rem;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan .c-contact-card__plan-row {
    align-items: baseline;
    gap: 0.625rem;
    margin-block-start: 0.25rem;
    margin-inline-start: 0;
  }
}

.c-contact-card--plan .c-contact-card__plan-en {
  font-family: var(--ff-en);
  font-size: clamp(calc(28 * var(--to-rem)), calc(-7.2091690544 * var(--to-rem) + 4.5845272206vw), calc(60 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.1333333333;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan .c-contact-card__plan-en {
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0.13em;
  }
}

.c-contact-card--plan .c-contact-card__title {
  margin-block-start: 0;
  margin-block-end: clamp(calc(4 * var(--to-rem)), calc(-11.4040114613 * var(--to-rem) + 2.005730659vw), calc(18 * var(--to-rem)));
  margin-inline-start: clamp(calc(4 * var(--to-rem)), calc(-9.2034383954 * var(--to-rem) + 1.7191977077vw), calc(16 * var(--to-rem)));
  font-size: clamp(calc(12 * var(--to-rem)), calc(2.0974212034 * var(--to-rem) + 1.2893982808vw), calc(21 * var(--to-rem)));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan .c-contact-card__title {
    translate: 0 -0.4375rem;
    margin-block-end: 0;
    margin-inline-start: 0;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
}

.c-contact-card--plan .c-contact-card__bg img {
  -o-object-position: center 28%;
     object-position: center 28%;
}
@media screen and (max-width: 767px) {
  .c-contact-card--plan .c-contact-card__bg img {
    -o-object-position: center 63%;
       object-position: center 63%;
  }
}

.c-contact-card--plan .c-contact-card__arrow {
  color: var(--color-white);
}

@media screen and (max-width: 767px) {
  .c-contact-card--plan::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    background-color: rgba(0, 0, 0, 0.2);
    pointer-events: none;
  }
}

.c-contact-card__bg,
.c-contact-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
}

.c-contact-card__bg {
  overflow: hidden;
}

.c-contact-card__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-contact-card__overlay {
  z-index: 1;
}

.c-contact-card--overlay-navy .c-contact-card__overlay {
  background-color: rgba(0, 24, 77, 0.7);
}

.c-contact-card--overlay-black .c-contact-card__overlay {
  background-color: rgba(0, 0, 0, 0.6);
}

.c-contact-card--overlay-white .c-contact-card__overlay {
  background-color: rgba(255, 255, 255, 0.65);
}

.c-contact-card__body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  width: 100%;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .c-contact-card__body {
    justify-items: start;
    width: auto;
  }
}

.c-contact-card--light .c-contact-card__body {
  margin-block-start: clamp(calc(0 * var(--to-rem)), calc(-66.0171919771 * var(--to-rem) + 8.5959885387vw), calc(60 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-contact-card--light .c-contact-card__body {
    margin-block-start: 0;
  }
}

.c-contact-card__en {
  max-width: 100%;
  min-width: 0;
  font-family: var(--ff-en);
  font-size: clamp(calc(14 * var(--to-rem)), calc(9.5988538682 * var(--to-rem) + 0.5730659026vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.8888888889;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .c-contact-card__en {
    font-size: 0.875rem;
    line-height: 2.1428571429;
    letter-spacing: 0.13em;
    white-space: nowrap;
  }
}

.c-contact-card__title {
  max-width: 100%;
  min-width: 0;
  margin-block-start: clamp(calc(8 * var(--to-rem)), calc(-0.8022922636 * var(--to-rem) + 1.1461318052vw), calc(16 * var(--to-rem)));
  font-size: clamp(calc(20 * var(--to-rem)), calc(15.5988538682 * var(--to-rem) + 0.5730659026vw), calc(24 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.1666666667;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-contact-card__title {
    margin-block-start: 0rem;
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.06em;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-white .c-contact-card__title {
    margin-block-start: 0.125rem;
  }
}

.c-contact-card__divider {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: clamp(calc(40 * var(--to-rem)), calc(13.5931232092 * var(--to-rem) + 3.4383954155vw), calc(64 * var(--to-rem)));
  margin-block-start: clamp(calc(8 * var(--to-rem)), calc(-0.8022922636 * var(--to-rem) + 1.1461318052vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-contact-card__divider {
    display: none;
  }
}

.c-contact-card__divider::before,
.c-contact-card__divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background-color: currentcolor;
}

.c-contact-card__divider-dot {
  flex-shrink: 0;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: currentcolor;
}

.c-contact-card__text {
  box-sizing: border-box;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  max-width: 21.3125rem;
  margin-block-start: clamp(calc(16 * var(--to-rem)), calc(1.6962750716 * var(--to-rem) + 1.8624641834vw), calc(29 * var(--to-rem)));
  font-size: clamp(calc(12 * var(--to-rem)), calc(9.7994269341 * var(--to-rem) + 0.2865329513vw), calc(14 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6428571429;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-contact-card__text {
    justify-self: start;
    width: auto;
    max-width: none;
    margin-block-start: 1.125rem;
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-navy .c-contact-card__text {
    width: min(68%, 11.8125rem);
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-black .c-contact-card__text {
    width: min(100%, 17.875rem);
    max-width: none;
    margin-block-start: 2rem;
  }
}

.c-contact-card--light .c-contact-card__text {
  width: 100%;
  max-width: 21.4375rem;
  margin-block-start: clamp(calc(16 * var(--to-rem)), calc(-0.5042979943 * var(--to-rem) + 2.1489971347vw), calc(31 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-contact-card--light .c-contact-card__text {
    width: 17.5625rem;
    max-width: none;
    margin-block-start: 1.125rem;
  }
}

.c-contact-card__figure {
  position: absolute;
  inset-block-end: 3.125rem;
  inset-inline: 0;
  z-index: 2;
  display: grid;
  justify-items: center;
  pointer-events: none;
}

.c-contact-card__figure--wide {
  inset-block-end: 3.75rem;
}

.c-contact-card__figure img {
  display: block;
  width: var(--c-contact-figure-w, auto);
  max-width: min(100%, clamp(calc(120 * var(--to-rem)), calc(-25.2378223496 * var(--to-rem) + 18.9111747851vw), calc(252 * var(--to-rem))));
  height: auto;
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-navy .c-contact-card__figure {
    inset-block-start: 3.3125rem;
    inset-block-end: auto;
    inset-inline: auto 0.625rem;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-navy .c-contact-card__figure img {
    width: 4.875rem;
    height: 6.9375rem;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center top;
       object-position: center top;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-black .c-contact-card__figure {
    inset-block-start: 2.25rem;
    inset-block-end: auto;
    inset-inline: auto 0.6875rem;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-black .c-contact-card__figure img {
    width: 7.75rem;
    height: 4.5rem;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}

.c-contact-card__arrow {
  position: absolute;
  inset-block-end: 1.8125rem;
  inset-inline-end: 1.375rem;
  z-index: 2;
  overflow: hidden;
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .c-contact-card__arrow {
    inset-block: auto 1rem;
    inset-inline-end: 0.9375rem;
    width: 1.875rem;
    height: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-card--overlay-white .c-contact-card__arrow {
    inset-block-end: 1.3125rem;
  }
}

.c-contact-card__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.c-contact-card__arrow-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.c-contact-card__arrow-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 91;
  stroke-dashoffset: 91;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.c-contact-card__arrow-icon {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.c-contact-card__arrow-icon::before,
.c-contact-card__arrow-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1.5px solid currentcolor;
  border-right: 1.5px solid currentcolor;
  translate: -70% -50%;
  rotate: 45deg;
}

.c-contact-card__arrow-icon::after {
  left: 50%;
}

.c-contact-card__arrow-icon::before {
  left: -50%;
}

@media (any-hover: hover) {
  .c-contact-card:hover .c-contact-card__arrow-circle {
    stroke-dashoffset: 0;
  }
  .c-contact-card:hover .c-contact-card__arrow-icon {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-contact-card__arrow-circle,
  .c-contact-card__arrow-icon {
    transition: none;
  }
}
/**
 * ブロックエディタ本文の共通スタイル
 * フロント・他テーマでも .c-entry-content を付ければ同じ見た目になる
 */
.c-entry-content > *:first-child {
  margin-block-start: 0;
}
.c-entry-content h1,
.c-entry-content h2,
.c-entry-content h3,
.c-entry-content h4,
.c-entry-content h5,
.c-entry-content h6 {
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.c-entry-content h1 {
  margin-block-start: 3rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h1 {
    margin-block-start: 2.25rem;
    font-size: 1.375rem;
  }
}
.c-entry-content h2 {
  position: relative;
  margin-block-start: 3rem;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid var(--color-border);
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h2 {
    margin-block-start: 2.25rem;
    padding-block-end: 0.625rem;
    font-size: 1.25rem;
  }
}
.c-entry-content h2::after {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-primary);
}
.c-entry-content h3 {
  margin-block-start: 2.5rem;
  padding-inline-start: 0.875rem;
  border-inline-start: 3px solid var(--color-primary);
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h3 {
    margin-block-start: 2rem;
    padding-inline-start: 0.75rem;
    font-size: 1.125rem;
  }
}
.c-entry-content h4 {
  margin-block-start: 2rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h4 {
    margin-block-start: 1.75rem;
    font-size: 1rem;
  }
}
.c-entry-content h5 {
  margin-block-start: 1.75rem;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h5 {
    margin-block-start: 1.5rem;
    font-size: 0.9375rem;
  }
}
.c-entry-content h6 {
  margin-block-start: 1.5rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .c-entry-content h6 {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.c-entry-content p {
  margin-block-start: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .c-entry-content p {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}
.c-entry-content ul,
.c-entry-content ol {
  margin-block-start: 1.25rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-entry-content ul,
  .c-entry-content ol {
    padding-inline-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.c-entry-content ul li + li,
.c-entry-content ol li + li {
  margin-block-start: 0.375rem;
}
.c-entry-content ul {
  list-style-type: disc;
}
.c-entry-content ul ::marker {
  color: var(--color-primary);
}
.c-entry-content ol {
  list-style-type: decimal;
}
.c-entry-content ol ::marker {
  color: var(--color-primary);
}
.c-entry-content a:not(.wp-block-button__link) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .c-entry-content a:not(.wp-block-button__link):hover {
    opacity: 0.7;
  }
}
.c-entry-content img,
.c-entry-content .wp-block-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-block-start: 2rem;
}
.c-entry-content .wp-block-image {
  margin-block-start: 2rem;
}
.c-entry-content figure {
  margin-block-start: 2rem;
}
.c-entry-content figcaption {
  margin-block-start: 0.5rem;
  color: #666;
  font-size: 0.875rem;
  line-height: 1.6;
}
.c-entry-content blockquote {
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.25rem;
  border-inline-start: 3px solid var(--color-primary);
  border-radius: 0.25rem;
  background-color: #eff4f9;
  color: var(--color-text);
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .c-entry-content blockquote {
    padding-inline-start: 1rem;
    padding-inline-end: 0.875rem;
  }
}
.c-entry-content blockquote p {
  margin-block-start: 0;
}
.c-entry-content blockquote blockquote {
  margin-block-start: 0.75rem;
  padding-block: 0;
  padding-inline-start: 1rem;
  padding-inline-end: 0;
  border-radius: 0;
  background-color: transparent;
  font-style: inherit;
}
.c-entry-content code {
  padding-block: 0.125rem;
  padding-inline: 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
}
.c-entry-content pre {
  overflow-x: auto;
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 0.5rem;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-family: ui-monospace, monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
.c-entry-content pre code {
  padding: 0;
  background-color: transparent;
}
.c-entry-content table {
  width: 100%;
  margin-block-start: 2rem;
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-entry-content table {
    font-size: 0.8125rem;
  }
}
.c-entry-content th,
.c-entry-content td {
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid var(--color-border);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-entry-content th,
  .c-entry-content td {
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
  }
}
.c-entry-content th:not([class*=has-text-align]),
.c-entry-content td:not([class*=has-text-align]) {
  text-align: start;
}
.c-entry-content .wp-block-table {
  overflow-x: auto;
  margin-block-start: 2rem;
  -webkit-overflow-scrolling: touch;
}
.c-entry-content .wp-block-table table {
  margin-block-start: 0;
}
.c-entry-content .wp-block-table td,
.c-entry-content .wp-block-table th {
  border: 1px solid #d8dde5;
}
.c-entry-content .wp-block-table thead {
  border-block-end: none;
}
.c-entry-content .wp-block-table thead th {
  background-color: var(--color-primary);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white);
  font-weight: 700;
}
.c-entry-content .wp-block-table tbody th {
  background-color: #eef3f9;
  color: var(--color-text);
  font-weight: 700;
}
.c-entry-content .wp-block-table tbody td {
  background-color: var(--color-white);
}
.c-entry-content .wp-block-table tbody tr:nth-child(even) td {
  background-color: #f5f8fc;
}
.c-entry-content .wp-block-table tbody tr:nth-child(even) th {
  background-color: #e4ecf6;
}
.c-entry-content th {
  background-color: var(--color-gray);
  font-weight: 700;
}
.c-entry-content hr {
  margin-block-start: 2.5rem;
  border: none;
  border-block-start: 1px solid var(--color-border);
}
.c-entry-content strong {
  font-weight: 700;
}
.c-entry-content em {
  font-style: italic;
}
.c-entry-content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block-start: 2rem;
}
.c-entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-block: 0.75rem;
  padding-inline: 1.75rem;
  border: 1px solid var(--color-text);
  border-radius: 0.25rem;
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background-color var(--duration), color var(--duration);
}
@media (any-hover: hover) {
  .c-entry-content .wp-block-button__link:hover {
    background-color: var(--color-white);
    color: var(--color-text);
  }
}
.c-entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--color-text);
}
@media (any-hover: hover) {
  .c-entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
}
.c-entry-content .wp-block-quote,
.c-entry-content .wp-block-pullquote {
  margin-block-start: 2rem;
}
.c-entry-content .wp-block-quote .wp-block-quote,
.c-entry-content .wp-block-quote .wp-block-pullquote,
.c-entry-content .wp-block-quote blockquote,
.c-entry-content .wp-block-pullquote .wp-block-quote,
.c-entry-content .wp-block-pullquote .wp-block-pullquote,
.c-entry-content .wp-block-pullquote blockquote {
  margin-block-start: 0.75rem;
}
.c-entry-content .wp-block-embed,
.c-entry-content .wp-block-video,
.c-entry-content .wp-block-audio {
  margin-block-start: 2rem;
}

.c-event-card__item {
  height: 100%;
}

.c-event-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--color-text);
  text-decoration: none;
}

@media (any-hover: hover) {
  .c-event-card:hover .c-event-card__more-line {
    transform: scaleX(1.05);
  }
}
.c-event-card__image {
  overflow: hidden;
  border-radius: 0.375rem;
  aspect-ratio: 400/267;
}
@media screen and (max-width: 767px) {
  .c-event-card__image {
    aspect-ratio: 335/223;
  }
}
.c-event-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.c-event-card__body {
  flex-grow: 1;
  padding-inline: clamp(calc(8 * var(--to-rem)), calc(-11.4123222749 * var(--to-rem) + 1.8957345972vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-event-card__body {
    padding-inline: 0;
  }
}

.c-event-card__tags {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.c-event-card__tag {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 5.5rem;
  height: 1.875rem;
  margin-block-start: 0.875rem;
  padding: 0.25rem 0.625rem;
  background-color: #fff399;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-event-card__tag {
    min-width: 4.75rem;
    height: 1.625rem;
    margin-block-start: 1.25rem;
    padding-inline: 0.5rem;
    font-size: 0.75rem;
  }
}

.c-event-card__tag--store {
  border: 1px solid var(--color-primary);
  background-color: transparent;
  color: var(--color-primary);
}

.c-event-card__title {
  margin-block-start: 0.6875rem;
  font-size: clamp(calc(16 * var(--to-rem)), calc(13.1127819549 * var(--to-rem) + 0.3759398496vw), calc(18 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.06em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-event-card__title {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0.06em;
  }
}

.c-event-card__date {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  margin-block-start: 0.875rem;
  font-family: var(--ff-en);
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-event-card__date {
    margin-block-start: 0.9375rem;
  }
}

.c-event-card__year {
  margin-inline-end: clamp(calc(3 * var(--to-rem)), calc(-7.1052631579 * var(--to-rem) + 1.3157894737vw), calc(10 * var(--to-rem)));
  font-size: clamp(calc(10 * var(--to-rem)), calc(1.3383458647 * var(--to-rem) + 1.1278195489vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-event-card__year {
    margin-inline-end: 0.375rem;
    font-size: 0.8125rem;
  }
}

.c-event-card__weekday {
  font-size: clamp(calc(10 * var(--to-rem)), calc(1.3383458647 * var(--to-rem) + 1.1278195489vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-event-card__weekday {
    font-size: 0.8125rem;
  }
}

.c-event-card__tilde {
  margin-inline: 0 clamp(calc(2 * var(--to-rem)), calc(-0.8872180451 * var(--to-rem) + 0.3759398496vw), calc(4 * var(--to-rem)));
  font-size: clamp(calc(10 * var(--to-rem)), calc(1.3383458647 * var(--to-rem) + 1.1278195489vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-event-card__tilde {
    margin-inline: 0.25rem;
    font-size: 0.8125rem;
  }
}

.c-event-card__day {
  font-size: clamp(calc(19 * var(--to-rem)), calc(0.2330827068 * var(--to-rem) + 2.4436090226vw), calc(32 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-event-card__day {
    font-size: 1.625rem;
  }
}

.c-event-card__date-text {
  margin-block-start: 0.875rem;
  font-size: clamp(calc(15 * var(--to-rem)), calc(4.8947368421 * var(--to-rem) + 1.3157894737vw), calc(22 * var(--to-rem)));
  line-height: 1.45;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-event-card__date-text {
    margin-block-start: 0.9375rem;
    font-size: 1.125rem;
  }
}

.c-event-card__more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-block-start: 1.75rem;
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-event-card__more {
    justify-content: flex-start;
    gap: 0.875rem;
    margin-block-start: 1.5rem;
    padding-inline: 0.75rem 0;
  }
}

.c-event-card__more-line {
  flex: 0 1 auto;
  flex-basis: 13.875rem;
  align-self: center;
  min-width: 2.5rem;
  height: 0.625rem;
  transform-origin: left center;
  transition: transform var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .c-event-card__more-line {
    flex: 1 1 auto;
    flex-basis: auto;
    width: min(100%, 13.90625rem);
    max-width: 13.90625rem;
  }
}
.c-event-card__more-line svg {
  display: block;
  width: 100%;
  height: 0.625rem;
}

@media (prefers-reduced-motion: reduce) {
  .c-event-card__more-line {
    transition: none;
  }
}
.c-modelhouse-card {
  display: grid;
}

.c-modelhouse-card__link {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  overflow: hidden;
  border-radius: 0.375rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  text-decoration: none;
  aspect-ratio: 400/446;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__link {
    aspect-ratio: 160/200;
  }
}

.c-modelhouse-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
}

.c-modelhouse-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(18, 62, 107, 0) 45%, rgba(18, 62, 107, 0.85) 82%, var(--color-primary) 100%);
  pointer-events: none;
}

.c-modelhouse-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform var(--duration);
}

.c-modelhouse-card__body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
  margin-block-start: -5.625rem;
  padding: 0 1.375rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__body {
    margin-block-start: -3rem;
    padding: 0 0.75rem 0.875rem;
  }
}

.c-modelhouse-card__heading {
  font-size: clamp(calc(18 * var(--to-rem)), calc(10.7203791469 * var(--to-rem) + 0.7109004739vw), calc(21 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__heading {
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
}

.c-modelhouse-card__place {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 0.125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__place {
    gap: 0.375rem;
    margin-block-start: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.5833333333;
    letter-spacing: 0.06em;
  }
}

.c-modelhouse-card__pin {
  flex-shrink: 0;
  width: 0.8125rem;
  height: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__pin {
    width: 0.6875rem;
    height: 0.875rem;
  }
}

.c-modelhouse-card__schedule {
  margin-block-start: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-modelhouse-card__schedule {
    margin-block-start: 0.25rem;
    font-size: 0.6875rem;
    line-height: 1.5454545455;
    letter-spacing: 0.06em;
  }
}

@media (any-hover: hover) {
  .c-modelhouse-card__link:hover .c-modelhouse-card__image img {
    transform: scale(1.05);
  }
}
.c-movie-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  color: var(--color-text);
  text-align: left;
}
@media (any-hover: hover) {
  .c-movie-card:hover .c-movie-card__image {
    transform: scale(1.03);
  }
  .c-movie-card:hover .c-movie-card__play {
    background-color: rgba(0, 0, 0, 0.75);
  }
}

.c-movie-card__open {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.c-movie-card__open:focus-visible {
  outline: 2px solid var(--color-text);
  outline-offset: 4px;
}

.c-movie-card__image-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 0.375rem;
  aspect-ratio: 16/9;
  background-color: #e8e8e8;
}

.c-movie-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.35s var(--easing);
}

.c-movie-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.65);
  transform: translate(-50%, -50%);
  transition: background-color 0.25s var(--easing);
}
.c-movie-card__play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 0;
  height: 0;
  border-top: 0.5rem solid transparent;
  border-bottom: 0.5rem solid transparent;
  border-left: 0.75rem solid var(--color-white);
  transform: translate(-50%, -50%);
}

.c-movie-card__body {
  display: grid;
  gap: 0.5rem;
  padding-block-start: 0.875rem;
  padding-inline: clamp(calc(8 * var(--to-rem)), calc(-11.4123222749 * var(--to-rem) + 1.8957345972vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-movie-card__body {
    padding-inline: 0;
  }
}

.c-movie-card__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-movie-card__title {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}

.c-movie-dialog,
.c-movie-dialog[open] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  margin: 0;
  padding: 2.5rem 1.5rem;
  border: 0;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog,
  .c-movie-dialog[open] {
    padding: 0;
  }
}

.c-movie-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.86);
}

.c-movie-dialog__panel {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  row-gap: 0.75rem;
  width: min(100%, 73.75rem);
  padding: 0;
  background-color: transparent;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__panel {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto auto;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 0.5rem;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    pointer-events: none;
  }
}

.c-movie-dialog__head {
  grid-column: 2;
  display: grid;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__head {
    grid-column: 1/-1;
    grid-row: 1;
    align-self: end;
    padding-inline: 0.75rem;
    pointer-events: auto;
  }
}

.c-movie-dialog__title {
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__title {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}

.c-movie-dialog__title:empty {
  display: none;
}

.c-movie-dialog__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.c-movie-dialog__close::before,
.c-movie-dialog__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.125rem;
  height: 2px;
  background-color: var(--color-white);
}

.c-movie-dialog__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-movie-dialog__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-movie-dialog__nav {
  grid-row: 2;
  align-self: center;
  justify-self: center;
  width: 2.5rem;
  height: 5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-white);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__nav {
    grid-row: 3;
    align-self: stretch;
    justify-self: stretch;
    display: flex;
    align-items: center;
    width: 100%;
    height: 3.25rem;
    background-color: #1a1a1a;
    pointer-events: auto;
  }
}

.c-movie-dialog__nav::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline: auto;
  border-top: 2px solid currentcolor;
  border-right: 2px solid currentcolor;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__nav::after {
    width: 0.75rem;
    height: 0.75rem;
    margin-inline: 0;
  }
}

.c-movie-dialog__nav--prev {
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__nav--prev {
    justify-content: flex-start;
    padding-inline-start: 1rem;
  }
}

.c-movie-dialog__nav--prev::after {
  transform: rotate(-135deg);
}

.c-movie-dialog__nav--next {
  grid-column: 3;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__nav--next {
    grid-column: 2;
    justify-content: flex-end;
    padding-inline-end: 1rem;
  }
}

.c-movie-dialog__nav--next::after {
  transform: rotate(45deg);
}

.c-movie-dialog__frame {
  position: relative;
  grid-column: 2;
  overflow: hidden;
  aspect-ratio: 16/9;
  background-color: var(--color-black);
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__frame {
    grid-column: 1/-1;
    grid-row: 2;
    width: 100%;
    pointer-events: auto;
  }
}

.c-movie-dialog__slide {
  position: absolute;
  inset: 0;
  transform: translateX(100%);
}

.c-movie-dialog__slide.is-current {
  transform: translateX(0);
}

.c-movie-dialog__slide.is-animate {
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.c-movie-dialog__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.c-movie-dialog__thumbs {
  display: flex;
  grid-column: 2;
  gap: 0;
  overflow-x: auto;
  padding-block-start: 0.5rem;
  list-style-type: "";
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__thumbs {
    grid-column: 1/-1;
    grid-row: 5;
    flex-shrink: 0;
    width: 100%;
    padding-block: 0.5rem max(0.75rem, env(safe-area-inset-bottom));
    background-color: #111;
    pointer-events: auto;
  }
}

.c-movie-dialog__thumb-item {
  flex: 0 0 auto;
  width: 10%;
  min-width: 4.5rem;
}
@media screen and (max-width: 767px) {
  .c-movie-dialog__thumb-item {
    width: 30vw;
    min-width: 6rem;
  }
}

.c-movie-dialog__thumb {
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 0;
  border: 3px solid transparent;
  background: transparent;
  cursor: pointer;
}

.c-movie-dialog__thumb.is-active {
  border-color: var(--color-white);
}

.c-movie-dialog__thumb-image {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}

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

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

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

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

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

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

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

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

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

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

.c-pagination__item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2.75rem;
  min-width: 2.75rem;
  padding: 0 0.75rem;
  border: 1px solid var(--_pagination-border);
  background-color: var(--_pagination-bg);
  color: var(--_pagination-text);
  font-size: 0.9375rem;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .c-pagination__item {
    height: 2.5rem;
    min-width: 2.5rem;
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .c-pagination__item:hover:not([data-state=current]) {
    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] {
  min-width: auto;
  padding-inline: 0.5rem;
  border-color: transparent;
  background-color: transparent;
  font-weight: 500;
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=prev]:hover:not([aria-disabled=true]),
  .c-pagination__item[data-state=next]:hover:not([aria-disabled=true]) {
    border-color: transparent;
    background-color: transparent;
    color: var(--_pagination-text-hover);
  }
}
.c-pagination__item[data-state=prev][aria-disabled=true],
.c-pagination__item[data-state=next][aria-disabled=true] {
  opacity: 0.6;
  cursor: default;
}

.c-plan-card {
  display: block;
}

.c-plan-card__link {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.375rem;
  color: var(--color-white);
  text-decoration: none;
}

.c-plan-card__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(37, 37, 37, 0) 46.154%, rgba(37, 37, 37, 0.8) 75%);
  pointer-events: none;
}

.c-plan-card__image {
  width: 100%;
  aspect-ratio: 430/446;
  min-height: 18.75rem;
}
@media screen and (max-width: 767px) {
  .c-plan-card__image {
    aspect-ratio: 335/260;
    min-height: 0;
  }
}

.c-plan-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.c-plan-card__body {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 0rem 1.625rem 2.125rem;
}
@media screen and (max-width: 767px) {
  .c-plan-card__body {
    padding: 0 1.25rem 1.125rem;
  }
}

.c-plan-card__category {
  display: inline-block;
  padding: 0.25rem 0.6875rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.15em;
}

.c-plan-card__heading {
  margin-block-start: 0.5rem;
  font-size: clamp(calc(18 * var(--to-rem)), calc(10.7203791469 * var(--to-rem) + 0.7109004739vw), calc(21 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  .c-plan-card__heading {
    padding-block-end: 0.375rem;
  }
}

.c-plan-card__price {
  display: flex;
  align-items: flex-end;
  gap: clamp(calc(4 * var(--to-rem)), calc(-5.7061611374 * var(--to-rem) + 0.9478672986vw), calc(8 * var(--to-rem)));
  margin-block-start: 0.625rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-plan-card__price {
    gap: 0.375rem;
    margin-block-start: 0.125rem;
  }
}

.c-plan-card__price-label,
.c-plan-card__price-unit {
  font-size: clamp(calc(10 * var(--to-rem)), calc(0.2938388626 * var(--to-rem) + 0.9478672986vw), calc(14 * var(--to-rem)));
  line-height: 1.9285714286;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-plan-card__price-label,
  .c-plan-card__price-unit {
    padding-block-end: 0.125rem;
  }
}

.c-plan-card__price-value {
  font-family: var(--ff-en);
  font-size: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  font-weight: 400;
  line-height: 0.9722222222;
}
@media screen and (max-width: 767px) {
  .c-plan-card__price-value {
    font-size: 2.25rem;
    line-height: 0.9722222222;
  }
}

.c-plan-card--list {
  border: 1px solid #ddd;
  border-radius: 0;
  background-color: var(--color-white);
  color: var(--color-text);
}

.c-plan-card--list .c-plan-card__link {
  overflow: visible;
  border-radius: 0;
  color: inherit;
}

.c-plan-card--list .c-plan-card__link::after {
  content: none;
}

.c-plan-card--list .c-plan-card__image {
  aspect-ratio: 4/3;
  min-height: auto;
}

.c-plan-card--list .c-plan-card__body {
  position: static;
  padding: 1.5rem;
  color: var(--color-text);
}

.c-plan-card--list .c-plan-card__category {
  border-color: #999;
  color: #666;
}

.c-plan-card--list .c-plan-card__heading {
  margin-block-start: 0.3125rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.c-plan-card--list .c-plan-card__price {
  display: none;
}

.c-plan-card--list .c-plan-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-block-start: 0.5rem;
  padding-block-end: 0.1875rem;
  border-block-end: 1px solid var(--color-text);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.8;
}

.c-plan-card--list .c-plan-card__more-icon::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-block-start: 1.5px solid currentcolor;
  border-inline-end: 1.5px solid currentcolor;
  rotate: 45deg;
}

.c-related-cards {
  padding-block: 3.125rem 5.875rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .c-related-cards {
    padding-block: 2.5rem 4rem;
  }
}

.c-related-cards__inner {
  width: min(100%, 67.125rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__inner {
    width: min(100%, 38.5rem);
    padding-inline: 1.75rem;
  }
}

.c-related-cards__head .c-section-title {
  gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__head .c-section-title {
    gap: 1.25rem;
  }
}

.c-related-cards__head .c-section-title__heading {
  font-size: 1.625rem;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-related-cards__head .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.c-related-cards__heading {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.8333333333;
  letter-spacing: 0.12em;
}

.c-related-cards__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 28.9375rem));
  gap: 2.9375rem;
  margin-block-start: 1.1875rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8125rem;
    margin-block-start: 1.0625rem;
  }
}

.c-related-cards__list--cols-1 {
  grid-template-columns: minmax(0, 1fr);
}

.c-related-cards__card {
  display: grid;
  grid-template-columns: clamp(calc(100 * var(--to-rem)), calc(-200 * var(--to-rem) + 39.0625vw), calc(200 * var(--to-rem))) minmax(0, 1fr);
  gap: clamp(calc(14 * var(--to-rem)), calc(2 * var(--to-rem) + 1.5625vw), calc(18 * var(--to-rem))) clamp(calc(16 * var(--to-rem)), calc(-38 * var(--to-rem) + 7.03125vw), calc(34 * var(--to-rem)));
  padding: 0.9375rem 1.375rem 0.9375rem 1.5625rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card {
    grid-template-columns: 8.9375rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0.75rem 1.0625rem;
    position: relative;
    padding: 1.125rem 1.0625rem 4rem;
    overflow: visible;
  }
}

.c-related-cards__card-image {
  grid-column: 1;
  overflow: hidden;
  width: min(12.5rem, 100%);
  height: auto;
  aspect-ratio: 200/112;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-image {
    grid-row: 1;
    width: 8.9375rem;
    height: 5rem;
  }
}

.c-related-cards__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.c-related-cards__card-head {
  grid-column: 2;
  align-self: center;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-head {
    grid-row: 1;
    align-self: start;
    padding-block-start: 0.625rem;
  }
}

.c-related-cards__card-label {
  color: #a4a4a4;
  font-family: var(--ff-en);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.13em;
}

.c-related-cards__card-title {
  margin-block-start: 0.3125rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1666666667;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-title {
    margin-block-start: 0.4375rem;
    font-size: 1.125rem;
  }
}

.c-related-cards__card-bottom {
  display: flex;
  grid-column: 1/-1;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-bottom {
    display: block;
    grid-row: 2;
  }
}

.c-related-cards__card-text {
  flex: 0 1 14.125rem;
  max-width: 14.125rem;
  min-width: 0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6428571429;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-text {
    width: 14.125rem;
    max-width: 14.125rem;
  }
}

.c-related-cards__card--wide-text .c-related-cards__card-text {
  flex-basis: 15.8125rem;
  max-width: 15.8125rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card--wide-text .c-related-cards__card-text {
    width: min(100%, 15.8125rem);
    max-width: 15.8125rem;
  }
}

.c-related-cards__card-more {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1.5rem;
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .c-related-cards__card-more {
    position: absolute;
    inset-inline-end: 0.875rem;
    inset-block-end: 1.0625rem;
    z-index: 1;
  }
}

.c-related-cards__card-more-icon {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
}

.c-related-cards__card-more-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.c-related-cards__card-more-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.c-related-cards__card-more-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.c-related-cards__card-more-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.c-related-cards__card-more-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

@media (any-hover: hover) {
  .c-related-cards__card:hover .c-related-cards__card-more-circle {
    stroke-dashoffset: 0;
  }
  .c-related-cards__card:hover .c-related-cards__card-more-arrow {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-related-cards__card-more-circle,
  .c-related-cards__card-more-arrow {
    transition: none;
  }
}
.c-related-cards--minimal .c-related-cards__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards--minimal .c-related-cards__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
}

.c-related-cards--minimal .c-related-cards__card {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 1.125rem;
  align-items: stretch;
  min-height: 8.75rem;
  padding: 0.9375rem 1.375rem 0.9375rem 1.5625rem;
}
@media screen and (max-width: 767px) {
  .c-related-cards--minimal .c-related-cards__card {
    grid-template-rows: auto auto;
    gap: 0.75rem;
    position: relative;
    min-height: auto;
    padding: 1.125rem 1.0625rem 4rem;
    overflow: visible;
  }
}

.c-related-cards--minimal .c-related-cards__card-head {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}
@media screen and (max-width: 767px) {
  .c-related-cards--minimal .c-related-cards__card-head {
    padding-block-start: 0;
  }
}

.c-related-cards--minimal .c-related-cards__card-bottom {
  display: flex;
  grid-column: 1;
  grid-row: 2;
  align-items: flex-end;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .c-related-cards--minimal .c-related-cards__card-bottom {
    display: block;
    grid-row: 2;
  }
}

@media screen and (max-width: 767px) {
  .c-related-cards--minimal .c-related-cards__card-more {
    position: absolute;
    inset-inline-end: 0.875rem;
    inset-block-end: 1.0625rem;
    z-index: 1;
  }
}

.c-section-title {
  display: grid;
  gap: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  justify-items: start;
  max-width: 100%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-section-title {
    gap: 1.25rem;
  }
}
.c-section-title[data-align=center] {
  justify-items: center;
  text-align: center;
}
.c-section-title[data-align=right] {
  justify-items: end;
  text-align: right;
}

.c-section-title__en {
  max-width: 100%;
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  background-image: linear-gradient(110deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .c-section-title__en {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.7142857143;
  }
}

.c-section-title__heading {
  max-width: 100%;
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: clamp(calc(24 * var(--to-rem)), calc(4.5876777251 * var(--to-rem) + 1.8957345972vw), calc(32 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.c-staff-card__item {
  height: 100%;
}

.c-staff-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--color-text);
}

.c-staff-card__image {
  overflow: hidden;
  border-radius: 0.375rem;
  aspect-ratio: 3/4;
}
.c-staff-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.c-staff-card__body {
  padding-inline: clamp(calc(8 * var(--to-rem)), calc(-11.4123222749 * var(--to-rem) + 1.8957345972vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .c-staff-card__body {
    padding-inline: 0.5rem;
  }
}

.c-staff-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-staff-card__meta {
    margin-block-start: 0.5rem;
  }
}

.c-staff-card__meta-text {
  flex: 1;
  min-width: 0;
}

.c-staff-card__role {
  color: #666;
  font-size: 0.6875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.c-staff-card__name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .c-staff-card__name {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.c-staff-card__instagram {
  flex-shrink: 0;
  line-height: 0;
  color: var(--color-text);
}
@media (any-hover: hover) {
  .c-staff-card__instagram:hover {
    opacity: 0.7;
  }
}

.c-staff-card__instagram-icon {
  display: block;
  width: 1.625rem;
  height: 1.625rem;
}
.c-staff-card__instagram-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.c-staff-card__message {
  margin-block-start: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5357142857;
  letter-spacing: 0.04em;
}

.c-subsection-title {
  position: relative;
  padding-block-end: 0.8125rem;
  border-block-end: 1px solid #ccc;
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 3.1111111111;
  letter-spacing: 0.04em;
}
.c-subsection-title::after {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 15.625rem;
  height: 0.1875rem;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .c-subsection-title {
    padding-block-end: 0.625rem;
    font-size: 1rem;
    line-height: 2.5;
    letter-spacing: 0.04em;
  }
  .c-subsection-title::after {
    width: 7.5rem;
    height: 0.125rem;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.p-single__back {
  margin-block-start: calc(48 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .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 (max-width: 767px) {
  .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 (max-width: 767px) {
  .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: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .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 (max-width: 767px) {
  .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 (max-width: 767px) {
  .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: 500;
}

.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 (max-width: 767px) {
  .p-archive--works .p-archive__technology {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-bottom-nav {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-bottom-nav {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: calc(var(--z-index-header) + 1);
    display: block;
    translate: 0 100%;
    transition: translate 0.35s var(--easing);
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  .p-bottom-nav.is-visible {
    translate: 0 0;
    pointer-events: auto;
  }
}

.p-bottom-nav[hidden] {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .p-bottom-nav {
    transition: none;
  }
}
.p-bottom-nav__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-bottom-nav__link {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  min-height: 3.75rem;
  padding-block: 0.75rem;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2.5714285714;
  letter-spacing: 0.02em;
  text-align: center;
}

.p-bottom-nav__link--catalog {
  background-color: #3383d4;
}

.p-bottom-nav__link--event {
  background-color: var(--color-primary);
}

.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 (max-width: 767px) {
  .p-card-list {
    gap: calc(32 * var(--to-rem));
  }
}

.p-column-archive__list {
  padding-block: 6.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-column-archive__list {
    padding-block: 3rem 3.75rem;
  }
}

.p-column-archive__filters {
  margin-block-end: 4rem;
}
@media screen and (max-width: 767px) {
  .p-column-archive__filters {
    margin-block-end: 2rem;
  }
}

.p-column-archive__filter-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  list-style-type: "";
}
@media screen and (max-width: 767px) {
  .p-column-archive__filter-list {
    justify-content: flex-start;
    overflow-x: auto;
    padding-block-end: 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
}

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

.p-column-archive__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.375rem 0.4375rem;
  padding-inline: 0.9375rem;
  border: 1px solid #c5d0d3;
  border-radius: 0.25rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.7;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--duration), background-color var(--duration), border-color var(--duration);
}
@media (any-hover: hover) {
  .p-column-archive__filter:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
  }
}

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

.p-column-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(calc(28 * var(--to-rem)), calc(8.5876777251 * var(--to-rem) + 1.8957345972vw), calc(36 * var(--to-rem))) clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  list-style-type: "";
}
@media screen and (max-width: 767px) {
  .p-column-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
}

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

@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card {
    grid-template-columns: 8.75rem minmax(0, 1fr);
    grid-template-rows: 8.75rem auto;
    min-height: 12.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card__image {
    width: 8.75rem;
    height: 8.75rem;
  }
}

.p-column-archive .c-column-card__body {
  padding: 2rem 1.75rem 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card__body {
    padding: 1rem 1.125rem 0;
  }
}

.p-column-archive .c-column-card__date {
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card__date {
    font-size: 1.125rem;
  }
}

.p-column-archive .c-column-card__heading {
  margin-block-start: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card__heading {
    margin-block-start: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.p-column-archive .c-column-card__tags {
  padding: 1.125rem 1.75rem 1.375rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-column-archive .c-column-card__tags {
    padding: 0.5rem 0.9375rem 0.5rem;
  }
}

.p-comfort-closing {
  background-color: var(--color-white);
}

.p-comfort-closing__media {
  overflow: hidden;
  width: 100vw;
  height: 38.6875rem;
  margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-comfort-closing__media {
    height: 13.125rem;
  }
}

.p-comfort-closing__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-comfort-closing__body {
  padding-block-start: 5.6875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-comfort-closing__body {
    padding-block: 2.0625rem 2.75rem;
    padding-inline: 1.75rem;
  }
}

.p-comfort-closing__heading {
  max-width: 29.875rem;
  margin-inline: auto;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(82.97deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-comfort-closing__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-comfort-closing__heading {
    max-width: 20.8125rem;
    font-size: 1.3125rem;
    line-height: 1.8571428571;
    letter-spacing: 0.12em;
  }
}

.p-comfort-closing__lead {
  max-width: 42.25rem;
  margin-block-start: 2.75rem;
  margin-inline: auto;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-comfort-closing__lead {
    max-width: 35rem;
    margin-block-start: 1.5rem;
    font-size: 0.875rem;
    line-height: 1.6428571429;
    text-align: center;
  }
}

.p-comfort-related {
  margin-block-start: 4.9375rem;
}
@media screen and (max-width: 767px) {
  .p-comfort-related {
    margin-block-start: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-comfort-related .c-related-cards {
    padding-block-end: 2rem;
  }
}

.p-comfort-related__action {
  margin-block-start: 2.625rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-comfort-related__action {
    margin-block: 2rem 0.625rem;
  }
}

.p-comfort-related__button {
  width: min(100%, 25rem);
  margin-inline: auto;
}
.p-comfort-related__button .c-button {
  --c-button-image: url("../images/image_comfort_related_back_bg.webp");
  color: var(--color-white);
  text-decoration: none;
}
.p-comfort-related__button .c-button__text {
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-comfort-related__button {
    width: 100%;
  }
  .p-comfort-related__button .c-button {
    min-height: 4.5rem;
    padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  }
}

.p-comfort-science {
  padding-block-start: 5.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-comfort-science {
    padding-block: 1.5rem 4.8125rem;
  }
}

.p-comfort-science__inner {
  width: min(100%, 81.25rem);
}
@media screen and (max-width: 767px) {
  .p-comfort-science__inner {
    width: min(100%, 38.5rem);
  }
}

.p-comfort-science__heading {
  max-width: 34.625rem;
  margin-inline: auto;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  text-align: center;
  background-image: linear-gradient(74.047deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-comfort-science__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-comfort-science__heading {
    font-size: 1.5rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

.p-comfort-science__lead {
  max-width: 42.25rem;
  margin-block-start: 2.25rem;
  margin-inline: auto;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-comfort-science__lead {
    margin-block-start: 2.25rem;
    font-size: 0.875rem;
    line-height: 2.1428571429;
  }
}

.p-comfort-science__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 21.25rem));
  justify-content: center;
  gap: clamp(calc(16 * var(--to-rem)), calc(-23.6103151862 * var(--to-rem) + 5.1575931232vw), calc(52 * var(--to-rem)));
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-comfort-science__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-block-start: 3.25rem;
    width: min(100%, 20.9375rem);
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-comfort-science__item + .p-comfort-science__item {
    margin-block-start: 4.125rem;
  }
  .p-comfort-science__item:nth-child(3) {
    margin-block-start: 4.0625rem;
  }
}
.p-comfort-science__item {
  display: grid;
  justify-items: center;
  width: 100%;
  max-width: 100%;
}

.p-comfort-science__circle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: clamp(calc(212 * var(--to-rem)), calc(71.1633237822 * var(--to-rem) + 18.3381088825vw), calc(340 * var(--to-rem)));
  aspect-ratio: 1;
  margin-block-end: 2.875rem;
  border-radius: 50%;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .p-comfort-science__circle {
    width: 100%;
    max-width: 20.9375rem;
    margin-block-end: 2.75rem;
  }
}

.p-comfort-science__bg-hover {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 50%;
  background-color: var(--color-white);
  opacity: 0;
  box-shadow: 0 0.625rem 2.5rem -0.625rem rgba(18, 62, 107, 0.12);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-comfort-science__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-comfort-science__ring-base {
  fill: none;
  stroke: #d9d9d9;
  stroke-width: 3;
}

.p-comfort-science__svg--draw {
  transform: rotate(-90deg);
  transform-origin: center;
  transform-box: fill-box;
  transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-comfort-science__ring-draw {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1059;
  stroke-dashoffset: 1059;
  transition: stroke-dashoffset 1s cubic-bezier(0.19, 1, 0.22, 1);
}

.p-comfort-science__content {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  max-width: clamp(calc(177 * var(--to-rem)), calc(76.8739255014 * var(--to-rem) + 13.0372492837vw), calc(268 * var(--to-rem)));
  text-align: center;
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .p-comfort-science__content {
    max-width: min(100%, 15.6875rem);
    inset-block-start: -0.75rem;
  }
}

.p-comfort-science__label {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(10 * var(--to-rem)), calc(3.3982808023 * var(--to-rem) + 0.8595988539vw), calc(16 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: color 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-comfort-science__label {
    font-size: 0.875rem;
    letter-spacing: 0.13em;
  }
}

.p-comfort-science__title {
  margin-block-start: 0.875rem;
  color: var(--color-primary);
  font-size: clamp(calc(10 * var(--to-rem)), calc(1.1977077364 * var(--to-rem) + 1.1461318052vw), calc(18 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  font-feature-settings: "pwid";
}
@media screen and (max-width: 767px) {
  .p-comfort-science__title {
    margin-block-start: 1rem;
    font-size: 1rem;
    letter-spacing: 0;
  }
}

.p-comfort-science__text {
  margin-block-start: 0.5rem;
  color: var(--color-text);
  font-size: clamp(calc(8 * var(--to-rem)), calc(1.3982808023 * var(--to-rem) + 0.8595988539vw), calc(14 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-comfort-science__text {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
}

.p-comfort-science__arrow {
  position: absolute;
  bottom: 2.25rem;
  left: 50%;
  z-index: 1;
  width: clamp(calc(10 * var(--to-rem)), calc(0.0974212034 * var(--to-rem) + 1.2893982808vw), calc(19 * var(--to-rem)));
  height: auto;
  aspect-ratio: 19/20;
  opacity: 0;
  transform: translate(-50%, 1rem);
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-comfort-science__arrow {
    width: 1rem;
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.p-comfort-science__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}

.p-comfort-science__line {
  position: absolute;
  bottom: -4.5625rem;
  left: 50%;
  overflow: hidden;
  width: 1px;
  height: 2.875rem;
  background-color: #d9d9d9;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-comfort-science__line {
    bottom: -4.25rem;
    height: 2.75rem;
  }
}

.p-comfort-science__line-flow {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: linear-gradient(to bottom, transparent, rgba(18, 62, 107, 0.8), transparent);
  transition: opacity 0.7s ease;
}

@media (any-hover: hover) {
  .p-comfort-science__item:hover .p-comfort-science__circle,
  .p-comfort-science__item:focus-within .p-comfort-science__circle {
    transform: scale(1.02);
  }
  .p-comfort-science__item:hover .p-comfort-science__bg-hover,
  .p-comfort-science__item:focus-within .p-comfort-science__bg-hover {
    opacity: 1;
  }
  .p-comfort-science__item:hover .p-comfort-science__svg--draw,
  .p-comfort-science__item:focus-within .p-comfort-science__svg--draw {
    transform: rotate(0deg) scale(1.02);
  }
  .p-comfort-science__item:hover .p-comfort-science__ring-draw,
  .p-comfort-science__item:focus-within .p-comfort-science__ring-draw {
    stroke-dashoffset: 0;
  }
  .p-comfort-science__item:hover .p-comfort-science__content,
  .p-comfort-science__item:focus-within .p-comfort-science__content {
    transform: translateY(-0.75rem);
  }
  .p-comfort-science__item:hover .p-comfort-science__label,
  .p-comfort-science__item:focus-within .p-comfort-science__label {
    color: var(--color-primary);
  }
  .p-comfort-science__item:hover .p-comfort-science__arrow,
  .p-comfort-science__item:focus-within .p-comfort-science__arrow {
    opacity: 1;
    transform: translate(-50%, 0);
  }
  .p-comfort-science__item:hover .p-comfort-science__line-flow,
  .p-comfort-science__item:focus-within .p-comfort-science__line-flow {
    opacity: 1;
    animation: p-comfort-science-line-flow 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  }
}
.p-comfort-science__item.is-active .p-comfort-science__circle {
  transform: scale(1.02);
}
.p-comfort-science__item.is-active .p-comfort-science__bg-hover {
  opacity: 1;
}
.p-comfort-science__item.is-active .p-comfort-science__svg--draw {
  transform: rotate(0deg) scale(1.02);
}
.p-comfort-science__item.is-active .p-comfort-science__ring-draw {
  stroke-dashoffset: 0;
}
.p-comfort-science__item.is-active .p-comfort-science__content {
  transform: translateY(-0.75rem);
}
.p-comfort-science__item.is-active .p-comfort-science__label {
  color: var(--color-primary);
}
.p-comfort-science__item.is-active .p-comfort-science__arrow {
  opacity: 1;
  transform: translate(-50%, 0);
}
.p-comfort-science__item.is-active .p-comfort-science__line-flow {
  opacity: 1;
  animation: p-comfort-science-line-flow 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes p-comfort-science-line-flow {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-comfort-science__circle,
  .p-comfort-science__bg-hover,
  .p-comfort-science__svg--draw,
  .p-comfort-science__ring-draw,
  .p-comfort-science__content,
  .p-comfort-science__label,
  .p-comfort-science__arrow,
  .p-comfort-science__line-flow {
    transition: none;
    animation: none;
  }
  .p-comfort-science__line-flow {
    opacity: 0;
  }
}
.p-company-message {
  padding-block: 4.875rem 5.625rem;
  background: var(--gradient-bg-mist);
}
@media screen and (max-width: 767px) {
  .p-company-message {
    padding-block: 2.625rem 3.5rem;
    background: var(--gradient-bg-mist-sp);
  }
}

@media screen and (max-width: 767px) {
  .p-company-message__head {
    grid-column: 1/-1;
    order: 1;
  }
}

.p-company-message__head .c-section-title {
  gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-company-message__head .c-section-title {
    gap: 1.25rem;
  }
}

.p-company-message__head .c-section-title__heading {
  font-size: 1.625rem;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-company-message__head .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-company-message__body {
  display: flex;
  align-items: center;
  gap: clamp(calc(40 * var(--to-rem)), calc(-260 * var(--to-rem) + 18.75vw), calc(100 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-company-message__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8.125rem;
    align-items: center;
    gap: 2rem 1.25rem;
  }
}

.p-company-message__content {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-company-message__content {
    display: contents;
  }
}

.p-company-message__text {
  margin-block-start: 2.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
  letter-spacing: 0.04em;
}
.p-company-message__text p + p {
  margin-block-start: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-company-message__text {
    grid-column: 1/-1;
    order: 2;
    margin-block-start: 0;
    line-height: 1.8571428571;
  }
}

.p-company-message__sign {
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-company-message__sign {
    order: 3;
    margin-block-start: 0;
  }
}

.p-company-message__role {
  color: #555;
  font-size: 0.875rem;
  line-height: 1.8;
}

.p-company-message__name {
  margin-block-start: 0.25rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.p-company-message__media {
  flex-shrink: 0;
  width: clamp(calc(300 * var(--to-rem)), calc(184.5112781955 * var(--to-rem) + 15.037593985vw), calc(380 * var(--to-rem)));
  overflow: hidden;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-company-message__media {
    order: 4;
    width: 100%;
  }
}

.p-company-message__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 380/475;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 60% top;
     object-position: 60% top;
}

.p-company-profile {
  padding-block: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-company-profile {
    padding-block: 3.5rem 4rem;
  }
}

.p-company-profile__head .c-section-title {
  gap: 1.75rem;
  justify-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-company-profile__head .c-section-title {
    gap: 1.25rem;
  }
}

.p-company-profile__head .c-section-title__heading {
  font-size: 1.625rem;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-company-profile__head .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-company-profile__list {
  width: min(100%, 56.25rem);
  margin-block-start: 2.5rem;
  margin-inline: auto;
  border-block-start: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-company-profile__list {
    margin-block-start: 1.75rem;
  }
}

.p-company-profile__row {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  border-block-end: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .p-company-profile__row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-company-profile__term {
  padding: 1.25rem 0;
  color: #555;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-company-profile__term {
    padding: 1rem 0 0.5rem;
  }
}

.p-company-profile__desc {
  padding: 1.25rem 0 1.25rem 1.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.p-company-profile__desc a {
  color: inherit;
}
@media screen and (max-width: 767px) {
  .p-company-profile__desc {
    padding: 0 0 1rem;
  }
}

.p-company-profile__map {
  overflow: hidden;
  width: 100%;
  margin-block-start: 1rem;
  border-radius: 0.375rem;
}
.p-company-profile__map iframe {
  display: block;
  width: 100%;
  height: 17.5rem;
  border: 0;
}
@media screen and (max-width: 767px) {
  .p-company-profile__map iframe {
    height: 13.75rem;
  }
}

.p-company-profile__stores {
  width: 100%;
}

.p-company-profile__store {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1.5rem;
  padding-block: 1rem;
  border-block-end: 1px dashed #ccc;
}
.p-company-profile__store:first-child {
  padding-block-start: 0;
}
.p-company-profile__store:last-child {
  padding-block-end: 0;
  border-block-end: none;
}
@media screen and (max-width: 767px) {
  .p-company-profile__store {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }
}

.p-company-profile__store-name {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-company-profile__store-body {
  min-width: 0;
}

.p-company-profile__store-address,
.p-company-profile__store-contact {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.p-company-profile__store-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-company-profile__store-contact {
    gap: 0.25rem 1rem;
  }
}

.p-company-profile__store-tel a {
  color: inherit;
}

.p-company-related .c-related-cards__inner {
  width: min(100%, 81.25rem);
}
@media screen and (max-width: 767px) {
  .p-company-related .c-related-cards__inner {
    width: min(100%, 38.5rem);
  }
}

.p-concept-comfort-intro {
  position: relative;
  overflow: hidden;
  min-height: 38.125rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-concept-comfort-intro {
    min-height: 31.25rem;
  }
}

.p-concept-comfort-intro__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-concept-comfort-intro__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.p-concept-comfort-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 42%;
     object-position: center 42%;
}
@media screen and (max-width: 767px) {
  .p-concept-comfort-intro__media img {
    -o-object-position: center;
       object-position: center;
  }
}

.p-concept-comfort-intro__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.p-concept-comfort-intro__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 81.25rem);
  padding-block: 8.5rem 10.125rem;
  padding-inline: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-comfort-intro__inner {
    padding-block: 3.125rem 3.75rem;
    padding-inline: 1.75rem;
  }
}

.p-concept-comfort-intro__heading {
  max-width: 22.9375rem;
  margin-inline: auto;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 767px) {
  .p-concept-comfort-intro__heading {
    font-size: 1.3125rem;
    line-height: 2;
    letter-spacing: 0.019;
  }
}

.p-concept-comfort-intro__text {
  max-width: 62.8125rem;
  margin-block-start: 2.9375rem;
  margin-inline: auto;
  font-size: 1rem;
  font-weight: 400;
  line-height: 3.1875;
}
@media screen and (max-width: 767px) {
  .p-concept-comfort-intro__text {
    margin-block-start: 2rem;
    font-size: 1rem;
    line-height: 2.125;
  }
}

.p-concept-comfort-intro__content .p-concept-comfort-intro__heading,
.p-concept-comfort-intro__content .p-concept-comfort-intro__text {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.9s var(--easing), transform 0.9s var(--easing);
}

.p-concept-comfort-intro__content.is-inview .p-concept-comfort-intro__heading {
  opacity: 1;
  transform: none;
}

.p-concept-comfort-intro__content.is-inview .p-concept-comfort-intro__text {
  opacity: 1;
  transform: none;
  transition-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .p-concept-comfort-intro__content .p-concept-comfort-intro__heading,
  .p-concept-comfort-intro__content .p-concept-comfort-intro__text {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.p-concept-features {
  padding-block-start: 7.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-features {
    padding-block-start: 0;
  }
}

.p-concept-feature__hero {
  position: relative;
}

.p-concept-feature__hero-inner {
  position: relative;
  width: min(100%, 81.25rem);
  min-height: 27.625rem;
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature__hero-inner {
    width: min(100%, 35rem);
    min-height: auto;
    padding-inline: 0;
  }
}

.p-concept-feature__hero-body {
  position: relative;
  z-index: 1;
  max-width: 53%;
}
@media screen and (max-width: 1440px) {
  .p-concept-feature__hero-body {
    max-width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-feature__hero-body {
    max-width: none;
  }
}

.p-concept-feature__hero-media {
  position: absolute;
  top: 0;
  right: calc((100vw - min(100%, 81.25rem)) / -2);
  overflow: hidden;
  width: min(60.6153846154%, 48.9583333333vw);
  border-radius: 0.375rem 0 0 0.375rem;
}
@media screen and (max-width: 1440px) {
  .p-concept-feature__hero-media {
    width: 46.1538461538%;
  }
}
@media screen and (min-width: 1921px) {
  .p-concept-feature__hero-media {
    width: calc(49.25rem + (100vw - 1920px) / 2);
    height: 27.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-feature__hero-media {
    position: static;
    width: 100%;
    max-width: min(100%, 38.5rem);
    height: auto;
    margin-block-start: 1.8125rem;
    margin-inline: auto;
    border-radius: 0.375rem;
  }
}

.p-concept-feature__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 788/442;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1921px) {
  .p-concept-feature__hero-media img {
    height: 100%;
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-feature__hero-media img {
    aspect-ratio: 335/188;
  }
}

.p-concept-feature__label {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-concept-feature__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}

.p-concept-feature__lead {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
}

.p-concept-feature--band {
  margin-inline: calc(50% - 50vw);
  padding-block: 4.75rem 5.0625rem;
  padding-inline: calc(50vw - 50%);
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band {
    width: 100%;
    margin-inline: 0;
    padding-block: 1.75rem 4rem;
    padding-inline: 0;
  }
}

.p-concept-feature--band .p-concept-feature__hero-inner,
.p-concept-feature--band .p-concept-feature-band__cards {
  width: min(100%, 81.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band .p-concept-feature__hero-inner,
  .p-concept-feature--band .p-concept-feature-band__cards {
    width: min(100%, 38.5rem);
    padding-inline: 1.75rem;
  }
}

.p-concept-feature--band .p-concept-feature__label {
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band .p-concept-feature__label {
    font-size: 1.3125rem;
    line-height: 1.4;
    letter-spacing: 0.13em;
  }
}

.p-concept-feature--band .p-concept-feature__heading {
  margin-block-start: 1.125rem;
  max-width: 40.625rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band .p-concept-feature__heading {
    max-width: auto;
    margin-block-start: 0.4375rem;
    font-size: 1.5rem;
    line-height: 1.625;
    letter-spacing: 0.12em;
  }
}

.p-concept-feature--band .p-concept-feature__lead {
  max-width: 36rem;
  margin-block-start: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band .p-concept-feature__lead {
    max-width: auto;
    margin-block-start: 1.75rem;
    line-height: 1.6428571429;
  }
}

.p-concept-feature-band__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.1875rem;
  margin-block-start: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 10.1875rem));
    gap: 0.5rem;
    margin-block-start: 1.875rem;
  }
}

.p-concept-feature-band__stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 11.75rem;
  height: 4rem;
  padding-inline: 1.25rem 0.8125rem;
  border-radius: 0.375rem;
  background-image: linear-gradient(104.18deg, rgba(0, 99, 200, 0.8) 2.9%, rgba(0, 4, 7, 0.8) 55.5%);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat {
    gap: 0.5rem;
    width: 100%;
    height: 3.5rem;
    padding-inline: 0.875rem;
  }
}

.p-concept-feature-band__stat--supply {
  width: 10.9375rem;
}
.p-concept-feature-band__stat--supply .p-concept-feature-band__stat-label {
  line-height: 1.3125;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat--supply {
    grid-column: 1;
    width: 9.5rem;
  }
  .p-concept-feature-band__stat--supply .p-concept-feature-band__stat-label {
    line-height: 1.5;
  }
}

.p-concept-feature-band__stat-label {
  flex-shrink: 0;
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3125;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat-label {
    font-size: 0.875rem;
    line-height: 1.2857142857;
    letter-spacing: 0.02em;
  }
}

.p-concept-feature-band__stat-value {
  display: flex;
  flex: 1;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  color: var(--color-white);
  font-family: var(--ff-en);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat-value {
    gap: 0.375rem;
  }
}

.p-concept-feature-band__stat-num {
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat-num {
    font-size: 1.3125rem;
    line-height: 1.2380952381;
  }
}

.p-concept-feature-band__stat-unit {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__stat-unit {
    font-size: 1rem;
    line-height: 1.625;
  }
}

.p-concept-feature-band__compare {
  width: min(100% - 6.25rem, 62.5rem);
  margin-block-start: 4.5rem;
  margin-inline: auto;
  padding: 2.0625rem clamp(calc(40 * var(--to-rem)), calc(-135.8072289157 * var(--to-rem) + 22.8915662651vw), calc(116 * var(--to-rem))) 3.125rem clamp(calc(40 * var(--to-rem)), calc(-6.265060241 * var(--to-rem) + 6.0240963855vw), calc(60 * var(--to-rem)));
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare {
    width: 100%;
    max-width: min(100%, 35rem);
    margin-block-start: 2.9375rem;
    margin-inline: auto;
    padding: 1.0625rem 1rem 2.5rem;
    border-radius: 0.375rem;
  }
}

.p-concept-feature-band__compare-title {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.8333333333;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-title {
    font-size: 1rem;
    line-height: 3.1875;
    letter-spacing: 0.06em;
    text-align: center;
  }
}

.p-concept-feature-band__compare-body {
  display: grid;
  grid-template-columns: minmax(0, 303fr) minmax(0, 426fr);
  gap: clamp(calc(24 * var(--to-rem)), calc(-33 * var(--to-rem) + 7.421875vw), calc(43 * var(--to-rem)));
  justify-content: center;
  width: min(100%, 48.25rem);
  margin-inline-start: auto;
  margin-block-start: 1.5625rem;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-body {
    grid-template-columns: minmax(0, 146fr) minmax(0, 157fr);
    gap: 0rem;
    justify-content: center;
    margin-block-start: 0.5rem;
  }
}

.p-concept-feature-band__compare-other {
  display: grid;
  grid-template-rows: 4.625rem 10.8125rem;
  min-width: 0;
  height: 15.4375rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other {
    height: 12.75rem;
    grid-template-rows: 4.5625rem 8.1875rem;
  }
}

.p-concept-feature-band__compare-other-head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.625rem;
  padding-inline: 1rem;
  background-color: #cfcfcf;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6571428571;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other-head {
    min-height: 4.5625rem;
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
}

.p-concept-feature-band__compare-other-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 10.8125rem;
  padding: 1rem;
  background-color: #efefef;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-equip {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-equip {
    font-size: 1rem;
  }
}
.p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-particle {
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-particle {
    font-size: 0.75rem;
  }
}
.p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-emphasis {
  color: var(--color-primary);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other-text .p-concept-feature-band__compare-emphasis {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-other-text {
    min-height: 8.1875rem;
    padding-block-start: 1rem;
    font-size: 0.875rem;
  }
}

.p-concept-feature-band__compare-livorium {
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 15.4375rem;
  overflow: visible;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-livorium {
    height: 12.75rem;
    overflow: visible;
  }
}

.p-concept-feature-band__compare-brand {
  padding: 1.75rem 1.5rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-brand {
    padding: 1rem 0.3125rem 0 0.3125rem;
  }
}

.p-concept-feature-band__compare-brand-en {
  color: var(--color-white);
  font-family: var(--ff-en);
  font-size: 1.9375rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-brand-en {
    font-size: 1.3125rem;
    letter-spacing: 0.19em;
    text-align: center;
  }
}

.p-concept-feature-band__compare-brand-line {
  display: block;
  width: 7.9375rem;
  margin-block-start: 0.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-brand-line {
    width: 5.4375rem;
    margin-block-start: 0.375rem;
  }
}

.p-concept-feature-band__compare-brand-ja {
  margin-block-start: 0.5625rem;
  color: var(--color-white);
  font-family: var(--ff-en);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4166666667;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-brand-ja {
    margin-block-start: 0.375rem;
    font-size: 0.5rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
}

.p-concept-feature-band__compare-message {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.6875rem;
  margin-block-start: 1.6875rem;
  padding-inline-end: 1.5rem;
  padding-inline-start: clamp(calc(48 * var(--to-rem)), calc(8.6746987952 * var(--to-rem) + 5.1204819277vw), calc(65 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-message {
    gap: 0.5rem;
    margin-block-start: 0.75rem;
    padding-inline-end: 0.75rem;
    padding-inline-start: 2.125rem;
  }
}

.p-concept-feature-band__compare-check {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  translate: 0 -50%;
  z-index: 2;
  display: block;
  width: clamp(calc(20 * var(--to-rem)), calc(-3.1325301205 * var(--to-rem) + 3.0120481928vw), calc(30 * var(--to-rem)));
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-check {
    top: 0.625rem;
    left: 0.5rem;
    width: 1.25rem;
  }
}

.p-concept-feature-band__compare-message-text {
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-message-text {
    font-size: 0.9375rem;
    line-height: 1.2666666667;
    letter-spacing: 0.04em;
  }
}

.p-concept-feature-band__compare-mascot {
  position: absolute;
  right: 0rem;
  bottom: 0rem;
  width: clamp(calc(120 * var(--to-rem)), calc(-46.5542168675 * var(--to-rem) + 21.686746988vw), calc(192 * var(--to-rem)));
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-mascot {
    right: 0rem;
    bottom: 0rem;
    width: clamp(calc(120 * var(--to-rem)), calc(37.2413793103 * var(--to-rem) + 21.2201591512vw), calc(200 * var(--to-rem)));
  }
}

.p-concept-feature-band__compare-note {
  max-width: 48.875rem;
  margin-block-start: 1.0625rem;
  margin-inline-start: auto;
  color: var(--color-text);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4666666667;
  letter-spacing: 0.02em;
  font-feature-settings: "pa;t";
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__compare-note {
    margin-block-start: 1.25rem;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
}

.p-concept-feature-band__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 30.3125rem));
  gap: 1.875rem;
  justify-content: center;
  margin-block-start: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-concept-feature-band__card {
  min-height: 18.75rem;
  padding: 2.8125rem 3.0625rem 2.5rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__card {
    min-height: auto;
    padding: 1.625rem 1.6875rem 1.5rem;
  }
}

.p-concept-feature-band__card-title {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6111111111;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__card-title {
    letter-spacing: 0.06em;
  }
}

.p-concept-feature-band__card-text {
  margin-block-start: 1.625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.1428571429;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band__card-text {
    line-height: 1.6428571429;
  }
}

.p-concept-feature--plain {
  width: min(100%, 81.25rem);
  margin-block-start: 5.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--plain {
    width: min(100%, 38.5rem);
    margin-block-start: 2.25rem;
    margin-inline: auto;
    padding-inline: 1.75rem;
  }
}

.p-concept-feature--plain .p-concept-feature__hero-media {
  top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--plain .p-concept-feature__hero-media {
    top: auto;
    margin-block-start: 2.4375rem;
  }
}

.p-concept-feature--plain .p-concept-feature__heading {
  margin-block-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--plain .p-concept-feature__heading {
    max-width: 20.75rem;
    margin-block-start: 1.25rem;
    font-size: 1.5rem;
    line-height: 1.625;
    letter-spacing: 0.12em;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-feature--plain .p-concept-feature__label {
    font-size: 1.3125rem;
    line-height: 2;
    letter-spacing: 0.13em;
  }
}

.p-concept-feature--plain .p-concept-feature__lead {
  max-width: clamp(calc(576 * var(--to-rem)), calc(266 * var(--to-rem) + 19.375vw), calc(638 * var(--to-rem)));
  margin-block-start: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--plain .p-concept-feature__lead {
    margin-block-start: 1.6875rem;
    line-height: 1.6428571429;
  }
}

.p-concept-feature-plain__banner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: min(100%, 22.375rem);
  min-height: 5.625rem;
  margin-block-start: 2.375rem;
  border: 1px solid var(--color-primary);
  background-color: #eefaff;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__banner {
    width: 100%;
    margin-block-start: 2.4375rem;
    gap: 0.75rem;
  }
}

.p-concept-feature-plain__banner-image {
  flex-shrink: 0;
  overflow: hidden;
  width: 5.625rem;
  height: 5.625rem;
  background-color: #eefaff;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__banner-image {
    width: 5.625rem;
    height: 5.625rem;
  }
}

.p-concept-feature-plain__banner-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-concept-feature-plain__banner-text {
  flex: 1;
  min-width: 0;
  max-width: 13.375rem;
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__banner-text {
    max-width: 11.4375rem;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
  }
}

.p-concept-feature-plain__banner-arrow {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  transition: transform var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__banner-arrow {
    right: 0.875rem;
  }
}

@media (any-hover: hover) {
  .p-concept-feature-plain__banner:hover .p-concept-feature-plain__banner-arrow {
    transform: translateY(-50%) translateX(0.3125rem);
  }
}
.p-concept-feature-plain__banner-arrow img {
  display: block;
  width: 0.4375rem;
  height: auto;
}

.p-concept-feature-plain__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 30.3125rem));
  gap: 1.875rem;
  justify-content: center;
  margin-block-start: 4.0625rem;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.625rem;
    margin-block-start: 2.375rem;
    padding-inline: 0;
  }
}

.p-concept-feature-plain__card {
  min-height: 18.75rem;
  padding: 2.0625rem 3.0625rem 2.5rem;
  border: 1px solid #d8d8d8;
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card {
    min-height: auto;
    padding: 1.5rem 1.25rem;
  }
}

.p-concept-feature-plain__card:first-child {
  padding-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card:first-child {
    min-height: 17.8125rem;
    padding-block-start: 1.625rem;
    padding-inline: 1.625rem 1.6875rem;
  }
}

.p-concept-feature-plain__card:last-child {
  padding-block-start: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card:last-child {
    min-height: 13.25rem;
    padding-block-start: 1rem;
    padding-inline: 1.6875rem 1.75rem;
  }
}

.p-concept-feature-plain__card-title {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6111111111;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card-title {
    font-size: 1.125rem;
    line-height: 1.6111111111;
    letter-spacing: 0.06em;
  }
}

.p-concept-feature-plain__card:last-child .p-concept-feature-plain__card-title {
  line-height: 2.8333333333;
}

.p-concept-feature-plain__card-text {
  margin-block-start: 1.625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.1428571429;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card-text {
    margin-block-start: 1.625rem;
    line-height: 1.6428571429;
  }
}

.p-concept-feature-plain__card:last-child .p-concept-feature-plain__card-text {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-plain__card:last-child .p-concept-feature-plain__card-text {
    margin-block-start: 1rem;
  }
}

.p-concept-feature--band-alt {
  margin-block-start: 6.5rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 4.75rem 5.8125rem;
  padding-inline: calc(50vw - 50%);
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band-alt {
    width: 100%;
    margin-block-start: 4.125rem;
    padding-block: 2.5rem 4rem;
    padding-inline: 1.75rem;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-feature--band-alt .p-concept-feature__hero-media {
    margin-block-start: 2.1875rem;
  }
}

.p-concept-feature--band-alt .p-concept-feature__heading {
  margin-block-start: 1.125rem;
  max-width: 40.625rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band-alt .p-concept-feature__heading {
    max-width: auto;
    margin-block-start: 1.25rem;
    font-size: 1.5rem;
    line-height: 1.625;
    letter-spacing: 0.12em;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-feature--band-alt .p-concept-feature__label {
    font-size: 1.3125rem;
    line-height: 2;
    letter-spacing: 0.13em;
  }
}

.p-concept-feature--band-alt .p-concept-feature__lead {
  max-width: 36rem;
  margin-block-start: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature--band-alt .p-concept-feature__lead {
    max-width: auto;
    margin-block-start: 1.625rem;
    line-height: 1.6428571429;
  }
}

.p-concept-feature-band-alt__panel {
  display: grid;
  grid-template-columns: minmax(0, 29rem) minmax(0, 28.4375rem);
  -moz-column-gap: 3.5625rem;
       column-gap: 3.5625rem;
  width: min(100%, 68.75rem);
  min-height: 23.125rem;
  margin-block-start: 2.5rem;
  margin-inline: auto;
  padding: 2.5rem 3.9375rem 3.375rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__panel {
    display: block;
    row-gap: 0;
    -moz-column-gap: 0;
         column-gap: 0;
    width: 100%;
    max-width: min(100%, 35rem);
    min-height: auto;
    margin-block-start: 2.5rem;
    margin-inline: auto;
    padding: 2.0625rem 1.125rem 2.5rem;
  }
}

.p-concept-feature-band-alt__season {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    -moz-column-gap: 1.125rem;
         column-gap: 1.125rem;
    row-gap: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season + .p-concept-feature-band-alt__season {
    margin-block-start: 2.25rem;
  }
}

.p-concept-feature-band-alt__season-head {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season-head {
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    gap: 0.5625rem;
    margin-block-start: 0.625rem;
  }
}

.p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__season-head {
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__season-head {
    gap: 0.5625rem;
  }
}

.p-concept-feature-band-alt__badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__badge {
    width: 4.5rem;
    height: 4.5rem;
  }
}

.p-concept-feature-band-alt__season--summer .p-concept-feature-band-alt__badge {
  background-color: var(--color-primary);
}

.p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__badge {
  background-color: #be2409;
}

.p-concept-feature-band-alt__badge-text {
  color: var(--color-white);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.1538461538;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__badge-text {
    font-size: 1.625rem;
    letter-spacing: 0.06em;
  }
}

.p-concept-feature-band-alt__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__title {
    font-size: 1rem;
    letter-spacing: 0.06em;
  }
}

.p-concept-feature-band-alt__season--summer .p-concept-feature-band-alt__title {
  color: var(--color-primary);
}

.p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__title {
  color: #be2409;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__title {
    font-size: 1.125rem;
    letter-spacing: 0.06em;
  }
}

.p-concept-feature-band-alt__season-body {
  display: grid;
  gap: 1.3125rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season-body {
    display: contents;
  }
}

.p-concept-feature-band-alt__season--summer .p-concept-feature-band-alt__season-body {
  grid-template-columns: minmax(0, 180fr) minmax(0, 263fr);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season--summer .p-concept-feature-band-alt__season-body {
    display: contents;
  }
}

.p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__season-body {
  grid-template-columns: minmax(0, 180fr) minmax(0, 254fr);
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__season-body {
    display: contents;
  }
}

.p-concept-feature-band-alt__figure {
  overflow: hidden;
  width: minmax(0, 180fr);
  height: auto;
  aspect-ratio: 360/325;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__figure {
    grid-column: 1;
    grid-row: 1;
    width: 8.5rem;
    height: 8.5rem;
    margin-inline: 0;
  }
}

.p-concept-feature-band-alt__figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-concept-feature-band-alt__season--winter .p-concept-feature-band-alt__figure img {
  -o-object-position: center top;
     object-position: center top;
}

.p-concept-feature-band-alt__text {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6428571429;
}
@media screen and (max-width: 767px) {
  .p-concept-feature-band-alt__text {
    grid-column: 1/-1;
    grid-row: 2;
  }
}

.p-concept-items {
  padding-block-start: 5.125rem;
}
@media screen and (max-width: 767px) {
  .p-concept-items {
    padding-block-start: 4.25rem;
  }
}

.p-concept-items__inner {
  display: grid;
  gap: 1.875rem;
  width: min(100%, 86.25rem);
}
@media screen and (max-width: 767px) {
  .p-concept-items__inner {
    gap: 3rem;
    width: min(100%, 38.5rem);
  }
}

.p-concept-items__item {
  display: grid;
  grid-template-columns: minmax(0, 53%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(calc(32 * var(--to-rem)), calc(-11.6777251185 * var(--to-rem) + 4.2654028436vw), calc(50 * var(--to-rem)));
  padding: 2rem clamp(calc(20 * var(--to-rem)), calc(-28.5308056872 * var(--to-rem) + 4.7393364929vw), calc(40 * var(--to-rem)));
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-concept-items__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8125rem;
    padding: 0;
  }
}

.p-concept-items__item--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 53%);
}
.p-concept-items__item--reverse .p-concept-items__image {
  order: 2;
}
.p-concept-items__item--reverse .p-concept-items__content {
  order: 1;
}
@media screen and (max-width: 767px) {
  .p-concept-items__item--reverse {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-concept-items__item--reverse .p-concept-items__image {
    order: 3;
  }
  .p-concept-items__item--reverse .p-concept-items__content {
    order: 1;
  }
}

.p-concept-items__image {
  overflow: hidden;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-concept-items__image {
    order: 3;
  }
}

.p-concept-items__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 636/357;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-concept-items__content {
  display: grid;
  justify-items: start;
  min-width: 0;
  translate: 0 -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-concept-items__content {
    order: 1;
  }
}

.p-concept-items__label {
  color: #a4a4a4;
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.13em;
}

.p-concept-items__heading {
  margin-block-start: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-concept-items__heading {
    margin-block-start: 0.75rem;
    font-size: 1.3125rem;
    line-height: 1.4;
  }
}

.p-concept-items__text {
  margin-block-start: 1.75rem;
  max-width: 31.875rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .p-concept-items__text {
    margin-block-start: 1.5rem;
    max-width: none;
    line-height: 1.6428571429;
  }
}

.p-concept-items__more {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-block-start: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  margin-inline-start: auto;
  margin-inline-end: 0.625rem;
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-concept-items__more {
    margin-block-start: 0.75rem;
    margin-inline-end: 0;
    order: 2;
  }
}

.p-concept-items__more-icon {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
}

.p-concept-items__more-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.p-concept-items__more-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-concept-items__more-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.p-concept-items__more-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.p-concept-items__more-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

@media (any-hover: hover) {
  .p-concept-items__item:hover .p-concept-items__more-circle {
    stroke-dashoffset: 0;
  }
  .p-concept-items__item:hover .p-concept-items__more-arrow {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-concept-items__more-circle,
  .p-concept-items__more-arrow {
    transition: none;
  }
}
.p-concept-mv {
  position: relative;
  overflow: hidden;
  margin-block-start: var(--header-height);
  color: var(--color-white);
}

.p-concept-mv__media {
  display: grid;
  grid-template-columns: minmax(0, 500fr) minmax(0, 920fr) minmax(0, 500fr);
  height: 50.375rem;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__media {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 17.25rem 12.5rem;
    height: 29.75rem;
  }
}

.p-concept-mv__image {
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__image {
    aspect-ratio: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-mv__image--02 {
    grid-column: 1/-1;
    grid-row: 1;
    height: 17.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-mv__image--01 {
    grid-column: 1;
    grid-row: 2;
    height: 12.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-concept-mv__image--03 {
    grid-column: 2;
    grid-row: 2;
    height: 12.5rem;
  }
}

.p-concept-mv__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-concept-mv__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.p-concept-mv__content {
  display: grid;
  justify-items: center;
  align-content: center;
  position: absolute;
  inset: 0;
  z-index: 2;
  padding-block: 0rem 8.125rem;
  padding-inline: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__content {
    align-content: start;
    padding-block: 5.1875rem 0;
    padding-inline: 1.75rem;
  }
}

.p-concept-mv__title {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__title {
    gap: 0;
  }
}

.p-concept-mv__en {
  font-family: var(--ff-en);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.8333333333;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__en {
    font-size: 1.125rem;
    line-height: 4.25rem;
    letter-spacing: 0.13em;
  }
}

.p-concept-mv__ja {
  max-width: 29.3125rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__ja {
    margin-block-start: -0.125rem;
    max-width: 15.0625rem;
    font-size: 1.625rem;
    line-height: 2.5rem;
    letter-spacing: 0.12em;
  }
}

.p-concept-mv__scroll {
  display: grid;
  justify-items: center;
  position: absolute;
  inset-block-end: 2.125rem;
  inset-inline-start: 50%;
  translate: -50% 0;
  padding-block-end: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__scroll {
    inset-block-start: 11.5rem;
    inset-block-end: 2.125rem;
    padding-block-end: 0;
  }
}

.p-concept-mv__scroll-label {
  writing-mode: vertical-rl;
  color: inherit;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-concept-mv__scroll-label {
    letter-spacing: 0.04em;
  }
}

.p-concept-mv__scroll-line {
  display: block;
  position: absolute;
  inset-block-end: -0.9375rem;
  inset-inline-start: 50%;
  width: 1px;
  height: 6.25rem;
  translate: -50% 0;
  background-color: currentcolor;
}
.p-concept-mv__scroll-line::before {
  content: "";
  position: absolute;
  inset-block-end: 5.9375rem;
  inset-inline-start: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: currentcolor;
  translate: -50% 0;
  animation: p-concept-mv-scroll-move 3s ease-in-out infinite, p-concept-mv-scroll-fade 3s ease-out infinite;
}

@keyframes p-concept-mv-scroll-move {
  0% {
    inset-block-end: 5.9375rem;
  }
  100% {
    inset-block-end: 0;
  }
}
@keyframes p-concept-mv-scroll-fade {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-concept-mv__scroll-line::before {
    inset-block-end: 0;
    opacity: 1;
    animation: none;
  }
}
.p-concept-origin {
  padding-block-start: 4.875rem;
}
@media screen and (max-width: 767px) {
  .p-concept-origin {
    padding-block-start: 4.5rem;
  }
}

.p-concept-origin__inner {
  position: relative;
  width: min(100%, 60.75rem);
}
@media screen and (max-width: 767px) {
  .p-concept-origin__inner {
    width: min(100%, 38.5rem);
  }
}
.p-concept-origin__inner::before {
  content: "";
  position: absolute;
  inset-block-start: -0.0625rem;
  inset-inline-start: 3.0625rem;
  z-index: 1;
  width: 17.75rem;
  height: auto;
  aspect-ratio: 284/101;
  background-color: var(--color-white);
}
@media screen and (max-width: 1023px) {
  .p-concept-origin__inner::before {
    inset-inline-start: 50%;
    translate: -50% 0;
    width: 17.375rem;
    aspect-ratio: 278/10;
  }
}

.p-concept-origin__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  inset-block-start: -0.375rem;
  inset-inline-start: 3.75rem;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__head {
    inset-block-start: -1.1875rem;
    inset-inline-start: 50%;
    translate: -50% 0;
    width: min(100%, 14.9375rem);
    margin-inline: auto;
    margin-block-end: -1.3125rem;
  }
}

.p-concept-origin__en {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.p-concept-origin__en img {
  display: block;
  width: 14.9375rem;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .p-concept-origin__en img {
    width: 11.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-origin__en img {
    width: 14.9375rem;
  }
}
.p-concept-origin__en::before {
  content: "";
  position: absolute;
  inset-block-end: -0.6875rem;
  inset-inline-start: -0.6875rem;
  width: 15.625rem;
  height: 0.0625rem;
  background-color: #c2c2c2;
}
@media screen and (max-width: 1023px) {
  .p-concept-origin__en::before {
    width: 11.25rem;
    inset-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-origin__en::before {
    inset-inline-start: 50%;
    translate: -50% 0;
    width: 15.625rem;
  }
}

.p-concept-origin__heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 1.375rem;
  padding-inline: 1.5rem;
  background-color: var(--color-base);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__heading {
    margin-block-start: 1.25rem;
  }
}

.p-concept-origin__box {
  position: relative;
  padding: 2rem 2rem 2.3125rem 13.75rem;
  border: 1px solid var(--color-border);
  min-height: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__box {
    padding-block: 4.5rem 1.875rem;
    padding-inline: 1.5rem;
    min-height: 19.6875rem;
  }
}

.p-concept-origin__box-inner {
  position: relative;
  width: min(100%, 33.8125rem);
  margin-inline: auto 0;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__box-inner {
    width: min(100%, 17.75rem);
    margin-inline: auto;
  }
}

.p-concept-origin__brand-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  -moz-column-gap: 2.25rem;
       column-gap: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__brand-row {
    flex-direction: column;
    align-items: center;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}

.p-concept-origin__brand {
  color: var(--color-primary);
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.13em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__brand {
    font-size: 1.75rem;
    line-height: 2.4285714286;
  }
}

.p-concept-origin__brand-ja {
  position: relative;
  margin-block-start: 0.6875rem;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__brand-ja {
    margin-block-start: -0.75rem;
  }
}
.p-concept-origin__brand-ja::before, .p-concept-origin__brand-ja::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  width: 0.625rem;
  height: 0.0625rem;
  background-color: var(--color-text);
}
.p-concept-origin__brand-ja::before {
  inset-inline-start: -1.375rem;
}
.p-concept-origin__brand-ja::after {
  inset-inline-end: -1.375rem;
}

.p-concept-origin__text {
  margin-block-start: 0.8125rem;
  margin-inline: auto;
  width: min(100%, 33.8125rem);
  font-size: 0.75rem;
  line-height: 2.0833333333;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-concept-origin__text {
    margin-block-start: 1.5rem;
    width: min(100%, 17.75rem);
    line-height: 1.9166666667;
  }
}

.p-concept-pillars {
  padding-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-concept-pillars {
    padding-block-start: 1.875rem;
  }
}

.p-concept-pillars__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 48.8262910798%);
  align-items: center;
  gap: clamp(calc(40 * var(--to-rem)), calc(-57.0616113744 * var(--to-rem) + 9.4786729858vw), calc(80 * var(--to-rem)));
  width: min(100%, 72.8125rem);
}
@media screen and (max-width: 767px) {
  .p-concept-pillars__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    width: min(100%, 38.5rem);
  }
}

.p-concept-pillars__body {
  min-width: 0;
  margin-block-start: -0.25rem;
}

.p-concept-pillars__heading {
  max-width: 28.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.12em;
  background-image: linear-gradient(110deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-concept-pillars__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-pillars__heading {
    max-width: none;
    font-size: 1.5rem;
    line-height: 1.625;
    letter-spacing: 0.12em;
  }
}

.p-concept-pillars__text {
  display: grid;
  gap: 0;
  margin-block-start: 1.5rem;
  max-width: 29.8125rem;
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-concept-pillars__text {
    margin-block-start: 1.75rem;
    max-width: none;
    font-size: 0.875rem;
    line-height: 2.1428571429;
  }
}

.p-concept-pillars__diagram {
  justify-self: center;
  width: 100%;
}

.p-concept-pillars__diagram img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-pillars__diagram img {
    max-width: 20.5rem;
    margin-inline: auto;
  }
}

.p-concept-sub-mv {
  margin-block-start: var(--header-height);
  padding-block-end: 5.6875rem;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .p-concept-sub-mv {
    padding-block-end: 3.875rem;
  }
}

.p-concept-sub-mv__inner {
  padding-block-start: 5.75rem;
}
@media screen and (max-width: 767px) {
  .p-concept-sub-mv__inner {
    padding-block-start: 1.75rem;
  }
}

.p-concept-sub-mv .c-section-title {
  gap: 1.1875rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept-sub-mv .c-section-title {
    gap: 1.625rem;
  }
}

.p-concept-sub-mv .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  font-size: 1.3125rem;
  line-height: 4.25rem;
  letter-spacing: 0.13em;
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-concept-sub-mv .c-section-title__en {
    font-size: 1.3125rem;
    line-height: 1.6666666667;
  }
}

.p-concept-sub-mv .c-section-title__heading {
  max-width: 22.4375rem;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 0.12em;
  background-image: linear-gradient(80.424deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-concept-sub-mv .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-sub-mv .c-section-title__heading {
    max-width: none;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 1.6;
  }
}

.p-contact-thanks {
  padding-block: 6.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-thanks {
    padding-block: 3rem 3.75rem;
  }
}

.p-contact-thanks__inner {
  text-align: center;
}

.p-contact-thanks__title {
  display: flex;
  justify-content: center;
}

.p-contact-thanks__text {
  margin-block-start: 2.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-contact-thanks__text {
    margin-block-start: 2rem;
    line-height: 1.85;
  }
}

.p-contact-thanks__notice {
  margin-block-start: 1rem;
  color: var(--color-text);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-contact-thanks__notice {
    margin-block-start: 1rem;
    line-height: 1.85;
  }
}

.p-contact-thanks__button {
  width: min(100%, 25rem);
  margin-inline: auto;
  margin-block-start: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact-thanks__button {
    margin-block-start: 2rem;
  }
}

.p-contact__body {
  padding-block: 4.5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__body {
    padding-block: 2.5rem 3.75rem;
  }
}

.p-contact .p-form > .p-form__item:first-child {
  margin-block-start: 0;
}

.p-contact__form-placeholder {
  padding: 1.5rem;
  border: 1px dashed var(--color-border);
  border-radius: 0.375rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8;
  text-align: center;
}

.p-contact__button,
.p-contact .p-form__submit {
  width: min(100%, 25rem);
  margin-inline: auto;
}

.p-contact .wpcf7-form .c-button {
  width: min(100%, 25rem);
  margin-inline: auto;
  transition: opacity var(--duration) var(--easing);
}
@media (any-hover: hover) {
  .p-contact .wpcf7-form .c-button:hover {
    opacity: 0.8;
  }
}

.p-dev-notice {
  padding-block: calc(24 * var(--to-rem));
  background-color: #fff3cd;
}
@media screen and (max-width: 767px) {
  .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 (max-width: 767px) {
  .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: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .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 (max-width: 767px) {
  .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 (max-width: 767px) {
  .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: 700;
}

.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 (max-width: 767px) {
  .p-dev-notice__item code {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-error {
  padding-block: 6.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-error {
    padding-block: 3rem 3.75rem;
  }
}

.p-error__inner {
  width: min(100%, 68.75rem);
  margin-inline: auto;
}

.p-error__content {
  max-width: 64.8125rem;
  margin-inline: auto;
  text-align: center;
}

.p-error__text {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-error__text {
    font-size: 0.875rem;
    line-height: 1.85;
  }
}

.p-error__text + .p-error__text {
  margin-block-start: 0;
}

.p-error__button {
  width: min(100%, 25rem);
  margin-inline: auto;
  margin-block-start: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-error__button {
    margin-block-start: 2rem;
  }
}

.p-event-archive__list {
  padding-block: 6.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-archive__list {
    padding-block: 3rem 0.25rem;
  }
}

.p-event-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: center;
  gap: clamp(calc(24 * var(--to-rem)), calc(-48 * var(--to-rem) + 9.375vw), calc(48 * var(--to-rem))) clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-event-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
}

.p-event-archive__pagination {
  margin-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-archive__pagination {
    margin-block-start: 3.75rem;
  }
}

.p-event-confirm__body {
  padding-block: 3.75rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-event-confirm__body {
    padding-block: 2.5rem 4rem;
  }
}

.p-event-confirm__inner {
  width: min(100%, 56.25rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-event-confirm__inner {
    padding-inline: 1.75rem;
  }
}

.p-event-confirm__form .p-form__label {
  min-width: 17.0625rem;
}
@media screen and (max-width: 767px) {
  .p-event-confirm__form .p-form__label {
    min-width: auto;
  }
}

.p-event-single {
  padding-block-end: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-single {
    padding-block-end: 2.5rem;
  }
}

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

.p-event-single__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.75rem;
}

.p-event-single__term {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 6.4375rem;
  height: 2.1875rem;
  padding: 0.25rem 0.75rem;
  background-color: #fff399;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
}

@media (any-hover: hover) {
  .p-event-single__term:hover {
    opacity: 0.85;
  }
}
.p-event-single__title {
  margin-block-start: 0.5rem;
  color: var(--color-text);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-event-single__title {
    font-size: 1.375rem;
    line-height: 1.5;
  }
}

.p-event-single__meta {
  margin-block-start: 2rem;
  border-block-start: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-event-single__meta {
    margin-block-start: 1.5rem;
  }
}

.p-event-single__meta-item {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  border-block-end: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .p-event-single__meta-item {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-event-single__meta-label {
  padding: 1.25rem 0;
  color: #555;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-event-single__meta-label {
    padding: 1rem 0 0.5rem;
  }
}

.p-event-single__meta-value {
  display: flex;
  align-items: center;
  padding: 1.25rem 0 1.25rem 1.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-event-single__meta-value {
    padding: 0 0 1rem;
  }
}

.p-event-single__meta-value--date {
  align-items: baseline;
}

.p-event-single__meta-date {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  font-family: var(--ff-en);
  line-height: 1;
  white-space: nowrap;
}

.p-event-single__meta-year {
  margin-inline-end: 0.625rem;
  font-size: 1rem;
}

.p-event-single__meta-weekday {
  font-size: 1rem;
}

.p-event-single__meta-tilde {
  margin-inline: 0 0.25rem;
  font-size: 1rem;
}

.p-event-single__meta-day {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .p-event-single__meta-year,
  .p-event-single__meta-weekday,
  .p-event-single__meta-tilde {
    font-size: 0.875rem;
  }
  .p-event-single__meta-day {
    font-size: 1.5rem;
  }
}
.p-event-single__entry {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__entry {
    margin-block-start: 1rem;
  }
}

.p-event-single__entry-link {
  display: block;
  padding: 1.125rem 1.25rem;
  border: 1px solid var(--color-primary);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1rem;
  text-decoration: none;
  transition: background-color var(--duration) ease, border-color var(--duration) ease, color var(--duration) ease;
}
@media screen and (max-width: 767px) {
  .p-event-single__entry-link {
    padding: 0.875rem 0;
    font-size: 0.9375rem;
  }
}
@media (any-hover: hover) {
  .p-event-single__entry-link:hover {
    opacity: 1;
    background-color: var(--color-base);
    border-color: var(--color-primary);
    color: var(--color-primary);
  }
}
.p-event-single__entry-link:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 0.125rem;
}

.p-event-single__entry-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding-inline: 2.5rem 3.5rem;
  gap: 0.5rem 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__entry-inner {
    padding-inline: 2.25rem 3rem;
  }
}

.p-event-single__entry-benefit-text {
  flex: 1 1 17.5rem;
  max-width: 100%;
  font-feature-settings: "palt";
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-event-single__entry-benefit-text {
    font-size: 1rem;
  }
}

.p-event-single__entry-icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.75rem;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .p-event-single__entry-icon {
    inset-inline-end: 0.5rem;
    width: 2.25rem;
    height: 2.25rem;
  }
}

.p-event-single__entry-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.45;
  transition: opacity var(--duration) var(--easing);
}

.p-event-single__entry-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-event-single__entry-circle {
  fill: transparent;
  stroke: currentcolor;
  stroke-width: 1;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.p-event-single__entry-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23ffffff'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.p-event-single__entry-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23ffffff'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

@media (any-hover: hover) {
  .p-event-single__entry-link:hover .p-event-single__entry-icon::before {
    opacity: 1;
  }
  .p-event-single__entry-link:hover .p-event-single__entry-circle {
    stroke-dashoffset: 0;
  }
  .p-event-single__entry-link:hover .p-event-single__entry-arrow {
    inset-inline-start: 100%;
  }
  .p-event-single__entry-link:hover .p-event-single__entry-arrow,
  .p-event-single__entry-link:hover .p-event-single__entry-arrow::before {
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E");
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-event-single__entry-circle,
  .p-event-single__entry-arrow,
  .p-event-single__entry-icon::before {
    transition: none;
  }
}
.p-event-single__hero {
  overflow: hidden;
  margin-block-start: 2rem;
  border-radius: 0.5rem;
}
.p-event-single__hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400/267;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767px) {
  .p-event-single__hero img {
    aspect-ratio: 335/223;
  }
}

.p-event-single__highlights {
  margin-block-start: 5rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 5rem;
  padding-inline: calc(50vw - 50%);
  background-color: var(--color-bg-section);
}
@media screen and (max-width: 767px) {
  .p-event-single__highlights {
    margin-block-start: 2.5rem;
    padding-block: 3rem;
  }
}

.p-event-single__section-title {
  color: var(--color-text);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-event-single__section-title {
    font-size: 1.375rem;
  }
}

.p-event-single__highlight-list {
  display: grid;
  gap: 1.875rem;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-list {
    gap: 3rem;
    margin-block-start: 1.625rem;
  }
}

.p-event-single__highlight-item {
  display: grid;
  grid-template-columns: minmax(0, 53%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(calc(32 * var(--to-rem)), calc(-11.6777251185 * var(--to-rem) + 4.2654028436vw), calc(50 * var(--to-rem)));
  padding: 2rem clamp(calc(20 * var(--to-rem)), calc(-28.5308056872 * var(--to-rem) + 4.7393364929vw), calc(40 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8125rem;
    padding: 0;
  }
}

.p-event-single__highlight-item--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 53%);
}
.p-event-single__highlight-item--reverse .p-event-single__highlight-image {
  order: 2;
}
.p-event-single__highlight-item--reverse .p-event-single__highlight-body {
  order: 1;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-item--reverse {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-event-single__highlight-item--reverse .p-event-single__highlight-image {
    order: 3;
  }
  .p-event-single__highlight-item--reverse .p-event-single__highlight-body {
    order: 1;
  }
}

.p-event-single__highlight-item--no-image {
  grid-template-columns: minmax(0, 1fr);
}

.p-event-single__highlight-image {
  overflow: hidden;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-image {
    order: 3;
  }
}

.p-event-single__highlight-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 636/357;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-event-single__highlight-body {
  display: grid;
  justify-items: start;
  min-width: 0;
  translate: 0 -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-body {
    order: 1;
    translate: none;
  }
}

.p-event-single__highlight-index {
  color: #a4a4a4;
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.13em;
}

.p-event-single__highlight-heading {
  margin-block-start: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-heading {
    margin-block-start: 0.75rem;
    font-size: 1.3125rem;
  }
}

.p-event-single__highlight-description {
  margin-block-start: 1.75rem;
  max-width: 31.875rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .p-event-single__highlight-description {
    margin-block-start: 1.5rem;
    max-width: none;
    line-height: 1.6428571429;
  }
}

.p-event-single__map {
  margin-block-start: 6.25rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 5rem;
  padding-inline: calc(50vw - 50%);
  background-color: var(--color-bg-section);
}
@media screen and (max-width: 767px) {
  .p-event-single__map {
    margin-block-start: 3.5rem;
    padding-block: 3rem;
  }
}

.p-event-single__map-title {
  text-align: center;
}

.p-event-single__map-frame {
  overflow: hidden;
  margin-block-start: 2.5rem;
  border-radius: 0.375rem;
}
.p-event-single__map-frame iframe {
  display: block;
  width: 100%;
  height: 30rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__map-frame {
    margin-block-start: 1.5rem;
  }
  .p-event-single__map-frame iframe {
    height: 22.5rem;
  }
}

.p-event-single__content {
  margin-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content {
    margin-block-start: 4rem;
  }
}

.p-event-single__content.c-entry-content > *:first-child {
  margin-block-start: 0;
}
.p-event-single__content.c-entry-content h1,
.p-event-single__content.c-entry-content h2,
.p-event-single__content.c-entry-content h3,
.p-event-single__content.c-entry-content h4,
.p-event-single__content.c-entry-content h5,
.p-event-single__content.c-entry-content h6 {
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.p-event-single__content.c-entry-content h1 {
  margin-block-start: 3rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h1 {
    margin-block-start: 2.25rem;
    font-size: 1.375rem;
  }
}
.p-event-single__content.c-entry-content h2 {
  position: relative;
  margin-block-start: 3rem;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid var(--color-border);
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h2 {
    margin-block-start: 2.25rem;
    padding-block-end: 0.625rem;
    font-size: 1.25rem;
  }
}
.p-event-single__content.c-entry-content h2::after {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-primary);
}
.p-event-single__content.c-entry-content h3 {
  margin-block-start: 2.5rem;
  padding-inline-start: 0.875rem;
  border-inline-start: 3px solid var(--color-primary);
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h3 {
    margin-block-start: 2rem;
    padding-inline-start: 0.75rem;
    font-size: 1.125rem;
  }
}
.p-event-single__content.c-entry-content h4 {
  margin-block-start: 2rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h4 {
    margin-block-start: 1.75rem;
    font-size: 1rem;
  }
}
.p-event-single__content.c-entry-content h5 {
  margin-block-start: 1.75rem;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h5 {
    margin-block-start: 1.5rem;
    font-size: 0.9375rem;
  }
}
.p-event-single__content.c-entry-content h6 {
  margin-block-start: 1.5rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content h6 {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.p-event-single__content.c-entry-content p {
  margin-block-start: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content p {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}
.p-event-single__content.c-entry-content ul,
.p-event-single__content.c-entry-content ol {
  margin-block-start: 1.25rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content ul,
  .p-event-single__content.c-entry-content ol {
    padding-inline-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.p-event-single__content.c-entry-content ul li + li,
.p-event-single__content.c-entry-content ol li + li {
  margin-block-start: 0.375rem;
}
.p-event-single__content.c-entry-content ul {
  list-style-type: disc;
}
.p-event-single__content.c-entry-content ul ::marker {
  color: var(--color-primary);
}
.p-event-single__content.c-entry-content ol {
  list-style-type: decimal;
}
.p-event-single__content.c-entry-content ol ::marker {
  color: var(--color-primary);
}
.p-event-single__content.c-entry-content a:not(.wp-block-button__link) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-event-single__content.c-entry-content a:not(.wp-block-button__link):hover {
    opacity: 0.7;
  }
}
.p-event-single__content.c-entry-content img,
.p-event-single__content.c-entry-content .wp-block-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-block-start: 2rem;
}
.p-event-single__content.c-entry-content .wp-block-image {
  margin-block-start: 2rem;
}
.p-event-single__content.c-entry-content figure {
  margin-block-start: 2rem;
}
.p-event-single__content.c-entry-content figcaption {
  margin-block-start: 0.5rem;
  color: #666;
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-event-single__content.c-entry-content blockquote {
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.25rem;
  border-inline-start: 3px solid var(--color-primary);
  border-radius: 0.25rem;
  background-color: #eff4f9;
  color: var(--color-text);
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content blockquote {
    padding-inline-start: 1rem;
    padding-inline-end: 0.875rem;
  }
}
.p-event-single__content.c-entry-content blockquote p {
  margin-block-start: 0;
}
.p-event-single__content.c-entry-content blockquote blockquote {
  margin-block-start: 0.75rem;
  padding-block: 0;
  padding-inline-start: 1rem;
  padding-inline-end: 0;
  border-radius: 0;
  background-color: transparent;
  font-style: inherit;
}
.p-event-single__content.c-entry-content code {
  padding-block: 0.125rem;
  padding-inline: 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
}
.p-event-single__content.c-entry-content pre {
  overflow-x: auto;
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 0.5rem;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-family: ui-monospace, monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-event-single__content.c-entry-content pre code {
  padding: 0;
  background-color: transparent;
}
.p-event-single__content.c-entry-content table {
  width: 100%;
  margin-block-start: 2rem;
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content table {
    font-size: 0.8125rem;
  }
}
.p-event-single__content.c-entry-content th,
.p-event-single__content.c-entry-content td {
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid var(--color-border);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-event-single__content.c-entry-content th,
  .p-event-single__content.c-entry-content td {
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
  }
}
.p-event-single__content.c-entry-content th:not([class*=has-text-align]),
.p-event-single__content.c-entry-content td:not([class*=has-text-align]) {
  text-align: start;
}
.p-event-single__content.c-entry-content .wp-block-table {
  overflow-x: auto;
  margin-block-start: 2rem;
  -webkit-overflow-scrolling: touch;
}
.p-event-single__content.c-entry-content .wp-block-table table {
  margin-block-start: 0;
}
.p-event-single__content.c-entry-content .wp-block-table td,
.p-event-single__content.c-entry-content .wp-block-table th {
  border: 1px solid #d8dde5;
}
.p-event-single__content.c-entry-content .wp-block-table thead {
  border-block-end: none;
}
.p-event-single__content.c-entry-content .wp-block-table thead th {
  background-color: var(--color-primary);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white);
  font-weight: 700;
}
.p-event-single__content.c-entry-content .wp-block-table tbody th {
  background-color: #eef3f9;
  color: var(--color-text);
  font-weight: 700;
}
.p-event-single__content.c-entry-content .wp-block-table tbody td {
  background-color: var(--color-white);
}
.p-event-single__content.c-entry-content .wp-block-table tbody tr:nth-child(even) td {
  background-color: #f5f8fc;
}
.p-event-single__content.c-entry-content .wp-block-table tbody tr:nth-child(even) th {
  background-color: #e4ecf6;
}
.p-event-single__content.c-entry-content th {
  background-color: var(--color-gray);
  font-weight: 700;
}
.p-event-single__content.c-entry-content hr {
  margin-block-start: 2.5rem;
  border: none;
  border-block-start: 1px solid var(--color-border);
}
.p-event-single__content.c-entry-content strong {
  font-weight: 700;
}
.p-event-single__content.c-entry-content em {
  font-style: italic;
}
.p-event-single__content.c-entry-content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block-start: 2rem;
}
.p-event-single__content.c-entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-block: 0.75rem;
  padding-inline: 1.75rem;
  border: 1px solid var(--color-text);
  border-radius: 0.25rem;
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background-color var(--duration), color var(--duration);
}
@media (any-hover: hover) {
  .p-event-single__content.c-entry-content .wp-block-button__link:hover {
    background-color: var(--color-white);
    color: var(--color-text);
  }
}
.p-event-single__content.c-entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--color-text);
}
@media (any-hover: hover) {
  .p-event-single__content.c-entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
}
.p-event-single__content.c-entry-content .wp-block-quote,
.p-event-single__content.c-entry-content .wp-block-pullquote {
  margin-block-start: 2rem;
}
.p-event-single__content.c-entry-content .wp-block-quote .wp-block-quote,
.p-event-single__content.c-entry-content .wp-block-quote .wp-block-pullquote,
.p-event-single__content.c-entry-content .wp-block-quote blockquote,
.p-event-single__content.c-entry-content .wp-block-pullquote .wp-block-quote,
.p-event-single__content.c-entry-content .wp-block-pullquote .wp-block-pullquote,
.p-event-single__content.c-entry-content .wp-block-pullquote blockquote {
  margin-block-start: 0.75rem;
}
.p-event-single__content.c-entry-content .wp-block-embed,
.p-event-single__content.c-entry-content .wp-block-video,
.p-event-single__content.c-entry-content .wp-block-audio {
  margin-block-start: 2rem;
}

.p-event-single__flow {
  margin-block-start: 6.25rem;
  margin-block-end: 0;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow {
    margin-block-start: 3.5rem;
  }
}

.p-event-single__flow-title {
  margin-block-end: 2rem;
  color: var(--color-text, #333);
  font-feature-settings: "palt";
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-title {
    margin-block-end: 1.5rem;
    font-size: 1.375rem;
  }
}

.p-event-single__flow-track {
  display: flex;
  gap: 1rem;
  align-items: stretch;
  justify-content: center;
  margin-block-start: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-track {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin-block-start: 1.5rem;
  }
}

.p-event-single__flow-step {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  max-width: 15rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-step {
    flex: 0 1 auto;
    width: 100%;
    max-width: 17.5rem;
  }
}
.p-event-single__flow-step:not(:first-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  flex-shrink: 0;
  width: 1.8125rem;
  height: auto;
  translate: -1.0625rem -50%;
  aspect-ratio: 29/38;
  background-color: var(--color-primary);
  mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー%202'%20xmlns='http://www.w3.org/2000/svg'%20width='28.08'%20height='38.01'%20viewBox='0%200%2028.08%2038.01'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%2315c;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_背景'%20data-name='背景'%3e%3cpolygon%20class='cls-1'%20points='28.08%2019%2012.02%200%2012.02%205.58%200%205.58%200%2032.43%2012.02%2032.43%2012.02%2038.01%2028.08%2019'/%3e%3c/g%3e%3c/svg%3e");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー%202'%20xmlns='http://www.w3.org/2000/svg'%20width='28.08'%20height='38.01'%20viewBox='0%200%2028.08%2038.01'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%2315c;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_背景'%20data-name='背景'%3e%3cpolygon%20class='cls-1'%20points='28.08%2019%2012.02%200%2012.02%205.58%200%205.58%200%2032.43%2012.02%2032.43%2012.02%2038.01%2028.08%2019'/%3e%3c/g%3e%3c/svg%3e");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-step:not(:first-child)::after {
    top: 0;
    left: 50%;
    translate: -50% calc(-50% - 0.75rem);
    rotate: 90deg;
  }
}

.p-event-single__flow-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-height: 15rem;
  padding: 1.25rem 0.875rem 1.125rem;
  border: 1px solid #ccc;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-card {
    min-height: 0;
    padding: 1.125rem 0.875rem 1rem;
  }
}

.p-event-single__flow-card-title {
  color: var(--color-text, #333);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-event-single__flow-card-title {
    font-size: 1rem;
  }
}

.p-event-single__flow-card-icon {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  margin-block: 0.875rem;
}

.p-event-single__flow-card-icon-img {
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-event-single__flow-card-body {
  width: 100%;
}

.p-event-single__flow-card-line {
  color: var(--color-text, #333);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
}
.p-event-single__flow-card-line + .p-event-single__flow-card-line {
  margin-block-start: 0.125rem;
}

.p-event-single__form {
  margin-block-start: 6.25rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-event-single__form {
    margin-block-start: 3.5rem;
  }
}

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

.p-event-single__form-title {
  margin-block-end: 2rem;
  color: var(--color-text, #333);
  font-feature-settings: "palt";
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-event-single__form-title {
    margin-block-end: 1.5rem;
    font-size: 1.375rem;
  }
}

.p-event-single__form-button {
  width: min(100%, 25rem);
  margin-inline: auto;
}

.p-event-single__form .p-form__label {
  min-width: 17.0625rem;
}
@media screen and (max-width: 767px) {
  .p-event-single__form .p-form__label {
    min-width: auto;
  }
}

.p-event-single__form .p-form__submit {
  width: min(100%, 25rem);
  margin-inline: auto;
}

.p-event-single__form .p-form__submit .c-button {
  width: 100%;
  transition: opacity var(--duration) var(--easing);
}
@media (any-hover: hover) {
  .p-event-single__form .p-form__submit .c-button:hover {
    opacity: 0.8;
  }
}

.p-event-single .p-single__nav {
  margin-block-start: 6rem;
}
@media screen and (max-width: 767px) {
  .p-event-single .p-single__nav {
    margin-block-start: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .p-event-single .p-single__nav-link {
    gap: 0.25rem;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-event-single .p-single__nav-back {
    padding-inline: 0.75rem;
    font-size: 0.75rem;
  }
}

@media screen and (min-width: 1921px) {
  #evolution-update-01 .p-concept-feature__hero-media {
    height: auto;
  }
}

#evolution-update-01 .p-concept-feature__hero-media img {
  aspect-ratio: 1448/1086;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 1921px) {
  #evolution-update-01 .p-concept-feature__hero-media img {
    height: auto;
    aspect-ratio: 1448/1086;
  }
}
@media screen and (max-width: 767px) {
  #evolution-update-01 .p-concept-feature__hero-media img {
    aspect-ratio: 1448/1086;
  }
}

#evolution-update-02 .p-concept-feature__lead {
  margin-block-start: 2.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  #evolution-update-02 .p-concept-feature__lead {
    margin-block-start: 1.6875rem;
    line-height: 1.6428571429;
  }
}

#evolution-update-02 .p-evolution-update__list {
  max-width: 36rem;
  margin-block-start: 1.5rem;
  padding-block-start: 1.125rem;
}
@media screen and (max-width: 767px) {
  #evolution-update-02 .p-evolution-update__list {
    margin-block-start: 1.25rem;
    padding-block-start: 1rem;
  }
}

.p-evolution-update__list {
  max-width: 36rem;
  margin-block-start: 2.125rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-evolution-update__list {
    display: grid;
    gap: 0.375rem;
    max-width: none;
    margin-block-start: 1.25rem;
    padding-block-start: 1rem;
  }
}

.p-evolution-update__item {
  padding-block: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-evolution-update__item {
    display: block;
    padding-block: 0.375rem;
  }
}

.p-evolution-update__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
}

.p-evolution-update__feature-text {
  min-width: 0;
}

.p-evolution-update__check {
  display: block;
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.75rem;
  margin-block-start: 0.3125rem;
}

@media screen and (max-width: 767px) {
  .p-evolution-update__feature {
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.2857142857;
  }
  .p-evolution-update__check {
    width: 0.6875rem;
    height: 0.5625rem;
    margin-block-start: 0.125rem;
  }
}
.p-evolution-intro {
  position: relative;
  overflow: hidden;
  min-height: 31.25rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-evolution-intro {
    min-height: 0;
  }
}

.p-evolution-intro__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-evolution-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-evolution-intro__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.p-evolution-intro__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 81.25rem);
  padding-block: 6.25rem 6.875rem;
  padding-inline: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-evolution-intro__inner {
    width: min(100%, 38.5rem);
    padding-block: 3rem 3.5rem;
    padding-inline: 1.75rem;
  }
}

.p-evolution-intro__heading {
  max-width: 32.5rem;
  margin-inline: auto;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-evolution-intro__heading {
    font-size: 1.5rem;
    line-height: 1.8571428571;
    letter-spacing: 0.12em;
  }
}

.p-evolution-intro__text {
  max-width: 51.25rem;
  margin-block-start: 2.25rem;
  margin-inline: auto;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-evolution-intro__text {
    margin-block-start: 1.5rem;
    line-height: 1.6428571429;
    text-align: start;
  }
}

.p-evolution-intro__text p + p {
  margin-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-evolution-intro__text p + p {
    margin-block-start: 0.75rem;
  }
}

.p-evolution-intro__content .p-evolution-intro__heading,
.p-evolution-intro__content .p-evolution-intro__text {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.9s var(--easing), transform 0.9s var(--easing);
}

.p-evolution-intro__content.is-inview .p-evolution-intro__heading {
  opacity: 1;
  transform: none;
}

.p-evolution-intro__content.is-inview .p-evolution-intro__text {
  opacity: 1;
  transform: none;
  transition-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .p-evolution-intro__content .p-evolution-intro__heading,
  .p-evolution-intro__content .p-evolution-intro__text {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.p-footer {
  position: relative;
  padding: 6.3125rem 0 6.6875rem;
  background-color: #edf1f8;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding: 2.0625rem 0 5.625rem;
  }
}

.p-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 5rem 3.75rem;
  width: min(100%, 83rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 2.5rem;
    width: min(100%, 38.5rem);
    padding-inline: 1.8125rem;
  }
}

.p-footer__brand {
  flex: 1 1 20rem;
  max-width: 26.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: none;
    max-width: none;
  }
}

.p-footer__catch {
  color: var(--color-text);
  font-size: 2.125rem;
  font-weight: 500;
  line-height: 3.75rem;
  letter-spacing: 0.08em;
  overflow-wrap: normal;
  word-break: keep-all;
}
@media screen and (max-width: 767px) {
  .p-footer__catch {
    font-size: 1.5rem;
    line-height: 2.8125rem;
  }
}

.p-footer__logo {
  display: block;
  width: 12.3125rem;
  height: 5.75rem;
  margin-block-start: 10.3125rem;
  margin-inline-start: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    margin-block-start: 2.375rem;
    margin-inline-start: 0;
  }
}

.p-footer__logo-img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-footer__company {
  margin-block-start: 2.0625rem;
  font-size: 0.875rem;
  line-height: 1.4375rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-footer__company {
    margin-block-start: 0.875rem;
    text-align: center;
  }
}

.p-footer__tel {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__tel {
    gap: 0.25rem;
    margin-block-start: 0.875rem;
  }
}

.p-footer__tel-label {
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.13em;
}

.p-footer__tel-number {
  font-family: var(--ff-en);
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .p-footer__tel-number {
    font-size: 1.75rem;
  }
}

.p-footer__sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__sns {
    justify-content: center;
    margin-block-start: 1.25rem;
  }
}

.p-footer__sns-link {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-text);
  transition: opacity var(--duration) var(--easing);
}

.p-footer__sns-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (any-hover: hover) {
  .p-footer__sns-link:hover {
    opacity: 0.6;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-footer__sns-link {
    transition: none;
  }
}
.p-footer__nav-wrap {
  flex: 1 1 22.5rem;
  max-width: 25.75rem;
  padding-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-wrap {
    flex: none;
    max-width: none;
    padding-block-start: 0;
  }
}

.p-footer__nav {
  display: grid;
  gap: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    gap: 0.75rem;
  }
}

.p-footer__nav-heading {
  font-family: var(--ff-en);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-heading {
    font-size: 1.125rem;
  }
}

.p-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0.75rem;
  padding-inline-start: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    margin-block-start: 0.25rem;
    padding-inline-start: 0;
  }
}

.p-footer__nav-list + .p-footer__nav-list {
  margin-block-start: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list + .p-footer__nav-list {
    margin-block-start: 0;
  }
}

.p-footer__nav-list--contact {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  row-gap: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-list--contact {
    width: 100%;
    max-width: none;
  }
}

.p-footer__nav-list--contact li:last-child {
  grid-column: 1/-1;
}

.p-footer__nav-link {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 2.25rem;
  letter-spacing: 0.02em;
  overflow-wrap: normal;
  word-break: keep-all;
  text-autospace: no-autospace;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-link {
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
}
.p-footer__nav-link::before {
  content: "-";
}
.p-footer__nav-link::after {
  content: "";
  position: absolute;
  inset-block-end: 0.375rem;
  inset-inline: 0;
  height: 1px;
  background-color: currentcolor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--duration) var(--easing);
}

@media (any-hover: hover) {
  .p-footer__nav-link:hover {
    opacity: 1;
  }
  .p-footer__nav-link:hover::after {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-footer__nav-link::after {
    transition: none;
  }
}
.p-footer__copyright {
  margin-block-start: 6.5625rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    margin-block-start: 1.6875rem;
    letter-spacing: 0.06em;
    text-align: center;
  }
}

.p-footer__pagetop {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: fixed;
  inset-inline-end: 1.875rem;
  inset-block-end: 3.125rem;
  z-index: var(--z-index-header);
  width: 1.5rem;
  height: 5rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: translate var(--duration) var(--easing), opacity var(--duration) var(--easing), visibility var(--duration) var(--easing);
}
.p-footer__pagetop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__pagetop {
    position: absolute;
    inset-inline-end: 1.875rem;
    inset-block-end: 8.125rem;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.p-footer__pagetop-icon {
  display: block;
  width: 0.5625rem;
  height: 5rem;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (any-hover: hover) {
  .p-footer__pagetop:hover {
    translate: 0 -0.25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-footer__pagetop {
    transition: none;
  }
}
.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-primary);
  --_form-color-border: var(--color-border);
  --_form-color-primary: var(--color-primary);
  max-width: 62.5rem;
  margin-inline: auto;
}
.p-form > * {
  margin-block-start: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-form > * {
    margin-block-start: 2.5rem;
  }
}
.p-form > *:nth-last-child(2) {
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-form > *:nth-last-child(2) {
    margin-block-start: 1.5rem;
  }
}

.p-form.p-form--confirm .p-form__label {
  margin-block-start: 0;
}
.p-form.p-form--confirm > .p-form__item:first-child {
  margin-block-start: 0;
}

.p-form.p-form--confirm .p-form__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-form.p-form--confirm .p-form__actions {
    grid-template-columns: minmax(0, 1fr);
    margin-block-start: 2.5rem;
  }
}

.p-form.p-form--confirm .p-form__action {
  display: flex;
  min-width: 0;
}

.p-form.p-form--confirm .p-form__action-link-wrap {
  width: 100%;
}

.p-form.p-form--confirm .p-form__action-link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  gap: 1rem;
  width: 100%;
  min-height: 4.375rem;
  margin-block-start: 0;
  padding: 1rem 1.75rem 1rem 2.1875rem;
  border: 1px solid var(--color-text);
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 767px) {
  .p-form.p-form--confirm .p-form__action-link {
    width: min(100%, 25rem);
    margin-inline: auto;
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}
@media (any-hover: hover) {
  .p-form.p-form--confirm .p-form__action-link:hover {
    background-color: color-mix(in srgb, var(--color-primary) 5%, white);
  }
}

.p-form.p-form--confirm .p-form__action-link-arrow {
  flex-shrink: 0;
  width: 1.625rem;
  height: 1.625rem;
  scale: -1 1;
}

.p-form.p-form--confirm .p-form__action-link-arrow .c-button__arrow-circle {
  stroke: currentcolor;
}

.p-form.p-form--confirm .p-form__action-link-text {
  text-align: start;
}

.p-form.p-form--confirm .p-form__action .c-button {
  min-height: 4.375rem;
  padding-block: 1rem;
  transition: opacity var(--duration) var(--easing);
}
@media (any-hover: hover) {
  .p-form.p-form--confirm .p-form__action .c-button:hover {
    opacity: 0.8;
  }
}

.p-form__item {
  display: flex;
  align-items: flex-start;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__item {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.p-form__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.875rem;
  min-width: 15.625rem;
  margin-block-start: 0.9em;
  color: var(--_form-color-text);
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-form__label {
    gap: 1rem;
    min-width: auto;
  }
}

.p-form__label-note {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--_form-color-text);
}

.p-form__label-required {
  display: inline-block;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border-radius: 4px;
  background-color: #990000;
  color: var(--_form-color-badge-text);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-form__label-required {
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
  }
}

.p-form__data {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-form__data {
    flex: auto;
    width: 100%;
  }
}

.p-form__data-inner {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.p-form__data-inner > * {
  flex: 1;
}

.p-form__address {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-form__input,
.p-form__select,
.p-form__textarea {
  width: 100%;
  padding: 1rem 1.25rem;
  border: 1px solid var(--_form-color-border);
  border-radius: 0.375rem;
  background-color: var(--_form-color-bg);
  color: var(--_form-color-text);
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__input,
  .p-form__select,
  .p-form__textarea {
    padding: 0.875rem 1.25rem;
  }
}

.p-form__input::-moz-placeholder, .p-form__select::-moz-placeholder, .p-form__textarea::-moz-placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__input::placeholder,
.p-form__select::placeholder,
.p-form__textarea::placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__input:focus,
.p-form__select:focus,
.p-form__textarea:focus {
  border-color: var(--_form-color-accent);
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__input:hover:not(:focus),
.p-form__select:hover:not(:focus),
.p-form__textarea:hover:not(:focus) {
  border-color: var(--_form-color-accent);
  opacity: 0.7;
}

.p-form__input.is-error,
.p-form__select.is-error,
.p-form__textarea.is-error {
  border-color: var(--_form-color-badge-bg);
}

.p-form__select {
  position: relative;
  padding-inline-end: 3rem;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.p-form__select-wrap {
  position: relative;
}

.p-form__select-wrap::after {
  content: "";
  position: absolute;
  top: 1.75rem;
  right: 1rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 0.75rem;
  height: 0.5rem;
  border: none;
  background-color: var(--_form-color-primary);
  pointer-events: none;
  translate: 0 -50%;
}

.p-form__textarea {
  min-height: 10rem;
  resize: vertical;
}

.p-form__radio-group {
  display: flex;
  flex-direction: column;
  gap: 2rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__radio-group {
    flex-flow: row wrap;
    gap: 0.5rem;
  }
}

.p-form__radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
}

.p-form__radio input[type=radio] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 50%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__radio input[type=radio]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}

.p-form__radio input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--_form-color-bg);
  translate: -50% -50%;
}

.p-form__radio input[type=radio]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__radio input[type=radio]:focus {
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__radio-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.p-form__checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
  cursor: pointer;
}

.p-form__checkbox input[type=checkbox] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 4px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__checkbox input[type=checkbox]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}

.p-form__checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.625rem;
  border: 2px solid var(--_form-color-bg);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}

.p-form__checkbox input[type=checkbox]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__checkbox input[type=checkbox]:focus {
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
  outline: none;
}

.p-form__checkbox-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

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

.p-form__acceptance-text {
  color: var(--_form-color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-form__acceptance-text {
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}
.p-form__acceptance-text + * {
  display: block;
  margin-block-start: 1rem;
}

.p-form__privacy {
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
}

.p-form__acceptance .p-form__data-checkbox {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__data-checkbox {
    display: flex;
    justify-content: center;
  }
}

.p-form__acceptance input[type=checkbox] {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  margin-inline-end: 0.5rem;
  border: 2px solid var(--_form-color-border);
  border-radius: 4px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease;
}

.p-form__acceptance input[type=checkbox]:checked {
  border-color: var(--_form-color-accent);
  background-color: var(--_form-color-accent);
}
.p-form__acceptance input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.3125rem;
  width: 0.375rem;
  height: 0.625rem;
  border: 2px solid var(--_form-color-bg);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}

.p-form__acceptance input[type=checkbox]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__acceptance .p-form__label-required {
  margin-inline-end: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__label-required {
    margin-inline-end: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-form__acceptance .p-form__checkbox-text {
    font-size: 0.875rem;
  }
}

.p-form__link {
  color: var(--_form-color-accent);
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .p-form__link:hover {
    opacity: 0.8;
  }
}

.p-form__submit {
  text-align: center;
}

.p-form__error {
  display: block;
  color: var(--_form-color-badge-bg);
  font-size: 0.875rem;
}

.p-form__success {
  padding: 1.5rem;
  border: 1px solid var(--_form-color-accent);
  border-radius: 8px;
  background-color: rgba(64, 143, 149, 0.1);
  color: var(--_form-color-accent);
  font-size: 1rem;
  text-align: center;
}

.wpcf7-list-item {
  display: flex;
  margin: 0;
}

.p-form__radio .wpcf7-list-item-label,
.p-form__radio .wpcf7-li label {
  color: var(--_form-color-text);
  font-size: 1rem;
  line-height: 1.5;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.p-form__radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.p-form__checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.p-form__item .wpcf7-list-item {
  display: flex;
  align-items: center;
}

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

.p-form__people-label {
  white-space: nowrap;
}

.p-form__people-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.p-form__people-item:not(:last-child)::after {
  content: "/";
  display: inline-block;
  margin-inline-start: 0.375rem;
  color: var(--_form-color-text);
}

.p-form__people-unit {
  white-space: nowrap;
}

.p-form__data-flex {
  display: flex;
  align-items: stretch;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-form__data-flex {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.p-form__data-flex > * {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}

.p-form--confirm .p-form__data-flex > * {
  flex: none;
}

.p-form__date {
  width: 100%;
  min-width: 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--_form-color-border);
  border-radius: 0.375rem;
  background-color: var(--_form-color-bg);
  color: var(--_form-color-text);
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-form__date {
    padding: 0.875rem 1.25rem;
  }
}

.p-form__date::-moz-placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__date::placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__date: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__date:hover:not(:focus) {
  border-color: var(--_form-color-accent);
  opacity: 0.7;
}

.p-form__date.is-error {
  border-color: var(--_form-color-badge-bg);
}

.p-form__sub {
  margin-block-start: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-section);
}

.p-form__sub-label {
  margin-block-end: 0.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.6;
}

.p-form__note {
  font-size: 0.75rem;
}

.p-form__data-referrer {
  width: 100%;
}

.p-form__data-checkbox-box .p-form__checkbox,
.p-form__data-checkbox-box .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.p-form__data-checkbox-box .wpcf7-list-item {
  margin: 0;
}

.p-form__data-radio .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}

.p-form__item:has(.p-form__data-radio) .p-form__label {
  margin-block-start: 0;
}
@media screen and (max-width: 767px) {
  .p-form__item:has(.p-form__data-radio) .p-form__label {
    margin-block-start: 0.9em;
  }
}

.flatpickr-calendar {
  z-index: 100050;
}

.flatpickr-wrapper {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

.flatpickr-input {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.p-header {
  height: var(--header-height);
  background-color: var(--color-white);
  color: var(--color-text);
  transition: height var(--duration), background-color var(--duration), backdrop-filter var(--duration), transform 0.3s ease;
}
.p-header.is-open .p-header__inner {
  background-color: var(--color-white);
}
.p-header.is-compact {
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: saturate(180%) blur(12px);
}
@media (min-width: 1024px) {
  .p-header.is-compact {
    --header-height: 64px;
  }
}
.p-header.is-hidden {
  transition: height var(--duration), background-color var(--duration), backdrop-filter var(--duration), transform 0.3s ease 0.3s;
}
.p-header.is-over-mv:not(.is-open):not(.is-compact) {
  --_mv-theme-duration: 1.6s;
  background-color: transparent;
  color: var(--color-white);
}
.p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__nav-item > a,
.p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__cta,
.p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__hamburger {
  color: var(--color-white);
  transition: color var(--_mv-theme-duration) ease, border-color var(--_mv-theme-duration) ease, opacity var(--duration);
}
.p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__cta {
  border-color: var(--color-white);
}
.p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__logo-img {
  filter: brightness(0) invert(1);
  transition: filter var(--_mv-theme-duration) ease;
}

.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  position: relative;
  z-index: calc(var(--z-index-overlay) + 2);
  height: inherit;
  padding-block: 0.625rem;
  padding-inline: clamp(calc(31 * var(--to-rem)), calc(-4.4285714286 * var(--to-rem) + 3.4598214286vw), calc(62 * var(--to-rem))) clamp(calc(20 * var(--to-rem)), calc(-4 * var(--to-rem) + 2.34375vw), calc(41 * var(--to-rem)));
  transition: padding var(--duration);
}
@media screen and (max-width: 1023px) {
  .p-header__inner {
    padding-block: 0;
    padding-inline: 1.75rem;
  }
}

.p-header__logo {
  flex-shrink: 0;
  width: clamp(calc(160 * var(--to-rem)), calc(68.5714285714 * var(--to-rem) + 8.9285714286vw), calc(240 * var(--to-rem)));
  height: auto;
  aspect-ratio: 240/35;
  transition: width var(--duration);
}
@media screen and (max-width: 1023px) {
  .p-header__logo {
    width: 10.25rem;
    height: 1.5rem;
  }
}

.p-header__logo a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.p-header__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}

.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) {
  color: #080b0f;
}
.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__nav-item > a,
.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__cta,
.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__hamburger {
  color: #080b0f;
}
.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__cta {
  border-color: #080b0f;
}
.mv-is-light .p-header.is-over-mv:not(.is-open):not(.is-compact) .p-header__logo-img {
  filter: brightness(0);
}

.p-header__logo-img--sp {
  display: none;
}

@media screen and (max-width: 1023px) {
  .p-header__logo-img--pc {
    display: none;
  }
  .p-header__logo-img--sp {
    display: block;
  }
}
.p-header__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  gap: clamp(calc(20 * var(--to-rem)), calc(-25.7142857143 * var(--to-rem) + 4.4642857143vw), calc(60 * var(--to-rem)));
  height: inherit;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: clamp(calc(22 * var(--to-rem)), calc(-3.1428571429 * var(--to-rem) + 2.4553571429vw), calc(44 * var(--to-rem)));
  height: inherit;
  transition: gap var(--duration);
}

.p-header__nav-item {
  height: inherit;
}

.p-header__nav-item > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  height: inherit;
  color: var(--color-text);
  text-align: center;
  white-space: nowrap;
  transition: gap var(--duration), opacity var(--duration);
}
@media (any-hover: hover) {
  .p-header__nav-item > a:hover {
    opacity: 0.7;
  }
}

.p-header__nav-label {
  font-family: var(--ff-base);
  font-size: clamp(calc(12 * var(--to-rem)), calc(9.7142857143 * var(--to-rem) + 0.2232142857vw), calc(14 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  transition: font-size var(--duration);
}

.p-header__nav-en {
  font-family: var(--ff-en);
  font-size: clamp(calc(10 * var(--to-rem)), calc(7.7142857143 * var(--to-rem) + 0.2232142857vw), calc(12 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  transition: font-size var(--duration);
}

.p-header__actions {
  display: flex;
  align-items: center;
  gap: clamp(calc(11 * var(--to-rem)), calc(-2.7142857143 * var(--to-rem) + 1.3392857143vw), calc(23 * var(--to-rem)));
  height: inherit;
  padding-block: 0.625rem;
  padding-inline-end: 0;
  transition: padding var(--duration);
}

.p-header__cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.125rem;
  box-sizing: border-box;
  width: clamp(calc(128 * var(--to-rem)), calc(96 * var(--to-rem) + 3.125vw), calc(156 * var(--to-rem)));
  height: 3rem;
  border: 1px solid var(--color-text);
  background-color: transparent;
  color: var(--color-text);
  text-align: center;
  white-space: nowrap;
  transition: width var(--duration), height var(--duration), opacity var(--duration);
}
@media (any-hover: hover) {
  .p-header__cta:hover {
    opacity: 0.7;
  }
}

.p-header__cta-label {
  font-family: var(--ff-base);
  font-size: clamp(calc(12 * var(--to-rem)), calc(9.7142857143 * var(--to-rem) + 0.2232142857vw), calc(14 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  transition: font-size var(--duration);
}

.p-header__cta-en {
  font-family: var(--ff-en);
  font-size: clamp(calc(8 * var(--to-rem)), calc(5.7142857143 * var(--to-rem) + 0.2232142857vw), calc(10 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  transition: font-size var(--duration);
}

@media (min-width: 1024px) {
  .p-header.is-compact .p-header__inner {
    padding-block: 0.375rem;
  }
  .p-header.is-compact .p-header__logo {
    width: clamp(calc(136 * var(--to-rem)), calc(62.8571428571 * var(--to-rem) + 7.1428571429vw), calc(200 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__nav {
    gap: clamp(calc(16 * var(--to-rem)), calc(-11.4285714286 * var(--to-rem) + 2.6785714286vw), calc(40 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__nav-list {
    gap: clamp(calc(16 * var(--to-rem)), calc(-2.2857142857 * var(--to-rem) + 1.7857142857vw), calc(32 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__nav-item > a {
    gap: 0.25rem;
  }
  .p-header.is-compact .p-header__nav-label {
    font-size: clamp(calc(11 * var(--to-rem)), calc(9.8571428571 * var(--to-rem) + 0.1116071429vw), calc(12 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__nav-en {
    font-size: clamp(calc(9 * var(--to-rem)), calc(7.8571428571 * var(--to-rem) + 0.1116071429vw), calc(10 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__actions {
    padding-block: 0;
  }
  .p-header.is-compact .p-header__cta {
    width: clamp(calc(112 * var(--to-rem)), calc(84.5714285714 * var(--to-rem) + 2.6785714286vw), calc(136 * var(--to-rem)));
    height: 2.25rem;
  }
  .p-header.is-compact .p-header__cta-label {
    font-size: clamp(calc(11 * var(--to-rem)), calc(9.8571428571 * var(--to-rem) + 0.1116071429vw), calc(12 * var(--to-rem)));
  }
  .p-header.is-compact .p-header__cta-en {
    font-size: clamp(calc(8 * var(--to-rem)), calc(6.8571428571 * var(--to-rem) + 0.1116071429vw), calc(9 * var(--to-rem)));
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-header,
  .p-header__inner,
  .p-header__logo,
  .p-header__nav-list,
  .p-header__nav-item > a,
  .p-header__nav-label,
  .p-header__nav-en,
  .p-header__actions,
  .p-header__cta,
  .p-header__cta-label,
  .p-header__cta-en {
    transition: none;
  }
}
.p-header__hamburger {
  position: relative;
  z-index: calc(var(--z-index-overlay) + 3);
  display: none;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  width: 2.75rem;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  color: var(--color-text);
  outline: none;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .p-header__hamburger {
    display: flex;
  }
}
.p-header__hamburger.is-open {
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}

.p-header__hamburger-bars {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: 2.5rem;
}

.p-header__hamburger.is-open .p-header__hamburger-bars {
  position: relative;
  display: block;
  width: 2rem;
  height: 2rem;
  gap: 0;
}

.p-header__hamburger-bars span {
  display: block;
  width: 100%;
  height: 1.5px;
  background-color: currentcolor;
  transition: transform var(--duration), opacity var(--duration);
}

.p-header__hamburger.is-open .p-header__hamburger-bars span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
}
.p-header__hamburger.is-open .p-header__hamburger-bars span:nth-of-type(1) {
  transform: translateY(-50%) rotate(45deg);
}
.p-header__hamburger.is-open .p-header__hamburger-bars span:nth-of-type(2) {
  opacity: 0;
}
.p-header__hamburger.is-open .p-header__hamburger-bars span:nth-of-type(3) {
  transform: translateY(-50%) rotate(-45deg);
}

.p-header__hamburger-label {
  margin-block-start: 0.5rem;
  color: currentcolor;
  font-family: var(--ff-base);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 0.625rem;
  letter-spacing: 0.06em;
  text-align: center;
}

.p-header__hamburger.is-open .p-header__hamburger-label {
  display: none;
}

.p-header__drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-overlay);
  display: none;
  overflow-y: auto;
  width: 100%;
  height: 100svh;
  padding-block: calc(var(--header-height) + 0.5rem) 2.5rem;
  padding-inline: 0;
  background-color: var(--color-white);
  scrollbar-width: none;
  transform: translateY(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--duration) var(--easing), opacity var(--duration) var(--easing);
}
.p-header__drawer::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  .p-header__drawer {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .p-header__drawer {
    display: block;
  }
  .p-header__drawer.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}

.p-header__drawer-nav {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - var(--header-height) - 3rem);
}

.p-header__drawer-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-border);
}

.p-header__drawer-item {
  border-bottom: 1px solid var(--color-border);
}

.p-header__drawer-item > a,
.p-header__drawer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  box-sizing: border-box;
  min-height: 3.5rem;
  padding-block: 0;
  padding-inline: 1.25rem 0.5rem;
  color: var(--color-text);
}

.p-header__drawer-link {
  flex: 1;
  display: flex;
  align-items: center;
  align-self: stretch;
  min-width: 0;
  color: var(--color-text);
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-header__drawer-link:hover {
    opacity: 0.7;
  }
}

.p-header__drawer-item > a {
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-header__drawer-item > a:hover {
    opacity: 0.7;
  }
}

.p-header__drawer-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: left;
}

.p-header__drawer-item .p-header__nav-label {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.p-header__drawer-icon,
.p-header__drawer-toggle {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3.5rem;
}

.p-header__drawer-arrow {
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1.5px solid var(--color-text);
  border-right: 1.5px solid var(--color-text);
  rotate: 45deg;
  translate: -0.125rem 0;
}

.p-header__drawer-toggle {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
}

.p-header__drawer-plus {
  position: relative;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
}

.p-header__drawer-plus::before,
.p-header__drawer-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: currentcolor;
  translate: -50% -50%;
}

.p-header__drawer-plus::before {
  width: 100%;
  height: 1px;
}

.p-header__drawer-plus::after {
  width: 1px;
  height: 100%;
  transition: opacity 0.25s ease;
}

.p-header__drawer-item--has-sub.is-open .p-header__drawer-plus::after {
  opacity: 0;
}

.p-header__drawer-sub {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-header__drawer-item--has-sub.is-open .p-header__drawer-sub {
  grid-template-rows: 1fr;
}

.p-header__drawer-sub-inner {
  overflow: hidden;
  min-height: 0;
  opacity: 0;
  transform: translateY(-0.375rem);
  transition: opacity 0.28s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-header__drawer-item--has-sub.is-open .p-header__drawer-sub-inner {
  opacity: 1;
  transform: translateY(0);
}

.p-header__drawer-sub-list {
  border-top: 1px solid var(--color-border);
}

.p-header__drawer-sub-list a {
  display: block;
  padding-block: 0.875rem;
  padding-inline: 2.25rem 1.25rem;
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-header__drawer-sub-list a:hover {
    opacity: 0.7;
  }
}

.p-header__drawer-sub-list li:first-child a {
  border-top: none;
}

.p-header__drawer-actions {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  width: min(100%, 38.5rem);
  margin-block-start: auto;
  margin-inline: auto;
  padding-block: 1.75rem 1rem;
  padding-inline: 1.25rem;
}

.p-header__drawer-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  min-height: 7.5rem;
  padding: 1.5rem 1rem 1rem;
  border-radius: 0.375rem;
  color: var(--color-white);
}

.p-header__drawer-cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 32%;
     object-position: center 32%;
}

.p-header__drawer-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.p-header__drawer-cta--catalog::before {
  background-color: oklch(from #00184d l c h/70%);
}

.p-header__drawer-cta--modelhouse::before {
  background-color: oklch(from var(--color-black) l c h/60%);
}

.p-header__drawer-cta--mail {
  border: 1px solid oklch(from var(--color-text) l c h/65%);
  color: var(--color-text);
}

.p-header__drawer-cta--mail::before {
  background-color: oklch(from var(--color-white) l c h/65%);
}

.p-header__drawer-cta-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: flex-start;
}

.p-header__drawer-cta-en {
  font-family: var(--ff-en);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.13em;
}

.p-header__drawer-cta-label {
  font-family: var(--ff-base);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.06em;
}

.p-header__drawer-cta-arrow {
  z-index: 2;
  align-self: flex-end;
}

.p-modelhouse-archive__list {
  padding-block: 6.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-archive__list {
    padding-block: 3rem 0.25rem;
  }
}

.p-modelhouse-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: start;
  gap: clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-modelhouse-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.125rem 0.875rem;
  }
}

.p-modelhouse-single__access {
  padding-block: 4rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access {
    padding-block: 2.5rem 3rem;
  }
}

.p-modelhouse-single__access-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-head {
    gap: 0.625rem;
  }
}

.p-modelhouse-single__access-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__access-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__access-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__access-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    margin-block-start: 2rem;
  }
}

.p-modelhouse-single__access-map {
  aspect-ratio: 536/402;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: #ddd;
}

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

.p-modelhouse-single__access-list {
  border-block-start: 1px solid #ccc;
}

.p-modelhouse-single__access-item {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  border-block-end: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-item {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-modelhouse-single__access-term {
  padding: 1.25rem 0;
  color: #555;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-term {
    padding: 1rem 0 0.5rem;
  }
}

.p-modelhouse-single__access-detail {
  padding: 1.25rem 0 1.25rem 1.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.p-modelhouse-single__access-detail > span {
  display: block;
}
.p-modelhouse-single__access-detail a {
  color: inherit;
}
.p-modelhouse-single__access-detail .p-modelhouse-single__access-tel {
  font-family: var(--ff-en);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__access-detail {
    padding: 0 0 1rem;
  }
}

.p-modelhouse-single__gallery {
  padding-block: 4rem 4.5rem;
  background-color: var(--color-bg-section);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery {
    padding-block: 2.5rem 3rem;
  }
}

.p-modelhouse-single__gallery-head {
  display: grid;
  gap: 1.75rem;
  justify-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-head {
    gap: 0.625rem;
  }
}

.p-modelhouse-single__gallery-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__gallery-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__gallery-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__gallery-lead {
  max-width: 45rem;
  margin-block-start: 2.125rem;
  margin-inline: auto;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-lead {
    margin-block-start: 1.25rem;
  }
}

.p-modelhouse-single__gallery-slider {
  margin-block-start: 3rem;
}

.p-modelhouse-single__gallery-controls {
  width: min(100%, 50rem + 2rem * 2 + 1rem * 2);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-controls {
    width: 100%;
  }
}

.p-modelhouse-single__gallery-stage {
  display: grid;
  grid-template-columns: 2rem minmax(0, 50rem) 2rem;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-stage {
    position: relative;
    display: block;
    container-type: inline-size;
  }
}

.p-modelhouse-single__gallery-main {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3/2;
}

.p-modelhouse-single__gallery-main .swiper-wrapper,
.p-modelhouse-single__gallery-main .swiper-slide {
  height: 100%;
}

.p-modelhouse-single__gallery-slide {
  background-color: #ddd;
}

.p-modelhouse-single__gallery-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-modelhouse-single__gallery-slide.is-portrait img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-modelhouse-single__gallery-prev,
.p-modelhouse-single__gallery-next {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-row: 1;
  width: 2rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-text);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-prev,
  .p-modelhouse-single__gallery-next {
    position: absolute;
    top: 33.3333333333cqw;
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-text);
    transform: translateY(-50%);
  }
}

.p-modelhouse-single__gallery-prev {
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-prev {
    left: 0.5rem;
  }
}

.p-modelhouse-single__gallery-next {
  grid-column: 3;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-next {
    right: 0.5rem;
  }
}

.p-modelhouse-single__gallery-prev::before,
.p-modelhouse-single__gallery-next::before {
  content: "";
  width: 1.08125rem;
  height: 1.08125rem;
  border-block-start: 1.5px solid currentcolor;
  border-inline-end: 1.5px solid currentcolor;
}

.p-modelhouse-single__gallery-prev::before {
  rotate: -135deg;
}

.p-modelhouse-single__gallery-next::before {
  rotate: 45deg;
}

.p-modelhouse-single__gallery-caption {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  z-index: 1;
  width: 100%;
  min-height: 4rem;
  padding-block: 1.75rem 0.75rem;
  padding-inline: 1rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0) 100%);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__gallery-caption {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    min-height: auto;
    padding-block: 1rem 0.25rem;
  }
}

.p-modelhouse-single__gallery-caption:empty {
  display: none;
}

.p-modelhouse-single__gallery-thumbs {
  width: min(100%, 50rem);
  margin-block-start: 1rem;
  margin-inline: auto;
}
.p-modelhouse-single__gallery-thumbs .swiper-slide {
  flex-shrink: 0;
  width: 8.125rem;
  max-width: 8.125rem;
}

.p-modelhouse-single__gallery-thumb {
  width: 100%;
  padding: 0;
  border: 3px solid transparent;
  background: none;
  cursor: pointer;
  overflow: hidden;
}

.p-modelhouse-single__gallery-thumb.swiper-slide-thumb-active {
  border-color: var(--color-text);
}

.p-modelhouse-single__gallery-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 130/97.5;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-modelhouse-single__highlights {
  padding-block: 4rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__highlights {
    padding-block: 2.5rem 3rem;
  }
}

.p-modelhouse-single__highlights-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__highlights-head {
    gap: 0.625rem;
  }
}

.p-modelhouse-single__highlights-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__highlights-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__highlights-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__highlights-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__highlights-lead {
  max-width: 45rem;
  margin-block-start: 2.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__highlights-lead {
    margin-block-start: 1.25rem;
  }
}

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

.p-modelhouse-single__highlight-card {
  height: 100%;
  background-color: var(--color-white);
}

.p-modelhouse-single__highlight-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 0.375rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-modelhouse-single__highlight-body {
  padding: 1rem 1rem 0;
}

.p-modelhouse-single__highlight-label {
  color: #666;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.p-modelhouse-single__highlight-title {
  margin-block-start: 0.5rem;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-modelhouse-single__highlight-text {
  margin-block-start: 0.625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
}

.p-modelhouse-single__intro {
  padding-block: 4.5rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__intro {
    padding-block: 2.5rem 3rem;
  }
}

.p-modelhouse-single__intro-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 33rem);
  gap: 4rem;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-modelhouse-single__intro-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(calc(24 * var(--to-rem)), calc(-24 * var(--to-rem) + 6.25vw), calc(40 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__intro-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

.p-modelhouse-single__intro-heading {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__intro-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__intro-heading {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-modelhouse-single__intro-text {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__intro-text {
    margin-block-start: 1.25rem;
    line-height: 2;
  }
}

.p-modelhouse-single__intro-media {
  overflow: hidden;
  border-radius: 0.25rem;
}

.p-modelhouse-single__intro-media img {
  display: block;
  width: 100%;
  aspect-ratio: 528/396;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-modelhouse-single__related {
  padding-block: 4rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__related {
    padding-block: 2.5rem 0.25rem;
  }
}

.p-modelhouse-single__related-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__related-head {
    gap: 1.25rem;
  }
}

.p-modelhouse-single__related-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__related-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__related-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__related-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: start;
  gap: clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__related-grid {
    grid-template-columns: repeat(2, minmax(10rem, 1fr));
    gap: 1.125rem 0.875rem;
    margin-block-start: 2rem;
  }
}

.p-modelhouse-single__reserve {
  padding-block: 4rem 4.5rem;
  background: var(--gradient-bg-mist);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve {
    padding-block: 2.5rem 3rem;
    background: var(--gradient-bg-mist-sp);
  }
}

.p-modelhouse-single__reserve-head {
  display: grid;
  gap: 2.125rem;
  justify-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-head {
    gap: 1.25rem;
  }
}

.p-modelhouse-single__reserve-title {
  display: grid;
  gap: 1.75rem;
  justify-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-title {
    gap: 0.625rem;
  }
}

.p-modelhouse-single__reserve-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__reserve-heading {
  max-width: 40.4375rem;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__reserve-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__reserve-lead {
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}

.p-modelhouse-single__reserve-panel {
  width: min(100%, 62.5rem);
  margin-block-start: 3rem;
  margin-inline: auto;
  padding: 3.125rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-panel {
    margin-block-start: 2rem;
    padding: 2rem 1.5rem;
  }
}

.p-modelhouse-single__reserve-panel-title {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-panel-title {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__reserve-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 1.5rem;
  margin-block-start: 2rem;
}

.p-modelhouse-single__reserve-button {
  display: flex;
  width: 17.0625rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-button {
    width: 100%;
  }
}

.p-modelhouse-single__reserve-button .c-button {
  min-height: 4.375rem;
  padding: 1rem 1.75rem 1rem 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-button .c-button {
    min-height: 4.375rem;
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}

.p-modelhouse-single__reserve-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  gap: 1rem;
  width: 100%;
  height: 4.375rem;
  min-height: 4.375rem;
  padding: 1rem 1.75rem 1rem 2.1875rem;
  border: 1px solid var(--color-text);
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-link {
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}

.p-modelhouse-single__reserve-link--tel {
  justify-content: center;
  padding-inline: 1.75rem;
  font-family: var(--ff-en);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-link--tel {
    font-size: 1.125rem;
  }
}

.p-modelhouse-single__reserve-link-text {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-link-text {
    gap: 0.25rem;
  }
}

.p-modelhouse-single__reserve-link-label {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__reserve-link-label {
    font-size: 0.875rem;
  }
}

.p-modelhouse-single__spec {
  overflow-x: clip;
  padding-block: 4rem 4.5rem;
  background-color: #f0f0f0;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec {
    padding-block: 2.5rem 3rem;
  }
}

.p-modelhouse-single__spec-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-inner {
    display: flex;
    flex-direction: column;
  }
}

.p-modelhouse-single__spec-content {
  position: relative;
  z-index: 1;
  max-width: min(51.6666666667%, 38.75rem);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-content {
    display: contents;
    max-width: none;
  }
}

.p-modelhouse-single__spec-text-wrap {
  display: grid;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-text-wrap {
    display: contents;
  }
}

.p-modelhouse-single__spec-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-head {
    gap: 0.625rem;
  }
}

.p-modelhouse-single__spec-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-modelhouse-single__spec-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-modelhouse-single__spec-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-modelhouse-single__spec-lead {
  margin-block-start: 1rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

.p-modelhouse-single__spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.5rem;
}

.p-modelhouse-single__spec-tag {
  padding: 0.5625rem 1.0625rem;
  border: 1px solid #999;
  background-color: var(--color-white);
  color: #444;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
}

.p-modelhouse-single__spec-button {
  width: min(100%, 25rem);
  margin-block-start: 2rem;
}
.p-modelhouse-single__spec-button .c-button {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-button {
    order: 3;
    width: 100%;
  }
}

.p-modelhouse-single__spec-media {
  position: absolute;
  top: 0;
  right: calc((100vw - min(100%, 81.25rem)) / -2);
  overflow: hidden;
  width: min(60.6153846154%, 48.9583333333vw);
  border-radius: 0.375rem 0 0 0.375rem;
  background-color: #ddd;
}
@media screen and (max-width: 1440px) {
  .p-modelhouse-single__spec-media {
    width: 46.1538461538%;
  }
}
@media screen and (min-width: 1921px) {
  .p-modelhouse-single__spec-media {
    width: calc(49.25rem + (100vw - 1920px) / 2);
    height: 27.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-media {
    position: static;
    order: 2;
    width: 100%;
    max-width: min(100%, 38.5rem);
    height: auto;
    margin-block-start: 2rem;
    margin-inline: auto;
    border-radius: 0.375rem;
  }
}

.p-modelhouse-single__spec-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 788/442;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1921px) {
  .p-modelhouse-single__spec-media img {
    height: 100%;
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__spec-media img {
    aspect-ratio: 335/251;
  }
}

.p-modelhouse-single__hero {
  padding-block: 2.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__hero {
    padding-block: 2.625rem 1.25rem;
  }
}

.p-modelhouse-single__title {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-modelhouse-single__info {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.p-modelhouse-single__info-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__info-inner {
    flex-direction: column;
    align-items: stretch;
    padding-block: 3.5rem 4rem;
  }
}

.p-modelhouse-single__info-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
}
@media screen and (max-width: 1023px) {
  .p-modelhouse-single__info-list {
    gap: 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__info-list {
    flex-direction: column;
    gap: 0.75rem 1.5rem;
  }
}

.p-modelhouse-single__info-item {
  display: grid;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__info-item {
    gap: 0.125rem;
  }
}

.p-modelhouse-single__info-label {
  color: #ccc;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p-modelhouse-single__info-value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6875;
}

.p-modelhouse-single__info-button {
  flex-shrink: 0;
  width: 17.0625rem;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__info-button {
    width: 100%;
  }
}

.p-modelhouse-single__info-reserve {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  gap: 1rem;
  width: 100%;
  min-height: 4.375rem;
  padding: 1rem 1.75rem 1rem 2.1875rem;
  border: 1px solid var(--color-text);
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-modelhouse-single__info-reserve {
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}

.p-modelhouse-single__info-reserve .c-button__arrow {
  width: 1.625rem;
  height: 1.625rem;
}

.p-modelhouse-single__info-reserve .c-button__arrow-circle {
  stroke: currentcolor;
}

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

.p-movie-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: center;
  gap: clamp(calc(24 * var(--to-rem)), calc(-48 * var(--to-rem) + 9.375vw), calc(48 * var(--to-rem))) clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
  list-style-type: "";
}
@media screen and (max-width: 767px) {
  .p-movie-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
}

.p-movie-archive__item {
  height: 100%;
}

.p-movie-archive__list--has-channel {
  padding-block-end: 0;
}

.p-movie-archive__pagination {
  margin-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-movie-archive__pagination {
    margin-block-start: 3.75rem;
  }
}

.p-movie-youtube {
  margin-block-start: 7.5rem;
  padding-block: 5rem;
  background: var(--gradient-bg-mist);
}
@media screen and (max-width: 767px) {
  .p-movie-youtube {
    margin-block-start: 3.75rem;
    padding-block: 3rem 2.75rem;
    background: var(--gradient-bg-mist-sp);
  }
}

.p-movie-youtube__inner {
  width: min(100%, 60.75rem);
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-movie-youtube__inner {
    width: min(100%, 38.5rem);
    padding-inline: 1.75rem;
  }
}

.p-movie-youtube__card {
  padding: 3.5rem 3.75rem 3.75rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-movie-youtube__card {
    gap: 1.25rem;
    padding: 2.5rem 1.5rem 3rem;
  }
}

.p-movie-youtube__heading {
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.13em;
  white-space: nowrap;
  background-image: linear-gradient(110deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-movie-youtube__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-movie-youtube__heading {
    font-size: 1.375rem;
    line-height: 2;
    white-space: normal;
  }
}

.p-movie-youtube__text {
  max-width: 35rem;
  margin-block-start: 2rem;
  margin-inline: auto;
  color: #555;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-movie-youtube__text {
    max-width: none;
    margin-block-start: 1.5rem;
    line-height: 1.6428571429;
    text-align: start;
  }
}

.p-movie-youtube__button {
  margin-block-start: 3rem;
  width: min(100%, 25rem);
  margin-inline: auto;
}
.p-movie-youtube__button .c-button {
  color: var(--color-white);
  text-decoration: none;
}
.p-movie-youtube__button .c-button__text {
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-movie-youtube__button {
    width: 100%;
    margin-block-start: 2rem;
  }
  .p-movie-youtube__button .c-button {
    min-height: 4.5rem;
    padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  }
}

.p-news-list {
  padding-block: 3rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-news-list {
    padding-block: 2.5rem 3.75rem;
  }
}

.p-news-list__inner {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--to-rem));
}

.p-news-list__inner > .p-news-list__title {
  margin-block-end: 0;
}

.p-news-list__container {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--color-white);
}

.p-news-list__item {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.p-news-list__item:not(:last-child) {
  border-bottom: 1px solid var(--color-gray);
}
@media (any-hover: hover) {
  .p-news-list__item:hover {
    background-color: oklch(from var(--color-gray) l c h/50%);
  }
}

.p-news-list__card {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
  padding: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-news-list__card {
    gap: calc(12 * var(--to-rem));
    padding: calc(32 * var(--to-rem));
  }
}

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

.p-news-list__separator {
  color: var(--color-border-gray);
}

.p-news-list__content {
  display: flex;
  gap: calc(16 * var(--to-rem));
  justify-content: space-between;
  align-items: center;
}

.p-news-list__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: calc(8 * var(--to-rem));
}

.p-news-list__card .p-news-list__title {
  margin: 0;
  color: var(--color-text);
  font-size: calc(16 * var(--to-rem));
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-news-list__card .p-news-list__title {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-news-list__excerpt {
  color: var(--color-border-gray);
  font-size: calc(13 * var(--to-rem));
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-news-list__excerpt {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-news-list__arrow {
  flex-shrink: 0;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  color: var(--color-border-gray);
  transition: color 0.2s ease, transform 0.2s ease;
}
.p-news-list__arrow svg {
  width: 100%;
  height: 100%;
}

.p-news-list__item:hover .p-news-list__arrow {
  color: var(--color-text);
  transform: translateX(calc(4 * var(--to-rem)));
}

.p-news-list__empty {
  padding: calc(60 * var(--to-rem));
  border-radius: 10px;
  box-shadow: 0 1px 3px oklch(from var(--color-black) l c h/10%), 0 1px 2px oklch(from var(--color-black) l c h/10%);
  background-color: var(--color-white);
  color: var(--color-border-gray);
  font-size: calc(16 * var(--to-rem));
  text-align: center;
}

.p-news-list__empty p {
  margin: 0;
}

.p-news-list__pagination {
  --_pagination-bg: var(--color-white);
  --_pagination-text: var(--color-text);
  --_pagination-text-hover: var(--color-text);
  --_pagination-bg-hover: oklch(from var(--color-gray) l c h / 50%);
  --_pagination-active-bg: var(--color-black);
  --_pagination-active-text: var(--color-white);
  --_pagination-border: var(--color-gray);
  --_pagination-border-hover: var(--color-text);
}

.p-plan-archive__list {
  padding-block: 5.625rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-archive__list {
    padding-block: 2rem 0.25rem;
  }
}

.p-plan-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 26.875rem));
  justify-content: center;
  gap: clamp(calc(24 * var(--to-rem)), calc(-9.971563981 * var(--to-rem) + 3.317535545vw), calc(38 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-plan-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8125rem;
  }
}

.p-plan-single__floor {
  padding-block: 4rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor {
    padding-block: 2.5rem 3rem;
  }
}

.p-plan-single__floor-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor-head {
    gap: 0.625rem;
  }
}

.p-plan-single__floor-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-plan-single__floor-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-plan-single__floor-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-plan-single__floor-lead {
  max-width: 45rem;
  margin-block-start: 2.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor-lead {
    margin-block-start: 1.25rem;
  }
}

.p-plan-single__floor-list {
  display: grid;
  gap: 3rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor-list {
    gap: 2rem;
    margin-block-start: 2rem;
  }
}

.p-plan-single__floor-card {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-plan-single__floor-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
}

.p-plan-single__floor-image {
  overflow: hidden;
  background-color: #f0f0f0;
}

.p-plan-single__floor-image img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.p-plan-single__floor-image--landscape img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-plan-single__floor-body {
  display: grid;
  gap: 1.25rem;
}

.p-plan-single__floor-title {
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-plan-single__gallery {
  padding-block: 4rem 4.5rem;
  background-color: var(--color-bg-section);
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery {
    padding-block: 2.5rem 3rem;
  }
}

.p-plan-single__gallery-head {
  display: grid;
  gap: 1.75rem;
  justify-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-head {
    gap: 0.625rem;
  }
}

.p-plan-single__gallery-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-plan-single__gallery-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-plan-single__gallery-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-plan-single__gallery-lead {
  max-width: 45rem;
  margin-block-start: 2.125rem;
  margin-inline: auto;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-lead {
    margin-block-start: 1.25rem;
  }
}

.p-plan-single__gallery-slider {
  margin-block-start: 3rem;
}

.p-plan-single__gallery-controls {
  width: min(100%, 50rem + 2rem * 2 + 1rem * 2);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-controls {
    width: 100%;
  }
}

.p-plan-single__gallery-stage {
  display: grid;
  grid-template-columns: 2rem minmax(0, 50rem) 2rem;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-stage {
    position: relative;
    display: block;
    container-type: inline-size;
  }
}

.p-plan-single__gallery-main {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3/2;
}

.p-plan-single__gallery-main .swiper-wrapper,
.p-plan-single__gallery-main .swiper-slide {
  height: 100%;
}

.p-plan-single__gallery-slide {
  background-color: #ddd;
}

.p-plan-single__gallery-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-plan-single__gallery-slide.is-portrait img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-plan-single__gallery-prev,
.p-plan-single__gallery-next {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-row: 1;
  width: 2rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-text);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-prev,
  .p-plan-single__gallery-next {
    position: absolute;
    top: 33.3333333333cqw;
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-text);
    transform: translateY(-50%);
  }
}

.p-plan-single__gallery-prev {
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-prev {
    left: 0.5rem;
  }
}

.p-plan-single__gallery-next {
  grid-column: 3;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-next {
    right: 0.5rem;
  }
}

.p-plan-single__gallery-prev::before,
.p-plan-single__gallery-next::before {
  content: "";
  width: 1.08125rem;
  height: 1.08125rem;
  border-block-start: 1.5px solid currentcolor;
  border-inline-end: 1.5px solid currentcolor;
}

.p-plan-single__gallery-prev::before {
  rotate: -135deg;
}

.p-plan-single__gallery-next::before {
  rotate: 45deg;
}

.p-plan-single__gallery-caption {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  z-index: 1;
  width: 100%;
  min-height: 4rem;
  padding-block: 1.75rem 0.75rem;
  padding-inline: 1rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0) 100%);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-plan-single__gallery-caption {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    min-height: auto;
    padding-block: 1rem 0.25rem;
  }
}

.p-plan-single__gallery-caption:empty {
  display: none;
}

.p-plan-single__gallery-thumbs {
  width: min(100%, 50rem);
  margin-block-start: 1rem;
  margin-inline: auto;
}
.p-plan-single__gallery-thumbs .swiper-slide {
  flex-shrink: 0;
  width: 8.125rem;
  max-width: 8.125rem;
}

.p-plan-single__gallery-thumb {
  width: 100%;
  padding: 0;
  border: 3px solid transparent;
  background: none;
  cursor: pointer;
  overflow: hidden;
}

.p-plan-single__gallery-thumb.swiper-slide-thumb-active {
  border-color: var(--color-primary);
}

.p-plan-single__gallery-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 130/97.5;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-plan-single__intro {
  padding-block: 4.5rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro {
    padding-block: 2.5rem 3rem;
  }
}

.p-plan-single__intro-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 33rem);
  gap: 4rem;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-plan-single__intro-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(calc(24 * var(--to-rem)), calc(-24 * var(--to-rem) + 6.25vw), calc(40 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

.p-plan-single__intro-content {
  min-width: 0;
}

.p-plan-single__intro-heading {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.5;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-plan-single__intro-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 1023px) {
  .p-plan-single__intro-heading {
    font-size: clamp(calc(24 * var(--to-rem)), calc(12 * var(--to-rem) + 1.5625vw), calc(28 * var(--to-rem)));
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-heading {
    font-size: 1.5rem;
  }
}

.p-plan-single__intro-text {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-text {
    margin-block-start: 1.25rem;
    line-height: 2;
  }
}

.p-plan-single__intro-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-tags {
    gap: 0.5rem;
    margin-block-start: 1.25rem;
  }
}

.p-plan-single__intro-tag {
  padding: 0.5625rem 1.0625rem;
  border: 1px solid #999;
  background-color: var(--color-white);
  color: #444;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-tag {
    padding: 0.5rem 0.875rem;
    white-space: normal;
  }
}

.p-plan-single__intro-media {
  min-width: 0;
  overflow: hidden;
  border-radius: 0.25rem;
}

.p-plan-single__intro-media img {
  display: block;
  width: 100%;
  aspect-ratio: 528/396;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-plan-single__intro-media img {
    aspect-ratio: 335/251;
  }
}

.p-plan-single__related {
  padding-block: 4rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__related {
    padding-block: 2.5rem 0.25rem;
  }
}

.p-plan-single__related-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-plan-single__related-head {
    gap: 1.25rem;
  }
}

.p-plan-single__related-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-plan-single__related-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-plan-single__related-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__related-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-plan-single__related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: start;
  gap: clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__related-grid {
    grid-template-columns: repeat(2, minmax(10rem, 1fr));
    gap: 1.125rem 0.875rem;
    margin-block-start: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .p-plan-single__related-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-plan-single__spec {
  overflow-x: clip;
  padding-block: 4rem 4.5rem;
  background-color: #f0f0f0;
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec {
    padding-block: 2.5rem 3rem;
  }
}

.p-plan-single__spec-inner {
  position: relative;
}

.p-plan-single__spec-content {
  position: relative;
  z-index: 1;
  max-width: min(51.6666666667%, 38.75rem);
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec-content {
    max-width: none;
  }
}

.p-plan-single__spec-text-wrap {
  display: grid;
  gap: 0.75rem;
}

.p-plan-single__spec-head {
  display: grid;
  gap: 1.75rem;
  justify-items: start;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec-head {
    gap: 0.625rem;
  }
}

.p-plan-single__spec-en {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.p-plan-single__spec-heading {
  max-width: 100%;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-plan-single__spec-heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec-heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-plan-single__spec-lead {
  margin-block-start: 1rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

.p-plan-single__spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.5rem;
}

.p-plan-single__spec-tag {
  padding: 0.5625rem 1.0625rem;
  border: 1px solid #999;
  background-color: var(--color-white);
  color: #444;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
}

.p-plan-single__spec-button {
  width: min(100%, 25rem);
  margin-block-start: 2rem;
}
.p-plan-single__spec-button .c-button {
  width: 100%;
}

.p-plan-single__spec-media {
  position: absolute;
  top: 0;
  right: calc((100vw - min(100%, 81.25rem)) / -2);
  overflow: hidden;
  width: min(60.6153846154%, 48.9583333333vw);
  border-radius: 0.375rem 0 0 0.375rem;
  background-color: #ddd;
}
@media screen and (max-width: 1440px) {
  .p-plan-single__spec-media {
    width: 46.1538461538%;
  }
}
@media screen and (min-width: 1921px) {
  .p-plan-single__spec-media {
    width: calc(49.25rem + (100vw - 1920px) / 2);
    height: 27.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec-media {
    position: static;
    width: 100%;
    max-width: min(100%, 38.5rem);
    height: auto;
    margin-block-start: 2rem;
    margin-inline: auto;
    border-radius: 0.375rem;
  }
}

.p-plan-single__spec-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 788/442;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1921px) {
  .p-plan-single__spec-media img {
    height: 100%;
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__spec-media img {
    aspect-ratio: 335/251;
  }
}

.p-plan-single__hero {
  padding-block: 2.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__hero {
    padding-block: 2rem 1.25rem;
  }
}

.p-plan-single__title {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-plan-single__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-plan-single__info {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.p-plan-single__info-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__info-inner {
    flex-direction: column;
    align-items: stretch;
    padding-block: 3.5rem;
  }
}

.p-plan-single__info-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
}
@media screen and (max-width: 1023px) {
  .p-plan-single__info-list {
    gap: 1.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-plan-single__info-list {
    flex-direction: column;
    gap: 0.75rem 1.5rem;
  }
}

.p-plan-single__info-item {
  display: grid;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__info-item {
    gap: 0.125rem;
  }
}

.p-plan-single__info-label {
  color: #ccc;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p-plan-single__info-value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6875;
}

.p-plan-single__info-note {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}

.p-plan-single__info-button {
  flex-shrink: 0;
  width: 17.6875rem;
}
@media screen and (max-width: 767px) {
  .p-plan-single__info-button {
    width: 100%;
  }
}

.p-plan-single__info-request {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  gap: 1rem;
  width: 100%;
  min-height: 4.375rem;
  padding: 1rem 1.75rem 1rem 2.1875rem;
  border: 1px solid var(--color-text);
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-plan-single__info-request {
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}

.p-plan-single__info-request .c-button__arrow {
  width: 1.625rem;
  height: 1.625rem;
}

.p-plan-single__info-request .c-button__arrow-circle {
  stroke: currentcolor;
}

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

.p-privacy__inner {
  width: min(100%, 68.75rem);
}
@media screen and (max-width: 767px) {
  .p-privacy__inner {
    width: min(100%, 37.5rem);
  }
}

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

.p-privacy__intro p + p {
  margin-block-start: 0.25rem;
}

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

.p-privacy__heading {
  color: var(--color-text);
  font-size: clamp(calc(20 * var(--to-rem)), calc(15.4285714286 * var(--to-rem) + 0.4464285714vw), calc(24 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-privacy__heading {
    padding-block-end: 0.9375rem;
    font-size: 1.25rem;
    line-height: 1.8;
  }
}

.p-privacy__texts {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__texts {
    margin-block-start: 0.5rem;
  }
}

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

.p-privacy__text + .p-privacy__text {
  margin-block-start: 0.25rem;
}

.p-privacy__list {
  margin-block-start: 1rem;
  padding-inline-start: 1.5rem;
  list-style-type: disc;
}
@media screen and (max-width: 767px) {
  .p-privacy__list {
    margin-block-start: 0.5rem;
    padding-inline-start: 1.25rem;
  }
}

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

.p-privacy__list-item + .p-privacy__list-item {
  margin-block-start: 0.25rem;
}

.p-privacy__link {
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-privacy__link:hover {
    opacity: 0.8;
  }
}

.p-privacy__tel {
  display: inline-flex;
  align-items: baseline;
  gap: 0.375rem;
  font-family: var(--ff-en);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-privacy__tel:hover {
    opacity: 0.8;
  }
}

.p-privacy__contact {
  margin-block-start: 3rem;
  padding-block: 2.25rem 1.75rem;
  padding-inline: 2rem;
  border: 1px solid var(--color-border);
}
@media screen and (max-width: 767px) {
  .p-privacy__contact {
    margin-block-start: 2.5rem;
    padding-block: 1.75rem 1.5rem;
    padding-inline: 1.25rem;
  }
}

.p-privacy__contact-heading {
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .p-privacy__contact-heading {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
}

.p-privacy__contact-body {
  margin-block-start: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-privacy__contact-body {
    margin-block-start: 0.5rem;
  }
}

.p-privacy__contact-body .p-privacy__text + .p-privacy__text {
  margin-block-start: 0;
}

.p-privacy__signature {
  margin-block-start: 2.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: end;
}
@media screen and (max-width: 767px) {
  .p-privacy__signature {
    margin-block-start: 2rem;
    font-size: 0.875rem;
  }
}

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

.p-privacy__button .c-button {
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-privacy__button .c-button {
    width: 100%;
  }
}

.p-request-archive__body {
  padding-block: 4.5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-request-archive__body {
    padding-block: 2.5rem 3.75rem;
  }
}

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

.p-request-archive__materials-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-request-archive__materials-heading {
    flex-wrap: nowrap;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .p-request-archive__materials-heading-text {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.p-request-archive__required {
  display: inline-block;
  flex-shrink: 0;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border-radius: 4px;
  background-color: #990000;
  color: var(--color-white);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-request-archive__required {
    margin-block-start: 0.375rem;
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
  }
}

.p-request-archive__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(calc(24 * var(--to-rem)), calc(-9.971563981 * var(--to-rem) + 3.317535545vw), calc(38 * var(--to-rem)));
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-request-archive__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    margin-block-start: 1.5rem;
  }
}

.p-request-archive__pick {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem;
  border: 2px solid transparent;
  border-radius: 0.375rem;
  border: 1px solid var(--color-border);
  transition: border-color var(--duration) var(--easing), box-shadow var(--duration) var(--easing);
}
.p-request-archive__pick:has(.is-documentCheck:checked) {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 1px var(--color-primary);
}
.p-request-archive__pick:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-request-archive__pick {
    padding: 1rem;
  }
}

.p-request-archive__pick-label {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
  cursor: pointer;
  text-align: center;
}

.p-request-archive__pick-image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0.125rem;
  background-color: var(--color-white);
}

.p-request-archive__pick-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.p-request-archive__pick-title {
  display: block;
  flex: 1;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-request-archive__pick-title {
    font-size: 0.875rem;
    line-height: 1.45;
  }
}

.p-request-archive__pick-check {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  margin-block-start: auto;
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  transition: background-color var(--duration) var(--easing), color var(--duration) var(--easing), border-color var(--duration) var(--easing);
}
.p-request-archive__pick-check::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.375rem;
  height: 0.625rem;
  margin-block-end: 0.125rem;
  border-right: 2px solid var(--color-border);
  border-bottom: 2px solid var(--color-border);
  transform: rotate(45deg);
  transition: border-color var(--duration) var(--easing);
}
.p-request-archive__pick-check span:nth-child(2) {
  display: none;
}

.p-request-archive__pick:has(.is-documentCheck:checked) .p-request-archive__pick-check {
  border-color: transparent;
  background-color: var(--color-primary);
  color: var(--color-white);
}
.p-request-archive__pick:has(.is-documentCheck:checked) .p-request-archive__pick-check::before {
  border-right-color: var(--color-white);
  border-bottom-color: var(--color-white);
}
.p-request-archive__pick:has(.is-documentCheck:checked) .p-request-archive__pick-check span:nth-child(1) {
  display: none;
}
.p-request-archive__pick:has(.is-documentCheck:checked) .p-request-archive__pick-check span:nth-child(2) {
  display: inline;
}

@media (any-hover: hover) {
  .p-request-archive__pick:not(:has(.is-documentCheck:checked)) .p-request-archive__pick-label:hover .p-request-archive__pick-check {
    border-color: var(--color-text);
  }
  .p-request-archive__pick:not(:has(.is-documentCheck:checked)) .p-request-archive__pick-label:hover .p-request-archive__pick-check::before {
    border-right-color: var(--color-text);
    border-bottom-color: var(--color-text);
  }
}
.p-request-archive__empty {
  margin-block-start: 2rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}

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

.p-request-archive__form-placeholder {
  padding: 1.5rem;
  border: 1px dashed var(--color-border);
  border-radius: 0.375rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8;
  text-align: center;
}

.p-request-archive__button,
.p-request-archive .p-form__submit {
  width: min(100%, 25rem);
  margin-inline: auto;
}

.p-request-archive .wpcf7-form .c-button {
  width: min(100%, 25rem);
  margin-inline: auto;
  transition: opacity var(--duration) var(--easing);
}
@media (any-hover: hover) {
  .p-request-archive .wpcf7-form .c-button:hover {
    opacity: 0.8;
  }
}

.p-request-single__article {
  padding-block: 4.5rem 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-request-single__article {
    padding-block: 2.5rem 3.75rem;
  }
}

.p-request-single__media {
  overflow: hidden;
  border-radius: 0.375rem;
  background-color: #f0f0f0;
}

.p-request-single__media img {
  display: block;
  width: 100%;
  aspect-ratio: 430/446;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767px) {
  .p-request-single__media img {
    aspect-ratio: 335/260;
  }
}

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

.p-request-single__lead {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .p-request-single__lead {
    font-size: 1rem;
    line-height: 1.875;
  }
}

.p-request-single__text {
  margin-block-start: 1.5rem;
  color: var(--color-text);
}

.p-request-single__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-request-single__actions {
    flex-direction: column;
    margin-block-start: 2rem;
  }
}

.p-request-single__button {
  width: min(100%, 25rem);
}

.p-request-single__back-button {
  --c-button-image: none;
  border: 1px solid var(--color-text);
  background-color: var(--color-white);
  color: var(--color-text);
}
.p-request-single__back-button::before {
  display: none;
}
.p-request-single__back-button .c-button__arrow-circle {
  stroke: currentcolor;
}

.p-request-thanks {
  padding-block: 6.25rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-request-thanks {
    padding-block: 3rem 3.75rem;
  }
}

.p-request-thanks__inner {
  text-align: center;
}

.p-request-thanks__title {
  display: flex;
  justify-content: center;
}

.p-request-thanks__text {
  margin-block-start: 2.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-request-thanks__text {
    margin-block-start: 2rem;
    line-height: 1.85;
  }
}

.p-request-thanks__notice {
  margin-block-start: 0.5rem;
  color: var(--color-text);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 2.375;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-request-thanks__notice {
    margin-block-start: 1rem;
    line-height: 1.85;
  }
}

.p-request-thanks__button {
  width: min(100%, 25rem);
  margin-inline: auto;
  margin-block-start: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-request-thanks__button {
    margin-block-start: 2rem;
  }
}

.p-reserve-form {
  padding-block: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-reserve-form {
    padding-block: 3rem 3.5rem;
  }
}

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

.p-reserve-form__title {
  color: var(--color-text);
  font-feature-settings: "palt";
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-reserve-form__title {
    font-size: 1.375rem;
  }
}

.p-reserve-form__notice {
  width: 100%;
}

.p-reserve-form__notice-box {
  border: 1px solid var(--color-border);
  background-color: transparent;
  border-radius: 0.375rem;
}

.p-reserve-form__notice-body {
  padding: 1.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-reserve-form__notice-body {
    padding: 1rem 1.25rem;
  }
}

.p-reserve-form__notice-list {
  position: relative;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.63;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-reserve-form__notice-list {
    font-size: 0.8125rem;
    line-height: 1.75;
  }
}

.p-reserve-form__notice-item {
  position: relative;
}
.p-reserve-form__notice-item::before {
  content: "※";
  display: inline-block;
  padding-inline-end: 0.5rem;
}

.p-reserve-form__notice-link {
  color: inherit;
  text-decoration: underline;
}

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

.p-sample__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-sample__inner {
    gap: 1rem;
  }
}

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

.p-sample__button-wrap {
  width: min(15rem, 100%);
}
.p-sample__button-wrap > * {
  width: 100%;
}

.p-sample__divider {
  width: 100%;
  height: 1px;
  max-width: 37.5rem;
  margin: 0;
  border: 0;
  background-color: var(--color-gray);
}

.p-sample__bg {
  width: 100%;
  height: 25rem;
  max-width: 37.5rem;
  border-radius: 8px;
  background-image: url("../images/bg_sample.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-sample__bg {
    height: 18.75rem;
  }
}

.p-sample__image {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 32rem;
  border-radius: 8px;
}

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

.p-sample p {
  margin: 0;
  color: var(--color-text);
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-sample p {
    font-size: 0.875rem;
  }
}

.p-security [id^=security-independence] {
  scroll-margin-block-start: calc(var(--header-height) + 1.5rem);
}

.p-security #security-independence-02 .p-concept-feature__lead {
  margin-block-start: 2.5rem;
  margin-block-end: 2.125rem;
  line-height: 2.5714285714;
}
@media screen and (max-width: 767px) {
  .p-security #security-independence-02 .p-concept-feature__lead {
    margin-block-start: 1.75rem;
    margin-block-end: 1.75rem;
    line-height: 1.7857142857;
  }
}

.p-security-equipment {
  width: min(100%, 81.25rem);
  margin-block-start: 1.5625rem;
  margin-inline: auto;
  padding-inline: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-security-equipment {
    width: min(100%, 35rem);
    margin-block-start: 2.5rem;
    padding-inline: 0;
  }
}

.p-security-equipment__panel {
  padding: 1.5rem 1.8125rem 2.625rem;
  border: 1px solid #ccc;
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-security-equipment__panel {
    padding: 2rem 1.25rem 1.75rem;
  }
}

.p-security-equipment__lead {
  margin-block-start: 1.5rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.7;
}
.p-security-equipment__lead a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

.p-security-equipment__items {
  margin-block-start: 1.5rem;
  padding-inline-start: 1rem;
}

.p-security-equipment__item + .p-security-equipment__item {
  margin-block-start: 0.4375rem;
}

.p-security-equipment__item-title {
  color: var(--color-text);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-security-equipment__item-text {
  margin-block-start: 0.1875rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.7;
}
.p-security-equipment__item-text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

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

.p-single__inner {
  width: min(100%, 68.75rem);
  margin-inline: auto;
}

.p-single__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-block-start: 0;
}

.p-single__subtitle {
  margin-block-end: 0.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-single__subtitle {
    margin-block-end: 0.75rem;
    font-size: 1rem;
  }
}

.p-single__title {
  color: var(--color-text);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__title {
    font-size: 1.375rem;
    line-height: 1.5;
  }
}

.p-single__author {
  display: inline-block;
  color: var(--color-text);
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-single__author {
    font-size: 1rem;
  }
}

.p-single__summary {
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 8px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__summary {
    margin-block-start: 2rem;
    padding-block: 1.25rem;
    padding-inline: 1.5rem;
    font-size: 1rem;
  }
}

.p-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  margin-block-start: 0;
  color: var(--color-border-gray);
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-single__meta {
    gap: 0.625rem;
  }
}

.p-single__date {
  display: inline-block;
  color: #666;
  font-family: var(--ff-en);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-single__date {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}

.p-single__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  list-style-type: "";
}

.p-single__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.5rem;
  min-height: 1.75rem;
  padding: 0.25rem 1rem;
  border-radius: 0.25rem;
  background-color: #e0e0e0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-single__category {
    min-width: 5.3125rem;
    min-height: 1.625rem;
  }
}
@media (any-hover: hover) {
  .p-single__category:hover {
    opacity: 0.7;
  }
}

.p-single__thumbnail {
  overflow: hidden;
  margin-block-start: 2.5rem;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-single__thumbnail {
    margin-block-start: 1.75rem;
  }
}

.p-single__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-single__featured-image {
  overflow: hidden;
  margin-block-start: 2rem;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-single__featured-image {
    margin-block-start: 3rem;
  }
}

.p-single__featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-single__featured-image img {
    border-radius: 12px;
  }
}

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

.p-single__nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.25rem;
  margin-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .p-single__nav {
    gap: 0.75rem;
    margin-block-start: 2.5rem;
  }
}

.p-single__nav-prev {
  min-width: 0;
}

.p-single__nav-center {
  justify-self: center;
}

.p-single__nav-next {
  min-width: 0;
  text-align: end;
}

.p-single__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-single__nav-link {
    gap: 0.5rem;
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-single__nav-link:hover {
    opacity: 0.7;
  }
}

.p-single__nav-prev .p-single__nav-link::before,
.p-single__nav-next .p-single__nav-link::after {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-block-start: 1.5px solid currentcolor;
  border-inline-end: 1.5px solid currentcolor;
}

.p-single__nav-prev .p-single__nav-link::before {
  rotate: -135deg;
}

.p-single__nav-next .p-single__nav-link::after {
  rotate: 45deg;
}

.p-single__nav-button {
  display: flex;
  justify-content: center;
}

.p-single__nav-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding-block: 0.5rem;
  padding-inline: 1.5rem;
  border: 1px solid var(--color-border);
  background-color: transparent;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-single__nav-back {
    min-height: 2.5rem;
    padding-inline: 1.25rem;
    font-size: 0.8125rem;
  }
}
@media (any-hover: hover) {
  .p-single__nav-back:hover {
    opacity: 0.7;
  }
}

.p-single__content h1,
.p-single h1:not(.p-single__title) {
  margin-block-start: 3rem;
  padding-block-end: 1rem;
  border-bottom: 0.125rem solid var(--color-gray);
  color: var(--color-text);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content h1,
  .p-single h1:not(.p-single__title) {
    margin-block-start: 4rem;
    font-size: 2.25rem;
  }
}

.p-single__content h2,
.p-single h2 {
  margin-block-start: 2.5rem;
  padding-inline-start: 1rem;
  border-inline-start: 0.25rem solid var(--color-accent);
  color: var(--color-text);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content h2,
  .p-single h2 {
    margin-block-start: 3.5rem;
    padding-inline-start: 1.25rem;
    font-size: 1.75rem;
  }
}

.p-single__content h3,
.p-single h3 {
  margin-block-start: 2rem;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content h3,
  .p-single h3 {
    margin-block-start: 2.5rem;
    font-size: 1.5rem;
  }
}

.p-single__content h4,
.p-single h4 {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content h4,
  .p-single h4 {
    margin-block-start: 2rem;
    font-size: 1.25rem;
  }
}

.p-single__content p,
.p-single p {
  margin-block-start: 1rem;
  color: var(--color-text);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__content p,
  .p-single p {
    margin-block-start: 1.25rem;
  }
}

.p-single__content ul,
.p-single__content ol {
  margin-block-start: 1rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single__content ul,
  .p-single__content ol {
    margin-block-start: 1.25rem;
    padding-inline-start: 2rem;
  }
}

.p-single__content ul {
  list-style-type: disc;
}

.p-single__content ol {
  list-style-type: decimal;
}

.p-single__content li {
  margin-block-start: 0.5rem;
  line-height: 1.8;
}

.p-single__content a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}

.p-single__content a:hover {
  opacity: 0.8;
}

.p-single__content img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-block-start: 1.5rem;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-single__content img {
    margin-block-start: 2rem;
  }
}

.p-single__content blockquote,
.p-single blockquote {
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1.5rem 1.5rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .p-single__content blockquote,
  .p-single blockquote {
    margin-block-start: 2rem;
    padding-block: 1.25rem;
    padding-inline: 2rem 2rem;
  }
}

.p-single__content blockquote p,
.p-single blockquote p {
  margin-block-start: 0;
}

.p-single__content code,
.p-single code {
  padding-block: 0.125rem;
  padding-inline: 0.375rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-family: monospace;
  font-size: 0.875rem;
}

.p-single__content pre,
.p-single pre {
  overflow-x: auto;
  margin-block-start: 1.5rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 8px;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-family: monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single__content pre,
  .p-single pre {
    padding-block: 1.5rem;
    padding-inline: 1.5rem;
  }
}

.p-single__content pre code,
.p-single pre code {
  padding-block: 0;
  padding-inline: 0;
  background-color: transparent;
}

.p-single__content table,
.p-single table {
  width: 100%;
  margin-block-start: 1.5rem;
  border: 0.0625rem solid var(--color-border-gray);
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .p-single__content table,
  .p-single table {
    margin-block-start: 2rem;
  }
}

.p-single__content th,
.p-single__content td,
.p-single th,
.p-single td {
  padding-block: 0.75rem;
  padding-inline: 1rem;
  line-height: 1.6;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-single__content th,
  .p-single__content td,
  .p-single th,
  .p-single td {
    padding-block: 1rem;
    padding-inline: 1.25rem;
  }
}

.p-single__content th,
.p-single th {
  background-color: var(--color-gray);
  color: var(--color-text);
  font-weight: 700;
}

.p-single__content td,
.p-single td {
  color: var(--color-text);
}

.p-single__content hr,
.p-single hr {
  margin-block-start: 2rem;
  border: none;
  border-top: 0.0625rem solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .p-single__content hr,
  .p-single hr {
    margin-block-start: 3rem;
  }
}

.p-single__content strong,
.p-single strong {
  color: var(--color-text);
  font-weight: 700;
}

.p-single__content em,
.p-single em {
  font-style: italic;
}

.p-single__content .wp-block-buttons,
.p-single .wp-block-buttons {
  margin-block-start: 1.5rem;
  text-align: center;
}
.p-single__content .wp-block-buttons a,
.p-single .wp-block-buttons a {
  color: var(--color-white);
  text-decoration: none;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-single__content .wp-block-buttons a:hover,
  .p-single .wp-block-buttons a:hover {
    opacity: 0.8;
  }
}

.p-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 3rem;
  padding-block: 1.5rem;
  border-top: 0.0625rem solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .p-single__tags {
    margin-block-start: 4rem;
    padding-block: 2rem;
  }
}

.p-single__tag {
  display: inline-block;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
  border-radius: 4px;
  background-color: var(--color-gray);
  color: var(--color-accent);
  font-size: 0.75rem;
  text-decoration: none;
  transition: opacity var(--duration);
}
@media screen and (max-width: 767px) {
  .p-single__tag {
    font-size: 0.875rem;
  }
}

.p-single__tag:hover {
  opacity: 0.8;
}

.p-single__tag--custom {
  color: var(--color-text);
  cursor: default;
}

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

.p-single__content-pagination-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-inner {
    gap: 0.625rem;
  }
}

.p-single__content-pagination-prev {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-prev {
    text-align: center;
  }
}

.p-single__content-pagination-center {
  justify-self: center;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-center .c-button02 {
    gap: 0.625rem;
  }
  .p-single__content-pagination-center .c-button02__text {
    font-size: max(0.75rem, 8px);
    font-weight: 500;
    line-height: 18.07;
    letter-spacing: 0.4em;
  }
  .p-single__content-pagination-center .c-button02__arrow {
    width: 0.625rem;
    height: 0.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-center {
    justify-self: center;
  }
}

.p-single__content-pagination-next {
  min-width: 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-next {
    text-align: center;
  }
}

.p-single__content-pagination-link {
  color: var(--color-text);
  text-decoration: none;
  font-size: max(1rem, 8px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-link {
    font-size: max(0.75rem, 8px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}
@media (any-hover: hover) {
  .p-single__content-pagination-link:hover {
    opacity: 0.7;
  }
}

.p-single__content-pagination-button {
  padding: 0.625rem 1.4375rem;
  background-color: var(--color-base);
  border: 1px solid var(--color-text);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3.9375rem;
  transition: background-color var(--duration) var(--easing), color var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-button {
    gap: 1.25rem;
    padding: 0.625rem 1rem;
  }
}
@media (hover: hover) {
  .p-single__content-pagination-button:hover .p-single__content-pagination-button-arrow {
    transform: translateX(0.625rem);
  }
}

.p-single__content-pagination-button-text {
  font-size: max(1rem, 8px);
  font-weight: 500;
  line-height: 1.63;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-single__content-pagination-button-text {
    font-size: max(0.875rem, 8px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}

.p-single__content-pagination-button-arrow {
  width: 0.5rem;
  height: 0.875rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14' width='8' height='14'%3E%3Cpath d='M1 13l6-6-6-6' fill='none' stroke='%23008ad2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14' width='8' height='14'%3E%3Cpath d='M1 13l6-6-6-6' fill='none' stroke='%23008ad2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--color-primary);
  transition: transform var(--duration) var(--easing), filter var(--duration) var(--easing);
}

.p-single--post .p-single__related {
  margin-block-start: 3rem;
  padding-block-start: 2rem;
  border-top: 0.0625rem solid var(--color-border-gray);
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related {
    margin-block-start: 4rem;
    padding-block-start: 3rem;
  }
}

.p-single--post .p-single__related-title {
  margin-block-end: 1.5rem;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-title {
    margin-block-end: 2rem;
    align-items: start;
  }
}
@media (any-hover: hover) {
  .p-single--post .p-single__related-title:hover {
    opacity: 0.7;
  }
}

.p-single--post .p-single__related-thumbnail {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 8px;
  background-color: var(--color-gray);
}
@media screen and (max-width: 600px) {
  .p-single--post .p-single__related-thumbnail {
    aspect-ratio: 4/3;
  }
}

.p-single--post .p-single__related-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-single--post .p-single__related-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-single--post .p-single__related-date {
  color: var(--color-text);
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-date {
    font-size: 0.875rem;
  }
}

.p-single--post .p-single__related-item-title {
  margin: 0;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single--post .p-single__related-item-title {
    font-size: 1rem;
  }
}

.p-single--column {
  padding-block: 6rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-single--column {
    padding-block: 3.5rem 0.25rem;
  }
}

.p-single--column .p-single__header {
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__header {
    gap: 1.25rem;
  }
}

.p-single--column .p-single__meta {
  gap: 1rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__meta {
    gap: 0.75rem 1rem;
  }
}

.p-single--column .p-single__categories .c-column-card__tag {
  line-height: 1;
}

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

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

.p-single--column .p-single__nav {
  margin-block-start: 6rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__nav {
    margin-block-start: 3rem;
  }
}

.p-single--column .p-single__content.c-entry-content > *:first-child {
  margin-block-start: 0;
}
.p-single--column .p-single__content.c-entry-content h1,
.p-single--column .p-single__content.c-entry-content h2,
.p-single--column .p-single__content.c-entry-content h3,
.p-single--column .p-single__content.c-entry-content h4,
.p-single--column .p-single__content.c-entry-content h5,
.p-single--column .p-single__content.c-entry-content h6 {
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.p-single--column .p-single__content.c-entry-content h1 {
  margin-block-start: 3rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h1 {
    margin-block-start: 2.25rem;
    font-size: 1.375rem;
  }
}
.p-single--column .p-single__content.c-entry-content h2 {
  position: relative;
  margin-block-start: 3rem;
  padding-block-end: 0.75rem;
  border-block-end: 1px solid var(--color-border);
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h2 {
    margin-block-start: 2.25rem;
    padding-block-end: 0.625rem;
    font-size: 1.25rem;
  }
}
.p-single--column .p-single__content.c-entry-content h2::after {
  content: "";
  position: absolute;
  inset-block-end: -1px;
  inset-inline-start: 0;
  width: 4rem;
  height: 2px;
  background-color: var(--color-primary);
}
.p-single--column .p-single__content.c-entry-content h3 {
  margin-block-start: 2.5rem;
  padding-inline-start: 0.875rem;
  border-inline-start: 3px solid var(--color-primary);
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h3 {
    margin-block-start: 2rem;
    padding-inline-start: 0.75rem;
    font-size: 1.125rem;
  }
}
.p-single--column .p-single__content.c-entry-content h4 {
  margin-block-start: 2rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h4 {
    margin-block-start: 1.75rem;
    font-size: 1rem;
  }
}
.p-single--column .p-single__content.c-entry-content h5 {
  margin-block-start: 1.75rem;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h5 {
    margin-block-start: 1.5rem;
    font-size: 0.9375rem;
  }
}
.p-single--column .p-single__content.c-entry-content h6 {
  margin-block-start: 1.5rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content h6 {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.p-single--column .p-single__content.c-entry-content p {
  margin-block-start: 1.25rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content p {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}
.p-single--column .p-single__content.c-entry-content ul,
.p-single--column .p-single__content.c-entry-content ol {
  margin-block-start: 1.25rem;
  padding-inline-start: 1.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content ul,
  .p-single--column .p-single__content.c-entry-content ol {
    padding-inline-start: 1.25rem;
    font-size: 0.875rem;
  }
}
.p-single--column .p-single__content.c-entry-content ul li + li,
.p-single--column .p-single__content.c-entry-content ol li + li {
  margin-block-start: 0.375rem;
}
.p-single--column .p-single__content.c-entry-content ul {
  list-style-type: disc;
}
.p-single--column .p-single__content.c-entry-content ul ::marker {
  color: var(--color-primary);
}
.p-single--column .p-single__content.c-entry-content ol {
  list-style-type: decimal;
}
.p-single--column .p-single__content.c-entry-content ol ::marker {
  color: var(--color-primary);
}
.p-single--column .p-single__content.c-entry-content a:not(.wp-block-button__link) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  transition: opacity var(--duration);
}
@media (any-hover: hover) {
  .p-single--column .p-single__content.c-entry-content a:not(.wp-block-button__link):hover {
    opacity: 0.7;
  }
}
.p-single--column .p-single__content.c-entry-content img,
.p-single--column .p-single__content.c-entry-content .wp-block-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-block-start: 2rem;
}
.p-single--column .p-single__content.c-entry-content .wp-block-image {
  margin-block-start: 2rem;
}
.p-single--column .p-single__content.c-entry-content figure {
  margin-block-start: 2rem;
}
.p-single--column .p-single__content.c-entry-content figcaption {
  margin-block-start: 0.5rem;
  color: #666;
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-single--column .p-single__content.c-entry-content blockquote {
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.25rem;
  border-inline-start: 3px solid var(--color-primary);
  border-radius: 0.25rem;
  background-color: #eff4f9;
  color: var(--color-text);
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content blockquote {
    padding-inline-start: 1rem;
    padding-inline-end: 0.875rem;
  }
}
.p-single--column .p-single__content.c-entry-content blockquote p {
  margin-block-start: 0;
}
.p-single--column .p-single__content.c-entry-content blockquote blockquote {
  margin-block-start: 0.75rem;
  padding-block: 0;
  padding-inline-start: 1rem;
  padding-inline-end: 0;
  border-radius: 0;
  background-color: transparent;
  font-style: inherit;
}
.p-single--column .p-single__content.c-entry-content code {
  padding-block: 0.125rem;
  padding-inline: 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--color-gray);
  color: var(--color-primary);
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
}
.p-single--column .p-single__content.c-entry-content pre {
  overflow-x: auto;
  margin-block-start: 2rem;
  padding-block: 1rem;
  padding-inline: 1rem;
  border-radius: 0.5rem;
  background-color: var(--color-gray);
  color: var(--color-text);
  font-family: ui-monospace, monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-single--column .p-single__content.c-entry-content pre code {
  padding: 0;
  background-color: transparent;
}
.p-single--column .p-single__content.c-entry-content table {
  width: 100%;
  margin-block-start: 2rem;
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content table {
    font-size: 0.8125rem;
  }
}
.p-single--column .p-single__content.c-entry-content th,
.p-single--column .p-single__content.c-entry-content td {
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid var(--color-border);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-single--column .p-single__content.c-entry-content th,
  .p-single--column .p-single__content.c-entry-content td {
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
  }
}
.p-single--column .p-single__content.c-entry-content th:not([class*=has-text-align]),
.p-single--column .p-single__content.c-entry-content td:not([class*=has-text-align]) {
  text-align: start;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table {
  overflow-x: auto;
  margin-block-start: 2rem;
  -webkit-overflow-scrolling: touch;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table table {
  margin-block-start: 0;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table td,
.p-single--column .p-single__content.c-entry-content .wp-block-table th {
  border: 1px solid #d8dde5;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table thead {
  border-block-end: none;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table thead th {
  background-color: var(--color-primary);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--color-white);
  font-weight: 700;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table tbody th {
  background-color: #eef3f9;
  color: var(--color-text);
  font-weight: 700;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table tbody td {
  background-color: var(--color-white);
}
.p-single--column .p-single__content.c-entry-content .wp-block-table tbody tr:nth-child(even) td {
  background-color: #f5f8fc;
}
.p-single--column .p-single__content.c-entry-content .wp-block-table tbody tr:nth-child(even) th {
  background-color: #e4ecf6;
}
.p-single--column .p-single__content.c-entry-content th {
  background-color: var(--color-gray);
  font-weight: 700;
}
.p-single--column .p-single__content.c-entry-content hr {
  margin-block-start: 2.5rem;
  border: none;
  border-block-start: 1px solid var(--color-border);
}
.p-single--column .p-single__content.c-entry-content strong {
  font-weight: 700;
}
.p-single--column .p-single__content.c-entry-content em {
  font-style: italic;
}
.p-single--column .p-single__content.c-entry-content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block-start: 2rem;
}
.p-single--column .p-single__content.c-entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-block: 0.75rem;
  padding-inline: 1.75rem;
  border: 1px solid var(--color-text);
  border-radius: 0.25rem;
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background-color var(--duration), color var(--duration);
}
@media (any-hover: hover) {
  .p-single--column .p-single__content.c-entry-content .wp-block-button__link:hover {
    background-color: var(--color-white);
    color: var(--color-text);
  }
}
.p-single--column .p-single__content.c-entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--color-text);
}
@media (any-hover: hover) {
  .p-single--column .p-single__content.c-entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
}
.p-single--column .p-single__content.c-entry-content .wp-block-quote,
.p-single--column .p-single__content.c-entry-content .wp-block-pullquote {
  margin-block-start: 2rem;
}
.p-single--column .p-single__content.c-entry-content .wp-block-quote .wp-block-quote,
.p-single--column .p-single__content.c-entry-content .wp-block-quote .wp-block-pullquote,
.p-single--column .p-single__content.c-entry-content .wp-block-quote blockquote,
.p-single--column .p-single__content.c-entry-content .wp-block-pullquote .wp-block-quote,
.p-single--column .p-single__content.c-entry-content .wp-block-pullquote .wp-block-pullquote,
.p-single--column .p-single__content.c-entry-content .wp-block-pullquote blockquote {
  margin-block-start: 0.75rem;
}
.p-single--column .p-single__content.c-entry-content .wp-block-embed,
.p-single--column .p-single__content.c-entry-content .wp-block-video,
.p-single--column .p-single__content.c-entry-content .wp-block-audio {
  margin-block-start: 2rem;
}

.p-staff-archive__list {
  padding-block: 5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-staff-archive__list {
    padding-block: 3.5rem 1rem;
  }
}

.p-staff-archive__head {
  margin-block-end: 3rem;
}
@media screen and (max-width: 767px) {
  .p-staff-archive__head {
    margin-block-end: 2rem;
  }
}

.p-staff-archive__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(calc(18 * var(--to-rem)), calc(-6.2654028436 * var(--to-rem) + 2.3696682464vw), calc(28 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-staff-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

.p-staff-intro {
  position: relative;
  overflow: hidden;
  color: var(--color-white);
}

.p-staff-intro__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-staff-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-staff-intro__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.p-staff-intro__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 81.25rem);
  padding-block: 6.25rem 6.875rem;
  padding-inline: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-staff-intro__inner {
    padding-block: 3rem 3.5rem;
    padding-inline: 1.75rem;
  }
}

.p-staff-intro__heading {
  max-width: 45rem;
  margin-inline: auto;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-staff-intro__heading {
    font-size: 1.5rem;
    line-height: 1.8571428571;
    letter-spacing: 0.12em;
  }
}

.p-staff-intro__text {
  max-width: 51.25rem;
  margin-block-start: 2.25rem;
  margin-inline: auto;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-staff-intro__text {
    margin-block-start: 1.5rem;
    line-height: 1.6428571429;
    text-align: start;
  }
}

.p-staff-intro__text p + p {
  margin-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-staff-intro__text p + p {
    margin-block-start: 0.75rem;
  }
}

.p-staff-intro__content .p-staff-intro__heading,
.p-staff-intro__content .p-staff-intro__text {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.9s var(--easing), transform 0.9s var(--easing);
}

.p-staff-intro__content.is-inview .p-staff-intro__heading {
  opacity: 1;
  transform: none;
}

.p-staff-intro__content.is-inview .p-staff-intro__text {
  opacity: 1;
  transform: none;
  transition-delay: 0.2s;
}

@media (prefers-reduced-motion: reduce) {
  .p-staff-intro__content .p-staff-intro__heading,
  .p-staff-intro__content .p-staff-intro__text {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.p-standard-diagram {
  overflow-x: clip;
  padding-block: 7rem 7.75rem;
}
@media screen and (max-width: 767px) {
  .p-standard-diagram {
    padding-block: 2.375rem 3.75rem;
  }
}

.p-standard-diagram__inner {
  position: relative;
}
@media screen and (max-width: 1440px) {
  .p-standard-diagram__inner {
    padding-block-start: 7.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-standard-diagram__inner {
    padding-block-start: 9.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-diagram__inner {
    padding-block-start: 0;
  }
}

.p-standard-diagram__content {
  position: absolute;
  z-index: 1;
  inset-block-start: -0.5rem;
  inset-inline-start: 3.125rem;
  max-width: 35.6875rem;
}
@media screen and (max-width: 767px) {
  .p-standard-diagram__content {
    position: static;
    inset: auto;
    max-width: none;
  }
}

.p-standard-diagram__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-diagram__heading {
    font-size: 1.3125rem;
    line-height: 2.6666666667;
    letter-spacing: 0.12em;
  }
}

.p-standard-diagram__text {
  margin-block-start: 1.75rem;
  max-width: 24.75rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-standard-diagram__text {
    max-width: none;
    margin-block-start: 1rem;
    line-height: 1.6428571429;
  }
}

.p-standard-diagram__figure {
  width: min(80%, 58.4375rem);
  margin-inline-start: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-diagram__figure {
    width: 100vw;
    max-width: none;
    margin-block-start: 2.5rem;
    margin-inline: calc(50% - 50vw);
  }
}

.p-standard-diagram__figure img {
  display: block;
  width: 100%;
  height: auto;
}

.p-standard-equipment {
  padding-block: 6.25rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment {
    padding-block: 3rem 3.5rem;
  }
}

.p-standard-equipment__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__heading {
    font-size: 1.3125rem;
    line-height: 2.6666666667;
    letter-spacing: 0.12em;
  }
}

.p-standard-equipment__lead {
  margin-block-start: 1.5625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.7857142857;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__lead {
    margin-block-start: 0.75rem;
    line-height: 1.6428571429;
  }
}

.p-standard-equipment__groups {
  display: grid;
  gap: 2.875rem;
  margin-block-start: 3.25rem;
  width: min(100%, 62.5rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__groups {
    gap: 1.5rem;
    margin-block-start: 2rem;
    width: 100%;
    max-width: min(100%, 35rem);
  }
}

.p-standard-equipment__group-head {
  position: relative;
  overflow: hidden;
  min-height: 5.25rem;
  border-block-start: 1px solid #d5dee8;
}

.p-standard-equipment__group-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-standard-equipment__group-head::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #eefcff 13%, rgba(238, 252, 255, 0) 68%);
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__group-head::before {
    background: linear-gradient(90deg, #eefcff 30%, rgba(238, 252, 255, 0) 75%);
  }
}

.p-standard-equipment__group-title {
  position: relative;
  z-index: 2;
  padding: 1rem 2rem;
  color: var(--color-primary);
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 2.4285714286;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__group-title {
    padding: 1rem 0.75rem;
    font-size: 1.125rem;
    line-height: 2.8333333333;
    letter-spacing: 0.06em;
  }
}

.p-standard-equipment__table {
  display: grid;
  grid-template-columns: 14.625rem minmax(0, 1fr);
  border-block-end: 1px solid #d5dee8;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__table {
    grid-template-columns: 7.125rem minmax(0, 1fr);
  }
}

.p-standard-equipment__term {
  display: flex;
  align-items: center;
  min-height: 3.9375rem;
  padding: 0.625rem 2.125rem;
  border-block-start: 1px solid #d5dee8;
  background-color: #0d345c;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7857142857;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__term {
    min-height: 3.875rem;
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.p-standard-equipment__desc {
  display: flex;
  align-items: center;
  min-height: 3.875rem;
  padding: 0.625rem 2rem;
  border-block-start: 1px solid #d5dee8;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-standard-equipment__desc {
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.p-standard-faq {
  padding-block: 3rem 5.875rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-standard-faq {
    padding-block: 1.875rem 2.5rem;
  }
}

.p-standard-faq__inner {
  width: min(100%, 68.75rem);
}
@media screen and (max-width: 767px) {
  .p-standard-faq__inner {
    width: 100%;
    max-width: min(100%, 38.5rem);
  }
}

.p-standard-faq__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-faq__heading {
    font-size: 1.3125rem;
    line-height: 2.6666666667;
    letter-spacing: 0.12em;
  }
}

.p-standard-faq__lead {
  margin-block-start: 0.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-faq__lead {
    margin-block-start: 0rem;
    text-align: start;
    line-height: 1.6428571429;
  }
}

.p-standard-faq__list {
  display: grid;
  gap: 1.3125rem;
  margin-block-start: 3rem;
  width: min(100%, 62.5rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-faq__list {
    gap: 1rem;
    margin-block-start: 1.75rem;
    width: 100%;
    max-width: min(100%, 35rem);
  }
}

.p-standard-faq__card {
  padding: 1.75rem 3.125rem 2.875rem 3rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  box-shadow: 0 0 0 1px #e8e8e8 inset;
}
@media screen and (max-width: 767px) {
  .p-standard-faq__card {
    padding: 0.75rem 1rem 1.25rem;
  }
}

.p-standard-faq__question {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-standard-faq__q {
  flex-shrink: 0;
  padding-inline-start: 0.75rem;
  font-family: var(--ff-en);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.p-standard-faq__answer {
  margin-block-start: 1rem;
  padding-block-start: 1.125rem;
  border-block-start: 1px solid #e8e8e8;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  .p-standard-faq__answer {
    margin-block-start: 0.5rem;
    padding-block-start: 0.5rem;
  }
}
.p-standard-faq__answer p {
  padding-inline-start: 2.75rem;
}

.p-standard-intro {
  position: relative;
  overflow-x: clip;
  padding-block: 6.1875rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-standard-intro {
    padding-block: 2.125rem 3.875rem;
  }
}

.p-standard-intro__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--gradient-bg-mist);
}
@media screen and (max-width: 767px) {
  .p-standard-intro__bg {
    background: var(--gradient-bg-mist-sp);
  }
}

.p-standard-intro__inner {
  position: relative;
  z-index: 1;
  min-height: 35.8125rem;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__inner {
    min-height: auto;
  }
}

.p-standard-intro__content {
  position: relative;
  z-index: 1;
  max-width: 34.1875rem;
}
@media screen and (max-width: 1440px) {
  .p-standard-intro__content {
    max-width: 33.8461538462%;
  }
}
@media screen and (max-width: 1023px) {
  .p-standard-intro__content {
    max-width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-intro__content {
    max-width: none;
  }
}

.p-standard-intro__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__heading {
    font-size: 1.3125rem;
    line-height: 1.7142857143;
    letter-spacing: 0.12em;
  }
}

.p-standard-intro__lead {
  margin-block-start: 2.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__lead {
    margin-block-start: 1.75rem;
    line-height: 1.6428571429;
  }
}

.p-standard-intro__badges {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 34.1875rem;
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__badges {
    max-width: none;
    margin-block-start: 1.25rem;
  }
}

@media (width >= 768px) {
  .p-standard-intro__badges.u-sp-hidden {
    display: flex;
  }
}

@media (width <= 767px) {
  .p-standard-intro__badges.u-pc-hidden {
    display: flex;
  }
}

.p-standard-intro__badges--pc {
  gap: 0.6875rem;
}

.p-standard-intro__badges--sp {
  gap: 0.5625rem;
}

.p-standard-intro__badge-row {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
}

.p-standard-intro__badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 3.125rem;
  padding: 0.4375rem 1.5rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.25rem;
  white-space: nowrap;
}

.p-standard-intro__text {
  width: min(100%, 26.375rem);
  margin-block-start: 0.875rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__text {
    width: 100%;
    margin-block-start: 1.625rem;
    line-height: 1.6428571429;
  }
}
.p-standard-intro__text p + p {
  margin-block-start: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__text p + p {
    margin-block-start: 1.125rem;
  }
}

.p-standard-intro__visual {
  position: absolute;
  top: 0;
  right: calc((100vw - min(100%, 81.25rem)) / -2);
  overflow: hidden;
  width: min(83.8461538462%, 56.7708333333vw);
  border-radius: 0.375rem 0 0 0.375rem;
  margin-block-start: 2.125rem;
}
@media screen and (max-width: 1440px) {
  .p-standard-intro__visual {
    width: 64.6153846154%;
  }
}
@media screen and (max-width: 1023px) {
  .p-standard-intro__visual {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-intro__visual {
    position: static;
    width: 96vw;
    max-width: none;
    margin-block-start: 2rem;
    margin-inline: calc(50% - 48vw);
  }
}

.p-standard-intro__visual picture {
  display: block;
  width: 100%;
}

.p-standard-intro__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1090/652;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-standard-intro__visual img {
    aspect-ratio: 390/233;
  }
}

.p-standard-performance {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(calc(500 * var(--to-rem)), calc(211.2781954887 * var(--to-rem) + 37.5939849624vw), calc(700 * var(--to-rem)));
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-standard-performance {
    min-height: auto;
  }
}

.p-standard-performance__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  container-type: inline-size;
}

.p-standard-performance__track {
  display: flex;
  align-items: stretch;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  animation: p-standard-performance-marquee 72s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__track {
    animation-duration: 96s;
  }
}

.p-standard-performance__slides {
  display: flex;
  flex-shrink: 0;
  align-items: stretch;
  height: 100%;
}

.p-standard-performance__slide {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 53.125rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__slide {
    width: 100cqw;
  }
}

.p-standard-performance__slide img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-standard-performance__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

.p-standard-performance__inner {
  position: relative;
  z-index: 2;
  padding-block: 6.625rem 6rem;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__inner {
    padding-block: 3.375rem 4.25rem;
  }
}

.p-standard-performance__heading {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 0.95;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__heading {
    font-size: 1.3125rem;
    line-height: 1.2857142857;
  }
}

.p-standard-performance__lead {
  margin-block-start: 2.0625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__lead {
    margin-block-start: 1.5625rem;
    max-width: 100%;
    line-height: 1.6428571429;
    letter-spacing: 0;
  }
}

.p-standard-performance__list {
  display: flex;
  justify-content: center;
  gap: clamp(calc(15 * var(--to-rem)), calc(-10.984962406 * var(--to-rem) + 3.3834586466vw), calc(33 * var(--to-rem)));
  margin-block-start: 3.4375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__list {
    flex-direction: column;
    align-items: center;
    gap: 2.0625rem;
    margin-block-start: 2.625rem;
    margin-inline: auto;
  }
}

.p-standard-performance__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 18.875rem;
  height: auto;
  aspect-ratio: 302/305;
  padding-block-start: clamp(calc(20 * var(--to-rem)), calc(-8.8721804511 * var(--to-rem) + 3.7593984962vw), calc(40 * var(--to-rem)));
  border-radius: 50%;
  background-color: var(--color-white);
  color: var(--color-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item {
    padding-block-start: 3.125rem;
    width: 18.875rem;
    height: 19.0625rem;
  }
}

.p-standard-performance__item:nth-child(3) {
  width: 18.9375rem;
  margin-inline-start: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item:nth-child(3) {
    width: 18.9375rem;
    margin-inline-start: 0;
    margin-block-start: 0.125rem;
  }
}

.p-standard-performance__item::before,
.p-standard-performance__item::after {
  content: "";
  position: absolute;
  padding: 1px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(145deg, #ccecfc 0%, #2f6fad 48%, #123e6b 100%);
  pointer-events: none;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.p-standard-performance__item::before {
  inset: 0;
}

.p-standard-performance__item::after {
  inset: 0;
  translate: -0.5rem -0.5625rem;
}

.p-standard-performance__item-label {
  position: relative;
  z-index: 1;
  width: 100%;
  font-size: clamp(calc(12 * var(--to-rem)), calc(3.3383458647 * var(--to-rem) + 1.1278195489vw), calc(18 * var(--to-rem)));
  font-weight: 500;
  line-height: 2.8333333333;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-label {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}

.p-standard-performance__item-value {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  min-height: clamp(calc(68 * var(--to-rem)), calc(60.7819548872 * var(--to-rem) + 0.9398496241vw), calc(73 * var(--to-rem)));
  margin-block-start: -0.6875rem;
  color: var(--color-primary);
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-value {
    min-height: 4.5625rem;
    margin-block-start: 0;
  }
}

.p-standard-performance__item:nth-child(2) .p-standard-performance__item-value,
.p-standard-performance__item:nth-child(3) .p-standard-performance__item-value {
  align-items: center;
}

.p-standard-performance__item-number {
  font-size: clamp(calc(48 * var(--to-rem)), calc(36.4511278195 * var(--to-rem) + 1.5037593985vw), calc(56 * var(--to-rem)));
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-number {
    font-size: 3.5rem;
  }
}

.p-standard-performance__item-prefix,
.p-standard-performance__item-suffix {
  font-size: clamp(calc(18 * var(--to-rem)), calc(9.3383458647 * var(--to-rem) + 1.1278195489vw), calc(24 * var(--to-rem)));
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-prefix,
  .p-standard-performance__item-suffix {
    font-size: 1.5rem;
  }
}

.p-standard-performance__item-prefix {
  translate: 0 -1.375rem;
}

.p-standard-performance__item-suffix {
  translate: 0.25rem 0.5rem;
}

.p-standard-performance__item-suffix--year {
  translate: 0rem 0rem;
}

.p-standard-performance__item-value-text {
  font-size: clamp(calc(32 * var(--to-rem)), calc(17.5639097744 * var(--to-rem) + 1.8796992481vw), calc(42 * var(--to-rem)));
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-value-text {
    font-size: 2.625rem;
  }
}

.p-standard-performance__item-text {
  position: relative;
  z-index: 1;
  margin-block-start: clamp(calc(5 * var(--to-rem)), calc(-2.2180451128 * var(--to-rem) + 0.9398496241vw), calc(10 * var(--to-rem)));
  width: min(75%, 13.0625rem);
  font-size: clamp(calc(10 * var(--to-rem)), calc(4.2255639098 * var(--to-rem) + 0.7518796992vw), calc(14 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__item-text {
    margin-block-start: 0.625rem;
    font-size: 0.875rem;
  }
}

.p-standard-performance__item:nth-child(2) .p-standard-performance__item-text {
  width: min(75%, 12.3125rem);
}

.p-standard-performance__item:nth-child(3) .p-standard-performance__item-text {
  width: min(75%, 11.625rem);
}

.p-standard-performance__note {
  margin-block-start: 1.75rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-performance__note {
    margin-block-start: 1.9375rem;
    line-height: 1.6666666667;
    text-align: start;
    letter-spacing: 0;
  }
}

@keyframes p-standard-performance-marquee {
  from {
    translate: 0;
  }
  to {
    translate: -50%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-standard-performance__track {
    animation: none;
  }
}
.p-standard-price {
  padding-block: 6.5rem 6.6875rem;
}
@media screen and (max-width: 767px) {
  .p-standard-price {
    padding-block: 3.625rem 4rem;
  }
}

.p-standard-price__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-price__heading {
    font-size: 1.3125rem;
    line-height: 1.6;
    letter-spacing: 0.12em;
  }
}

.p-standard-price__lead {
  margin-block-start: 1.5625rem;
  max-width: 51.625rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.7857142857;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-price__lead {
    margin-block-start: 1rem;
    line-height: 1.5714285714;
  }
}

.p-standard-price__body {
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  align-items: flex-start;
  margin-block-start: 4.25rem;
}
@media screen and (max-width: 767px) {
  .p-standard-price__body {
    flex-direction: column;
    gap: 1.375rem;
    margin-block-start: 2rem;
    max-width: min(100%, 35rem);
    margin-inline: auto;
  }
}

.p-standard-price__content {
  flex: 1 1 27rem;
  min-width: 0;
  padding: 0.875rem clamp(calc(16 * var(--to-rem)), calc(-7.0977443609 * var(--to-rem) + 3.007518797vw), calc(32 * var(--to-rem))) 0.625rem clamp(calc(31 * var(--to-rem)), calc(-13.7518796992 * var(--to-rem) + 5.8270676692vw), calc(62 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-standard-price__content {
    flex: 0 0 auto;
    width: 100%;
    padding: 0;
  }
}

.p-standard-price__label {
  display: inline-block;
  padding: 0.3125rem 1.125rem;
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.p-standard-price__amount {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-block-start: 0.625rem;
  color: var(--color-primary);
}

.p-standard-price__amount-num {
  font-family: var(--ff-en);
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.0625;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-standard-price__amount-num {
    font-size: 4rem;
    line-height: 1;
  }
}

.p-standard-price__amount-unit {
  color: var(--color-primary);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.125;
  letter-spacing: 0.06em;
}

.p-standard-price__tax {
  margin-block-start: 0;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.p-standard-price__text {
  margin-block-start: 2.125rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid #d5dee8;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.1428571429;
}
@media screen and (max-width: 767px) {
  .p-standard-price__text {
    margin-block-start: 1.625rem;
    padding-block-start: 1.125rem;
    line-height: 1.6428571429;
  }
}

.p-standard-price__note {
  margin-block-start: 1.375rem;
  color: var(--color-text);
  font-size: 0.75rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-standard-price__note {
    margin-block-start: 0.875rem;
    line-height: 1.6666666667;
    text-align: start;
    letter-spacing: 0;
  }
}

.p-standard-price__button {
  width: min(100%, 26.875rem);
  margin-block-start: 2.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-price__button {
    width: min(100%, 35rem);
    margin-block-start: 1.75rem;
  }
}

.p-standard-price__image {
  flex: 0 0 clamp(calc(320 * var(--to-rem)), calc(-165.0526315789 * var(--to-rem) + 63.1578947368vw), calc(656 * var(--to-rem)));
  min-width: 0;
  overflow: hidden;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-standard-price__image {
    order: -1;
    flex: 0 0 auto;
    width: 100%;
  }
}

.p-standard-price__image img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-standard-specs {
  padding-block: 5rem 7.25rem;
  background-color: var(--color-bg-section);
}
@media screen and (max-width: 767px) {
  .p-standard-specs {
    padding-block: 3rem 3rem;
  }
}

.p-standard-spec {
  scroll-margin-block-start: calc(var(--header-height) + 1.5rem);
}

.p-standard-spec + .p-standard-spec {
  margin-block-start: 3.5625rem;
}
@media screen and (max-width: 767px) {
  .p-standard-spec + .p-standard-spec {
    margin-block-start: 1.8125rem;
  }
}

.p-standard-spec__card {
  position: relative;
  padding: 1.5rem 2.5rem 3.75rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-standard-spec__card {
    padding: 2.125rem 1.125rem 2.75rem;
    max-width: min(100%, 35rem);
    margin-inline: auto;
  }
}

.p-standard-spec__head {
  position: relative;
  z-index: 1;
  max-width: 39.875rem;
}

.p-standard-spec__num {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 3.2380952381;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__num {
    line-height: 1.6;
  }
}

.p-standard-spec__title {
  margin-block-start: 0.125rem;
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.6923076923;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__title {
    font-size: 1.5rem;
    line-height: 1.8333333333;
    letter-spacing: 0.12em;
  }
}

.p-standard-spec__lead {
  margin-block-start: 1.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
}
@media screen and (max-width: 1023px) {
  .p-standard-spec__lead {
    max-width: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-spec__lead {
    margin-block-start: 1rem;
    line-height: 1.6428571429;
  }
}

.p-standard-spec__visual {
  position: absolute;
  z-index: 0;
  inset-block-start: var(--p-standard-spec-visual-top, 0);
  inset-inline-end: var(--p-standard-spec-visual-inline-end, 0);
  width: min(40%, var(--p-standard-spec-visual-width, 28.4375rem));
}
@media screen and (max-width: 1023px) {
  .p-standard-spec__visual {
    translate: 3.75rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-spec__visual {
    position: static;
    inset: auto;
    translate: 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100vw, 42rem);
    margin-block-start: 1.375rem;
    margin-inline: calc(50% - 50vw);
  }
}

.p-standard-spec__visual img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__visual img {
    width: min(104%, 19.375rem);
    max-width: min(104%, var(--p-standard-spec-visual-sp-max-width, 19.375rem));
  }
}

.p-standard-spec__items {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem clamp(calc(15 * var(--to-rem)), calc(-6.6541353383 * var(--to-rem) + 2.8195488722vw), calc(30 * var(--to-rem)));
  margin-block-start: clamp(calc(40 * var(--to-rem)), calc(-46.6165413534 * var(--to-rem) + 11.2781954887vw), calc(100 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-standard-spec__items {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
    width: min(100%, 25rem);
    margin-inline: auto;
    margin-block-start: 2.125rem;
  }
}

.p-standard-spec__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    -moz-column-gap: 0.875rem;
         column-gap: 0.875rem;
    row-gap: 1rem;
    align-items: start;
  }
}

.p-standard-spec__item-head {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-head {
    grid-column: 2;
    grid-row: 1;
  }
}

.p-standard-spec__item-body {
  min-width: 0;
  padding-inline: clamp(calc(0 * var(--to-rem)), calc(-14.4360902256 * var(--to-rem) + 1.8796992481vw), calc(10 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-body {
    display: contents;
    padding-inline: 0;
  }
}

.p-standard-spec__item-image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-image {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    flex-shrink: 0;
    width: 7.5rem;
    height: 7.5rem;
    aspect-ratio: auto;
  }
}

.p-standard-spec__item-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-standard-spec__item-label {
  color: var(--color-text);
  font-size: clamp(calc(12 * var(--to-rem)), calc(9.1127819549 * var(--to-rem) + 0.3759398496vw), calc(14 * var(--to-rem)));
  font-weight: 500;
  line-height: 2.1428571429;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-label {
    line-height: 1.6428571429;
  }
}

.p-standard-spec__item-value {
  margin-block-start: 0.25rem;
  color: var(--color-primary);
  font-size: clamp(calc(16 * var(--to-rem)), calc(8.7819548872 * var(--to-rem) + 0.9398496241vw), calc(21 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-value {
    margin-block-start: 0.25rem;
    font-size: 1.3125rem;
    line-height: 1.2380952381;
  }
}

.p-standard-spec__item-text {
  margin-block-start: 1rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.6428571429;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-text {
    grid-column: 1/-1;
    grid-row: 2;
    margin-block-start: 0;
  }
}

.p-standard-spec__item-note {
  margin-block-start: 0;
  color: var(--color-text);
  font-size: 0.75rem;
  line-height: 2.0833333333;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-spec__item-note {
    grid-column: 1/-1;
    grid-row: 3;
    margin-block-start: -1.125rem;
  }
}

.p-standard-vs {
  padding-block: 4rem 7.4375rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-standard-vs {
    padding-block: 3rem 3rem;
  }
}

.p-standard-vs__heading {
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2.1538461538;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

.p-standard-vs__lead {
  margin-block-start: 1.5625rem;
  max-width: 47.125rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.7857142857;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__lead {
    margin-block-start: 1.5625rem;
    line-height: 1.6428571429;
  }
}

.p-standard-vs__panel {
  position: relative;
  margin-block-start: 2.75rem;
  padding: 0.75rem 2.5rem 4.75rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__panel {
    margin-block-start: 1.5rem;
    padding: 1.5rem 1rem 2.5625rem;
  }
}

.p-standard-vs__compare {
  position: relative;
  z-index: 1;
  width: min(100%, 63.125rem);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__compare {
    width: 100%;
  }
}

.p-standard-vs__ours-bg {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  z-index: 0;
  width: clamp(calc(267 * var(--to-rem)), calc(-147.2222222222 * var(--to-rem) + 53.9351851852vw), calc(500 * var(--to-rem)));
  background: url("../images/bg_vs.webp") center/cover no-repeat;
  opacity: 0.7;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__ours-bg {
    width: calc((100% - 0.5625rem) / 2);
  }
}

.p-standard-vs__table {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 31.25rem) minmax(0, 29.375rem);
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  width: 100%;
  border-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__table {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    -moz-column-gap: 0.5625rem;
         column-gap: 0.5625rem;
  }
}

.p-standard-vs__table thead,
.p-standard-vs__table tbody,
.p-standard-vs__table tr {
  display: contents;
}

.p-standard-vs__ours-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-height: 8.5rem;
  border-block-end: 2px solid #123e6b;
  color: #123e6b;
  font-weight: 400;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__ours-head {
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    height: 4.8125rem;
    min-height: 4.8125rem;
  }
}

.p-standard-vs__brand-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block-end: clamp(calc(12 * var(--to-rem)), calc(-9.3333333333 * var(--to-rem) + 2.7777777778vw), calc(24 * var(--to-rem)));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__brand-wrap {
    padding-block-end: 0;
  }
}

.p-standard-vs__brand-en {
  color: #123e6b;
  font-family: var(--ff-en);
  font-size: clamp(calc(22 * var(--to-rem)), calc(0.6666666667 * var(--to-rem) + 2.7777777778vw), calc(34 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.4411764706;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__brand-en {
    margin-inline-start: 0;
    font-size: 1.25rem;
    line-height: 1.8125rem;
    letter-spacing: 0.19em;
  }
}

.p-standard-vs__brand-ja {
  width: 7.375rem;
  margin-block-start: -0.375rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__brand-ja {
    width: auto;
    height: 2rem;
    margin-block-start: -0.125rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
}

.p-standard-vs__house-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block-end: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__house-wrap {
    display: none;
  }
}

.p-standard-vs__house {
  flex-shrink: 0;
  width: clamp(calc(106 * var(--to-rem)), calc(-82.4444444444 * var(--to-rem) + 24.537037037vw), calc(212 * var(--to-rem)));
  height: auto;
  pointer-events: none;
}

.p-standard-vs__others-head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 8.3125rem;
  border-block-end: 2px solid #cfcfcf;
  color: #585858;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__others-head {
    align-items: flex-start;
    box-sizing: border-box;
    height: 4.8125rem;
    min-height: 4.8125rem;
    font-size: 0.875rem;
    line-height: 1.3571428571;
    letter-spacing: 0.06em;
  }
}

.p-standard-vs__others-head-text {
  display: block;
}

.p-standard-vs__table th,
.p-standard-vs__table td {
  padding: 0;
}

.p-standard-vs__table .p-standard-vs__ours-head {
  padding: 0 0 0 clamp(calc(30 * var(--to-rem)), calc(-68.1145374449 * var(--to-rem) + 12.7753303965vw), calc(59 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-standard-vs__table .p-standard-vs__ours-head {
    padding: 0.8125rem 0 0;
  }
}

.p-standard-vs__table .p-standard-vs__others-head {
  padding: 0 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__table .p-standard-vs__others-head {
    padding: 1.25rem 0 0;
  }
}

.p-standard-vs__table td {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: auto;
  min-height: 4.5625rem;
  padding-block: 0.625rem;
  color: #7d7d7d;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3125;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__table td {
    align-items: flex-start;
    justify-content: center;
    min-height: 3.875rem;
    padding-block: 0.625rem 0;
    font-size: 0.875rem;
    line-height: 1.3571428571;
    letter-spacing: 0.02em;
  }
}

.p-standard-vs__table td:first-child {
  justify-content: flex-start;
  width: min(100%, 31.25rem);
  margin-inline: auto;
  text-align: start;
  border-block-start: 1px solid #d5dee8;
}

.p-standard-vs__table td:last-child {
  border-block-start: 1px solid #e4e4e4;
}

.p-standard-vs__table tbody tr:last-child td:last-child {
  border-block-end: 1px solid #e4e4e4;
}

.p-standard-vs__feature {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-inline: clamp(calc(32 * var(--to-rem)), calc(-39.1111111111 * var(--to-rem) + 9.2592592593vw), calc(72 * var(--to-rem))) 2rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1666666667;
  letter-spacing: 0.02em;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__feature {
    align-items: flex-start;
    gap: 0.875rem;
    padding-inline-start: 0.6875rem;
    padding-inline-end: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
}

.p-standard-vs__check {
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1rem;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__check {
    width: 0.875rem;
    height: 0.75rem;
    margin-block-start: 0.25rem;
  }
}

.p-standard-vs__result {
  position: relative;
  z-index: 1;
  width: min(100%, 56.25rem);
  margin-block-start: 5.5rem;
  margin-inline: auto;
  padding: 2.5rem 1.5rem 2.75rem;
  border: 1px solid #c2c2c2;
  background-color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__result {
    width: calc(100% - 1rem);
    margin-block-start: 4rem;
    margin-inline: auto;
    padding: 2rem 1rem 1.875rem;
  }
}

.p-standard-vs__result-head {
  position: absolute;
  inset-block-start: -0.5rem;
  inset-inline-start: 50%;
  z-index: 1;
  display: grid;
  padding-inline: 3.25rem;
  background-color: var(--color-white);
  text-align: center;
  translate: -50% -50%;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__result-head {
    inset-block-start: -0.125rem;
    padding-inline: 3.25rem;
  }
}

.p-standard-vs__result-label {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1.75rem;
  line-height: 1.5;
  letter-spacing: 0.13em;
  white-space: nowrap;
}

.p-standard-vs__result-sub {
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.p-standard-vs__result-title {
  margin-block-start: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.1083333333;
  background-image: linear-gradient(70.715deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-standard-vs__result-title {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-standard-vs__result-title {
    margin-block-start: 0.875rem;
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-standard-vs__result-text {
  margin-block-start: 1.5rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__result-text {
    padding-inline: 0.75rem;
    line-height: 1.6428571429;
  }
}

.p-standard-vs__note {
  position: relative;
  z-index: 1;
  margin-block-start: 2.0625rem;
  margin-inline: auto;
  color: #5c5c5c;
  font-size: 0.75rem;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-standard-vs__note {
    margin-block-start: 1.125rem;
    padding-inline: 0.5rem;
    line-height: 1.6666666667;
    text-align: start;
  }
}

.p-top-about {
  padding-block: 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding-block: 2.625rem 0;
  }
}

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

.p-top-about__heading {
  display: grid;
  gap: 0.25rem;
  justify-items: center;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-about__heading {
    gap: 0;
  }
}

.p-top-about__heading-en {
  max-width: 100%;
  font-family: var(--ff-en);
  font-size: clamp(calc(32 * var(--to-rem)), calc(12.5876777251 * var(--to-rem) + 1.8957345972vw), calc(40 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background-image: linear-gradient(110deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-about__heading-en {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__heading-en {
    font-size: 1.75rem;
    letter-spacing: 0.13em;
  }
}

.p-top-about__heading-ja {
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-top-about__heading-ja {
    margin-block-start: 0.25rem;
    font-size: 0.875rem;
  }
}

.p-top-about__body {
  display: grid;
  gap: 0.625rem;
  margin-block-start: 3.5rem;
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-about__body {
    gap: 0;
    margin-block-start: 2rem;
    font-size: 0.875rem;
    line-height: 1.875rem;
    letter-spacing: 0.06em;
  }
}

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

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

.p-top-about__more {
  display: none;
  justify-content: flex-end;
  width: min(100%, 20.8125rem);
  margin-block-start: 1.375rem;
  margin-inline: auto;
  padding-inline-end: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__more {
    display: flex;
  }
}

.p-top-about__more-link {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
}

.p-top-about__more-icon {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
}

.p-top-about__more-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.p-top-about__more-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-top-about__more-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.p-top-about__more-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.p-top-about__more-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

@media (any-hover: hover) {
  .p-top-about__more-link:hover {
    opacity: 1;
  }
  .p-top-about__more-link:hover .p-top-about__more-circle {
    stroke-dashoffset: 0;
  }
  .p-top-about__more-link:hover .p-top-about__more-arrow {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top-about__more-circle,
  .p-top-about__more-arrow {
    transition: none;
  }
}
.p-top-column {
  margin-block-start: 8.25rem;
  padding-block: 3.1875rem 7.0625rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-top-column {
    margin-block-start: 0rem;
    padding-block: 2.5rem 0;
    background-color: transparent;
  }
}

@media screen and (max-width: 767px) {
  .p-top-column__inner {
    display: flex;
    flex-direction: column;
  }
}

.p-top-column__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__head {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p-top-column__title {
    order: 1;
  }
}

.p-top-column__title .c-section-title {
  gap: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__title .c-section-title {
    gap: 0rem;
  }
}

.p-top-column__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-top-column__title .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.9444444444;
    letter-spacing: 0.13em;
  }
}

.p-top-column__title .c-section-title__heading {
  font-size: 1.75rem;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(77deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-column__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-column__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 2.4285714286;
    letter-spacing: 0.12em;
  }
}

.p-top-column__link {
  flex-shrink: 0;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__link {
    order: 3;
    align-self: flex-end;
    margin-block-start: 1.5625rem;
  }
}

.p-top-column__link-anchor {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--color-text);
}

.p-top-column__link-icon {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
}

.p-top-column__link-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid #d9d9d9;
  border-radius: 50%;
  pointer-events: none;
  transition: border-color var(--duration) var(--easing);
}

.p-top-column__link-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* 円周 ≈ 2π × 22 ≒ 138 */
.p-top-column__link-circle {
  fill: transparent;
  stroke: currentcolor;
  stroke-width: 1;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.p-top-column__link-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.p-top-column__link-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

.p-top-column__link-text {
  font-size: 0.875rem;
  line-height: 2.5714285714;
}

.p-top-column__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(calc(18 * var(--to-rem)), calc(-25.6777251185 * var(--to-rem) + 4.2654028436vw), calc(36 * var(--to-rem))) clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
  max-width: 67.1875rem;
  margin-block-start: 3.0625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-column__list {
    order: 2;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.375rem;
    max-width: none;
    margin-block-start: 1.375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-column__item:nth-child(n+4) {
    display: none;
  }
}

.p-top-column__card {
  display: grid;
  grid-template-columns: 36.54% minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: stretch;
  height: 100%;
  border: 1px solid var(--color-primary);
  background-color: var(--color-white);
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-top-column__card {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    grid-template-rows: 7.5rem auto;
    min-height: 11.25rem;
  }
}

.p-top-column__card-image {
  grid-row: 1/-1;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-image {
    grid-row: 1;
    width: 7.5rem;
    height: 7.5rem;
    aspect-ratio: auto;
  }
}

.p-top-column__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-column__card-body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  min-width: 0;
  padding: 1.625rem 1.375rem 0 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-body {
    justify-content: center;
    grid-column: 2;
    grid-row: 1;
    padding: 0.8125rem 0.9375rem 0;
  }
}

.p-top-column__card-lead {
  display: flex;
  align-items: center;
  gap: clamp(calc(9 * var(--to-rem)), calc(-12.8388625592 * var(--to-rem) + 2.1327014218vw), calc(18 * var(--to-rem)));
  min-height: 1.8125rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-lead {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.875rem;
    min-height: 0;
  }
}

.p-top-column__card-new {
  display: grid;
  place-items: center;
  width: clamp(calc(48 * var(--to-rem)), calc(-5.3838862559 * var(--to-rem) + 5.2132701422vw), calc(70 * var(--to-rem)));
  height: 1.8125rem;
  background-color: #fff399;
  font-family: var(--ff-en);
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

.p-top-column__card-date {
  color: #123e6b;
  font-family: var(--ff-en);
  font-size: 1.125rem;
  line-height: 1;
}

.p-top-column__card-heading {
  display: -webkit-box;
  overflow: hidden;
  width: 100%;
  margin-block-start: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6428571429;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-heading {
    margin-block-start: 0.5625rem;
    line-height: 1.4285714286;
  }
}

.p-top-column__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem clamp(calc(12 * var(--to-rem)), calc(-26.8246445498 * var(--to-rem) + 3.7914691943vw), calc(28 * var(--to-rem)));
  grid-column: 2;
  align-self: end;
  padding: 0.9375rem 1.375rem 1.125rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-tags {
    grid-column: 1/-1;
    grid-row: 2;
    align-self: stretch;
    gap: 0.375rem 1.75rem;
    padding: 0.5rem 0.9375rem 0.5rem;
  }
}

.p-top-column__card-tag {
  color: #123e6b;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 3;
}
@media screen and (max-width: 767px) {
  .p-top-column__card-tag {
    line-height: 3;
  }
}

@media (any-hover: hover) {
  .p-top-column__link-anchor:hover .p-top-column__link-icon::before {
    border-color: currentcolor;
  }
  .p-top-column__link-anchor:hover .p-top-column__link-circle {
    stroke-dashoffset: 0;
  }
  .p-top-column__link-anchor:hover .p-top-column__link-arrow {
    inset-inline-start: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top-column__link-circle,
  .p-top-column__link-arrow,
  .p-top-column__link-icon::before {
    transition: none;
  }
}
.p-top-column__coming-soon {
  margin-block-start: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-column__coming-soon {
    order: 2;
    margin-block-start: 1.375rem;
  }
}

.p-top-company {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 43.75rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-company {
    margin-block-start: 1.5rem;
    min-height: 39.25rem;
  }
}

.p-top-company__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  container-type: inline-size;
}

.p-top-company__track {
  display: flex;
  align-items: stretch;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  animation: p-top-company-marquee 72s linear infinite;
}
@media screen and (max-width: 767px) {
  .p-top-company__track {
    animation-duration: 96s;
  }
}

.p-top-company__slides {
  display: flex;
  flex-shrink: 0;
  align-items: stretch;
  height: 100%;
}

.p-top-company__slide {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 53.125rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-company__slide {
    width: 100cqw;
  }
}

.p-top-company__slide img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-company__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(-29deg, #0a1224 81%, #366fba 96%);
  opacity: 0.8;
  pointer-events: none;
}

.p-top-company__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 4.625rem 4.9375rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__inner {
    padding-block: 1.75rem 2.5rem;
  }
}

.p-top-company__title .c-section-title {
  gap: 1.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-company__title .c-section-title {
    gap: 0.9375rem;
  }
}

.p-top-company__title .c-section-title__en,
.p-top-company__title .c-section-title__heading {
  background-image: none;
  background-clip: border-box;
  color: var(--color-white);
  animation: none;
}

.p-top-company__title .c-section-title__heading {
  font-size: 1.75rem;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-top-company__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-top-company__text {
  max-width: 49.625rem;
  margin-block-start: 1.8125rem;
  font-size: 0.875rem;
  line-height: 2.2857142857;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-company__text {
    margin-block-start: 1.5625rem;
    margin-inline: -0.0625rem;
    line-height: 1.8571428571;
  }
}

.p-top-company__stats {
  display: flex;
  justify-content: center;
  gap: 2.1875rem;
  margin-block-start: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__stats {
    display: grid;
    grid-template-columns: 7.4375rem 7.4375rem;
    justify-content: center;
    -moz-column-gap: 6rem;
         column-gap: 6rem;
    row-gap: 0;
    margin-block-start: 1rem;
  }
}

.p-top-company__stat {
  position: relative;
  display: grid;
  place-content: center;
  place-items: center;
  gap: 1.25rem;
  width: 11.4375rem;
  height: 11.4375rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat {
    gap: 0.125rem;
    width: 7.4375rem;
    height: 7.4375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-company__stat:first-child {
    grid-column: 1/-1;
    justify-self: center;
    margin-block-end: -2.75rem;
  }
}

.p-top-company__stat::before,
.p-top-company__stat::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  pointer-events: none;
}

.p-top-company__stat::before {
  translate: -0.25rem 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat::before {
    inset: 0.03125rem;
    translate: none;
  }
}

.p-top-company__stat::after {
  translate: 0.125rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat::after {
    inset: 0.2675rem 0.03125rem 0.03125rem 0.2675rem;
    translate: none;
  }
}

.p-top-company__stat-label {
  font-size: 1.125rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-label {
    font-size: 1rem;
    line-height: 1.625;
  }
}

.p-top-company__stat-value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  margin-block-start: -0.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-value {
    gap: 0.125rem;
    margin-block-start: 0;
  }
}

.p-top-company__stat-number {
  font-family: var(--ff-en);
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-number {
    font-size: 1.625rem;
    letter-spacing: 0.06em;
  }
}

.p-top-company__stat-area {
  font-size: 2.25rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-area {
    font-size: 1.3125rem;
    line-height: 1.7142857143;
  }
}

.p-top-company__stat-unit {
  font-size: 1.3125rem;
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-unit {
    font-size: 0.875rem;
    line-height: 2.5714285714;
  }
}

.p-top-company__stat-note {
  position: absolute;
  inset-block-end: 2.125rem;
  inset-inline: 0;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-top-company__stat-note {
    inset-block-end: 1.25rem;
    font-size: 0.5625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-company__stat:nth-child(3) .p-top-company__stat-value {
    gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-company__stat:nth-child(3) .p-top-company__stat-unit {
    font-size: 1.3125rem;
    line-height: 1.7142857143;
  }
}

.p-top-company__button {
  margin-block-start: 3.875rem;
}
@media screen and (max-width: 767px) {
  .p-top-company__button {
    width: min(100%, 17.0625rem);
    margin-block-start: 1.9375rem;
  }
}

.p-top-company__button-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  gap: 1rem;
  width: 17.0625rem;
  min-height: 4.375rem;
  padding: 1rem 1.75rem 1rem 2.1875rem;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 0.375rem;
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.1em;
  transition: background-color var(--duration) var(--easing), color var(--duration) var(--easing), opacity var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .p-top-company__button-link {
    width: 100%;
    padding: 1.0625rem 1.8125rem 1.0625rem 2.1875rem;
  }
}

.p-top-company__button-arrow {
  position: relative;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 1.625rem;
  height: 1.625rem;
  border: 1px solid currentcolor;
  border-radius: 50%;
}

/* Figma: 8.39 × 3.87 の塗り矢印。currentcolor でホバー色に追従 */
.p-top-company__button-arrow::before {
  content: "";
  width: 0.5rem;
  height: 0.25rem;
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='4' viewBox='0 0 8.389 3.872' fill='none'%3E%3Cpath d='M6.992 1.653C6.757 1.487 6.503 1.282 6.231 1.039C5.964 0.795 5.729 0.546 5.523 0.291L6.067 0C6.273 0.244 6.503 0.485 6.757 0.723C7.017 0.955 7.286 1.177 7.564 1.388C7.848 1.592 8.123 1.775 8.389 1.936C8.123 2.091 7.848 2.274 7.564 2.484C7.286 2.695 7.017 2.919 6.757 3.157C6.503 3.39 6.273 3.628 6.067 3.872L5.523 3.581C5.729 3.326 5.964 3.077 6.231 2.833C6.503 2.584 6.757 2.379 6.992 2.218H0V1.653H6.992Z' fill='%23000'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='4' viewBox='0 0 8.389 3.872' fill='none'%3E%3Cpath d='M6.992 1.653C6.757 1.487 6.503 1.282 6.231 1.039C5.964 0.795 5.729 0.546 5.523 0.291L6.067 0C6.273 0.244 6.503 0.485 6.757 0.723C7.017 0.955 7.286 1.177 7.564 1.388C7.848 1.592 8.123 1.775 8.389 1.936C8.123 2.091 7.848 2.274 7.564 2.484C7.286 2.695 7.017 2.919 6.757 3.157C6.503 3.39 6.273 3.628 6.067 3.872L5.523 3.581C5.729 3.326 5.964 3.077 6.231 2.833C6.503 2.584 6.757 2.379 6.992 2.218H0V1.653H6.992Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

@keyframes p-top-company-marquee {
  from {
    translate: 0;
  }
  to {
    translate: -50%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top-company__track {
    animation: none;
  }
}
@media (any-hover: hover) {
  .p-top-company__button-link:hover {
    background-color: var(--color-white);
    color: var(--color-black);
    opacity: 1;
  }
}
.p-top-concept {
  overflow: hidden;
  padding-block: 5rem 7.9375rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-top-concept {
    margin-block-start: 1.1875rem;
    padding-block: 2.125rem 2.375rem;
  }
}

.p-top-concept__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-concept__head {
    width: min(100%, 38.5rem);
    margin-inline: auto;
    padding-inline: 1.75rem;
  }
}

.p-top-concept__heading {
  max-width: 100%;
  font-family: var(--ff-base);
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-concept__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-concept__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

.p-top-concept__lead {
  margin-block-start: 2.25rem;
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-top-concept__lead {
    margin-block-start: 1.75rem;
    margin-inline: -0.125rem;
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
}

.p-top-concept__slider {
  margin-block-start: 3.6875rem;
}
@media screen and (max-width: 767px) {
  .p-top-concept__slider {
    margin-block-start: 2.5rem;
    padding-inline: 1.75rem;
  }
}

.p-top-concept__slide.swiper-slide {
  width: min(85.375rem, 100% - 5rem);
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-top-concept__slide.swiper-slide {
    width: 100%;
  }
}

.p-top-concept__swiper {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-top-concept__swiper {
    width: min(100%, 38.5rem);
    margin-inline: auto;
    padding-inline: 0;
  }
  .p-top-concept__swiper .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
    transform: none !important;
  }
}

.p-top-concept__card {
  display: grid;
  grid-template-columns: 51.3317191283% minmax(0, 1fr);
  align-items: stretch;
  gap: 2.875rem;
  box-sizing: border-box;
  min-height: 26.875rem;
  padding: 2.3125rem 5rem 2.25rem 2.9375rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);
  color: var(--color-text);
  box-shadow: 0 0.5rem 1.5rem oklch(from var(--color-black) l c h/6%);
}
@media (any-hover: hover) {
  .p-top-concept__card:hover .p-top-concept__more-circle {
    stroke-dashoffset: 0;
  }
  .p-top-concept__card:hover .p-top-concept__more-arrow {
    inset-inline-start: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-concept__card {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    min-height: 0;
    padding: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-concept__card {
    gap: 0.5625rem;
    padding: 1.125rem 1rem 1.3125rem;
  }
}

.p-top-concept__card-image {
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 636/357;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-top-concept__card-image {
    aspect-ratio: 303/170;
  }
}

.p-top-concept__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-block: 2rem 3.5rem;
}
@media screen and (max-width: 1023px) {
  .p-top-concept__card-body {
    padding-block: 0;
  }
}

.p-top-concept__card-label {
  color: #a4a4a4;
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .p-top-concept__card-label {
    font-size: 0.875rem;
    line-height: 1.875rem;
  }
}

.p-top-concept__card-title {
  margin-block-start: 1.75rem;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-top-concept__card-title {
    margin-block-start: 0.5rem;
    font-size: 1.3125rem;
    line-height: 1.3125rem;
  }
}

.p-top-concept__card-text {
  margin-block-start: 1.875rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .p-top-concept__card-text {
    margin-block-start: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.4375rem;
  }
}

.p-top-concept__more {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-block-start: auto;
  margin-inline-start: auto;
  padding-block-start: 1.25rem;
  font-family: var(--ff-en);
  font-size: 1rem;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .p-top-concept__more {
    padding-block-start: 0.75rem;
  }
}

.p-top-concept__more-icon {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  width: 2.8125rem;
  height: 2.8125rem;
  border: 0;
  border-radius: 50%;
}

.p-top-concept__more-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 1px solid currentcolor;
  border-radius: 50%;
  pointer-events: none;
}

.p-top-concept__more-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.p-top-concept__more-circle {
  fill: transparent;
  stroke: var(--color-primary);
  stroke-width: 2;
  stroke-dasharray: 138;
  stroke-dashoffset: 138;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset var(--duration-circle) var(--easing-circle);
}

.p-top-concept__more-arrow {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
  transition: inset-inline-start var(--duration-circle) var(--easing-circle);
}

.p-top-concept__more-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -100%;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.794 2.786C10.43 2.506 10.038 2.16067 9.618 1.75C9.20733 1.33933 8.84333 0.919334 8.526 0.490001L9.366 0C9.68333 0.410667 10.038 0.816667 10.43 1.218C10.8313 1.61 11.2467 1.98333 11.676 2.338C12.1147 2.68333 12.5393 2.99133 12.95 3.262C12.5393 3.52333 12.1147 3.83133 11.676 4.186C11.2467 4.54067 10.8313 4.91867 10.43 5.32C10.038 5.712 9.68333 6.11333 9.366 6.524L8.526 6.034C8.84333 5.60467 9.20733 5.18467 9.618 4.774C10.038 4.354 10.43 4.00867 10.794 3.738H0V2.786H10.794Z' fill='%23123E6B'/%3E%3C/svg%3E") center/0.8125rem 0.4375rem no-repeat;
}

@media (prefers-reduced-motion: reduce) {
  .p-top-concept__more-circle,
  .p-top-concept__more-arrow {
    transition: none;
  }
}
.p-top-concept__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0rem;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-concept__nav {
    display: none;
  }
}

.p-top-concept__nav-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2.5rem;
  color: var(--color-text);
}

.p-top-concept__nav-button::before {
  content: "";
  width: 1.08125rem;
  height: 1.08125rem;
  border-top: 1.5px solid currentcolor;
  border-right: 1.5px solid currentcolor;
}

.p-top-concept__nav-button--prev::before {
  rotate: -135deg;
}

.p-top-concept__nav-button--next::before {
  rotate: 45deg;
}

.p-top-concept__fraction {
  display: flex;
  align-items: flex-end;
  gap: 0rem;
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 2.125;
}

.p-top-concept__fraction-current {
  translate: 0.5rem -0.5rem;
}

.p-top-concept__fraction-separator {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 2.4075rem;
  height: 1px;
  background-color: currentcolor;
  rotate: -58deg;
}

.p-top-concept__fraction-total {
  translate: -0.5rem 0.5rem;
}

.p-top-concept__cta {
  display: flex;
  justify-content: center;
  width: min(100%, 26.875rem);
  margin-block-start: 2.375rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-concept__cta {
    box-sizing: border-box;
    width: calc(100% - 3.5rem);
    max-width: 20.9375rem;
    margin-block-start: 2rem;
  }
}

.p-top-event {
  padding-block-start: 6.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-event {
    padding-block-start: 2.375rem;
  }
}

.p-top-event__title .c-section-title {
  gap: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-top-event__title .c-section-title {
    gap: 0rem;
  }
}

.p-top-event__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-top-event__title .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.9444444444;
    letter-spacing: 0.13em;
  }
}

.p-top-event__title .c-section-title__heading {
  font-size: 1.75rem;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(84deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-event__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-event__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.6;
    letter-spacing: 0.12em;
  }
}

.p-top-event__slider {
  margin-block-start: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-event__slider {
    margin-block-start: 1.4375rem;
  }
}

.p-top-event__swiper {
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-top-event__swiper {
    overflow: hidden;
  }
}

.p-top-event__swiper .swiper-wrapper.p-top-event__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: center;
  gap: clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__swiper .swiper-wrapper.p-top-event__list {
    display: flex;
    grid-template-columns: none;
    justify-content: flex-start;
    gap: 0;
  }
}

@media (min-width: 768px) {
  .p-top-event__swiper .swiper-wrapper.p-top-event__list {
    transform: none !important;
  }
  .swiper-slide.p-top-event__item {
    width: auto !important;
    margin: 0 !important;
  }
}
.swiper-slide.p-top-event__item {
  height: auto;
}
@media screen and (max-width: 767px) {
  .swiper-slide.p-top-event__item {
    width: 100%;
    box-sizing: border-box;
  }
}

.p-top-event__card {
  display: block;
  color: var(--color-text);
}

@media (any-hover: hover) {
  .p-top-event__card:hover .p-top-event__more-line {
    transform: scaleX(1.05);
  }
}
.p-top-event__card-image {
  overflow: hidden;
  border-radius: 0.375rem;
  aspect-ratio: 400/267;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-image {
    aspect-ratio: 335/223;
  }
}

.p-top-event__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-event__card-body {
  padding-inline: clamp(calc(8 * var(--to-rem)), calc(-11.4123222749 * var(--to-rem) + 1.8957345972vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__card-body {
    padding-inline: 0;
  }
}

.p-top-event__card-tags {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.p-top-event__card-tag {
  display: grid;
  place-items: center;
  width: 5.5rem;
  height: 1.875rem;
  margin-block-start: 0.875rem;
  background-color: #fff399;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-tag {
    width: 4.75rem;
    height: 1.625rem;
    margin-block-start: 1.25rem;
    font-size: 0.75rem;
  }
}

.p-top-event__card-tag--store {
  border: 1px solid var(--color-primary);
  background-color: transparent;
  color: var(--color-primary);
}

.p-top-event__card-heading {
  margin-block-start: 0.6875rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.06em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-heading {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0.06em;
  }
}

.p-top-event__card-date {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  margin-block-start: 0.875rem;
  font-family: var(--ff-en);
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-date {
    margin-block-start: 0.9375rem;
  }
}

.p-top-event__card-year {
  margin-inline-end: clamp(calc(3 * var(--to-rem)), calc(-9.4444444444 * var(--to-rem) + 1.6203703704vw), calc(10 * var(--to-rem)));
  font-size: clamp(calc(10 * var(--to-rem)), calc(-0.6666666667 * var(--to-rem) + 1.3888888889vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__card-year {
    font-size: 1rem;
  }
}

.p-top-event__card-weekday {
  font-size: clamp(calc(10 * var(--to-rem)), calc(-0.6666666667 * var(--to-rem) + 1.3888888889vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__card-weekday {
    font-size: 1rem;
  }
}

.p-top-event__card-tilde {
  margin-inline: 0 clamp(calc(2 * var(--to-rem)), calc(-1.5555555556 * var(--to-rem) + 0.462962963vw), calc(4 * var(--to-rem)));
  font-size: clamp(calc(10 * var(--to-rem)), calc(-0.6666666667 * var(--to-rem) + 1.3888888889vw), calc(16 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__card-tilde {
    margin-inline: 0.25rem;
    font-size: 1rem;
  }
}

.p-top-event__card-day {
  font-size: clamp(calc(19 * var(--to-rem)), calc(-4.1111111111 * var(--to-rem) + 3.0092592593vw), calc(32 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-event__card-day {
    font-size: 2rem;
  }
}

.p-top-event__card-date-text {
  margin-block-start: 0.875rem;
  font-size: clamp(calc(15 * var(--to-rem)), calc(2.5555555556 * var(--to-rem) + 1.6203703704vw), calc(22 * var(--to-rem)));
  line-height: 1.45;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-date-text {
    margin-block-start: 0.9375rem;
    font-size: 1.25rem;
  }
}

.p-top-event__card-place {
  margin-block-start: clamp(calc(12 * var(--to-rem)), calc(-17.1184834123 * var(--to-rem) + 2.8436018957vw), calc(24 * var(--to-rem)));
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-place {
    display: none;
  }
}

.p-top-event__card-time {
  margin-block-start: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-event__card-time {
    display: none;
  }
}

.p-top-event__more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-block-start: 2.5rem;
  color: #8d8d8d;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-event__more {
    justify-content: flex-start;
    gap: 0.875rem;
    margin-block-start: 2.375rem;
    padding-inline: 0.75rem 0;
  }
}

.p-top-event__more-line {
  flex: 0 1 auto;
  flex-basis: 13.875rem;
  align-self: center;
  min-width: 2.5rem;
  height: 0.625rem;
  transform-origin: left center;
  transition: transform var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .p-top-event__more-line {
    flex: 1 1 auto;
    flex-basis: auto;
    width: min(100%, 13.90625rem);
    max-width: 13.90625rem;
  }
}

.p-top-event__more-line svg {
  display: block;
  width: 100%;
  height: 0.625rem;
}

@media (prefers-reduced-motion: reduce) {
  .p-top-event__more-line {
    transition: none;
  }
}
.p-top-event__nav {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-event__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0rem;
    margin-block-start: 1.625rem;
  }
}

.p-top-event__nav-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2.5rem;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .p-top-event__nav-button {
    width: 2rem;
    height: 2.5rem;
  }
}

.p-top-event__nav-button::before {
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  border-block-start: 1.5px solid currentcolor;
  border-inline-end: 1.5px solid currentcolor;
}

.p-top-event__nav-button--prev::before {
  rotate: -135deg;
}

.p-top-event__nav-button--next::before {
  rotate: 45deg;
}

.p-top-event__fraction {
  display: flex;
  align-items: flex-end;
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 2.125;
  letter-spacing: 0.19em;
}

.p-top-event__fraction-current {
  translate: 0.5rem -0.5rem;
}

.p-top-event__fraction-separator {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 2rem;
  height: 1px;
  background-color: currentcolor;
  rotate: -58deg;
}

.p-top-event__fraction-total {
  translate: -0.5rem 0.5rem;
}

.p-top-event__cta {
  display: flex;
  justify-content: center;
  width: min(100%, 25rem);
  margin-block-start: 3.875rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-event__cta {
    width: min(100%, 20.9375rem);
    margin-block-start: 2.375rem;
  }
}

.p-top-event__cta .c-button {
  --c-button-image: url("../images/bg_event_cta.webp");
}
@media screen and (max-width: 767px) {
  .p-top-event__cta .c-button {
    min-height: 5.625rem;
    padding-inline: 1.75rem;
  }
}

.p-top-event__coming-soon {
  margin-block-start: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-event__coming-soon {
    margin-block-start: 1.4375rem;
  }
}

.p-top-gallery {
  overflow: hidden;
}

.p-top-gallery__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.p-top-gallery__item {
  overflow: hidden;
  aspect-ratio: 960/536;
}
@media screen and (max-width: 767px) {
  .p-top-gallery__item {
    aspect-ratio: 195/145;
  }
}

.p-top-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-interactive-house {
  overflow: hidden;
  padding-block: clamp(calc(106 * var(--to-rem)), calc(-151.2132701422 * var(--to-rem) + 25.1184834123vw), calc(212 * var(--to-rem))) clamp(calc(120 * var(--to-rem)), calc(-338.6161137441 * var(--to-rem) + 44.7867298578vw), calc(309 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house {
    padding-block: 2.0625rem 0;
  }
}

.p-top-interactive-house__inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house__inner {
    display: flex;
    flex-direction: column;
  }
}

.p-top-interactive-house__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 32.5625rem;
  width: 40.9276944065%;
}
@media screen and (max-width: 1023px) {
  .p-top-interactive-house__content {
    width: 53.2060027285%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house__content {
    display: contents;
    max-width: none;
  }
}

.p-top-interactive-house__title {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house__title {
    order: 1;
  }
}

.p-top-interactive-house__body {
  margin-block-start: 2.125rem;
  color: var(--color-text);
  font-family: var(--ff-base);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2857142857;
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house__body {
    order: 3;
    margin-block-start: 1.75rem;
    line-height: 1.6428571429;
  }
}

.p-top-interactive-house__visual {
  position: absolute;
  top: -1.875rem;
  right: 0;
  width: 63.7789904502%;
  margin-inline-end: -4.1875rem;
}
@media screen and (max-width: 1566px) {
  .p-top-interactive-house__visual {
    margin-inline-end: 0;
    width: 57.2987721692%;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-interactive-house__visual {
    justify-self: center;
    width: 47.7489768076%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-interactive-house__visual {
    position: static;
    order: 2;
    width: 100%;
    margin-block-start: 1.75rem;
    margin-inline-end: 0;
  }
}

.p-top-interactive-house__image {
  display: block;
  width: 100%;
  height: auto;
}

.p-top-modelhouse {
  overflow-x: clip;
}

.p-top-modelhouse__visual {
  overflow: hidden;
  height: 41.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__visual {
    height: 9.375rem;
  }
}

.p-top-modelhouse__visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 70%;
     object-position: center 70%;
}

.p-top-modelhouse__panel {
  position: relative;
  z-index: 1;
  margin-block-start: -11.0625rem;
  padding-block-start: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__panel {
    margin-block-start: 0;
    padding-block-start: 2.125rem;
  }
}
.p-top-modelhouse__panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: min(100%, 102.6875rem);
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__panel::before {
    width: 100%;
  }
}

.p-top-modelhouse__inner {
  padding-inline-start: clamp(calc(50 * var(--to-rem)), calc(-71.327014218 * var(--to-rem) + 11.8483412322vw), calc(100 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__inner {
    padding-inline-start: 1.75rem;
  }
}

.p-top-modelhouse__title .c-section-title {
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__title .c-section-title {
    gap: 0.25rem;
  }
}

.p-top-modelhouse__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__title .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.9444444444;
    letter-spacing: 0.13em;
  }
}

.p-top-modelhouse__title .c-section-title__heading {
  max-width: 49.1875rem;
  font-size: 1.75rem;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-modelhouse__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__title .c-section-title__heading {
    max-width: 19.1875rem;
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

.p-top-modelhouse__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 25rem));
  justify-content: start;
  gap: clamp(calc(18 * var(--to-rem)), calc(-23.2511848341 * var(--to-rem) + 4.028436019vw), calc(35 * var(--to-rem)));
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.125rem 0.875rem;
    margin-block-start: 1.8125rem;
  }
}

.p-top-modelhouse__item {
  display: block;
}

.p-top-modelhouse__item:nth-child(n+4) {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__item:nth-child(n+4) {
    display: block;
  }
}

.p-top-modelhouse__card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.375rem;
  color: var(--color-white);
}

.p-top-modelhouse__card-image {
  aspect-ratio: 400/446;
  min-height: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__card-image {
    aspect-ratio: 160/200;
    min-height: 10rem;
  }
}

.p-top-modelhouse__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-modelhouse__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(37, 37, 37, 0) 65.385%, rgba(37, 37, 37, 0.8) 94.712%);
  pointer-events: none;
}

.p-top-modelhouse__card-body {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 0rem 1.375rem 2.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__card-body {
    padding: 0 0.75rem 0.875rem;
  }
}

.p-top-modelhouse__card-heading {
  font-size: clamp(calc(18 * var(--to-rem)), calc(10.7203791469 * var(--to-rem) + 0.7109004739vw), calc(21 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__card-heading {
    font-size: 0.875rem;
    line-height: 1.2142857143;
  }
}

.p-top-modelhouse__card-place {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 0.125rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__card-place {
    gap: 0.375rem;
    margin-block-start: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.5833333333;
    letter-spacing: 0.06em;
  }
}

.p-top-modelhouse__card-pin {
  flex-shrink: 0;
  width: 0.8125rem;
  height: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__card-pin {
    width: 0.6875rem;
    height: 0.875rem;
  }
}

.p-top-modelhouse__cta {
  display: flex;
  justify-content: center;
  width: min(100%, 79.375rem);
  margin-block-start: 3rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__cta {
    width: min(100%, 20.9375rem);
    margin-block-start: 2.125rem;
    margin-inline: auto;
  }
}

.p-top-modelhouse__cta .c-button {
  width: min(100%, 25rem);
  --c-button-image: url("../images/bg_plan_cta.webp");
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__cta .c-button {
    width: 100%;
    min-height: 5.625rem;
    padding-inline: 1.75rem;
  }
}

.p-top-modelhouse__coming-soon {
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__coming-soon {
    margin-block-start: 1.8125rem;
  }
}

.p-top-movie {
  padding-block-start: 6rem;
}
@media screen and (max-width: 767px) {
  .p-top-movie {
    padding-block-start: 2rem;
  }
}

.p-top-movie__banner {
  position: relative;
  display: block;
  overflow: hidden;
  width: min(100%, 71.5625rem);
  height: 20rem;
  margin-inline: auto;
  border-radius: 0.375rem;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-movie__banner {
    width: 100%;
    height: 12.5rem;
    min-height: 0;
    margin-inline: 0;
  }
}

.p-top-movie__media {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

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

.p-top-movie__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-movie__overlay {
  position: absolute;
  inset: 0;
  background-color: #191919;
  opacity: 0.7;
}

.p-top-movie__content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
  height: 100%;
  padding: 2.375rem clamp(calc(120 * var(--to-rem)), calc(-93.7142857143 * var(--to-rem) + 20.8705357143vw), calc(307 * var(--to-rem))) 2.5rem clamp(calc(120 * var(--to-rem)), calc(-48 * var(--to-rem) + 16.40625vw), calc(267 * var(--to-rem)));
}
@media screen and (max-width: 1023px) {
  .p-top-movie__content {
    padding: 2.375rem 3.75rem 2.5rem 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-movie__content {
    display: block;
    padding: 1.625rem 1.375rem 0;
  }
}

.p-top-movie__body {
  flex: 1;
  min-width: 0;
  max-width: 32.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-movie__body {
    max-width: none;
  }
}

.p-top-movie__en {
  color: var(--color-white);
  font-family: var(--ff-en);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.619047619;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .p-top-movie__en {
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.13em;
  }
}

.p-top-movie__heading {
  margin-block-start: 1.625rem;
  color: var(--color-white);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-top-movie__heading {
    margin-block-start: 0.5rem;
    font-size: 1rem;
    line-height: 2.25;
    letter-spacing: 0.12em;
  }
}

.p-top-movie__text {
  margin-block-start: 1.375rem;
  max-width: 26.3125rem;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.0714285714;
}
@media screen and (max-width: 767px) {
  .p-top-movie__text {
    margin-block-start: 0.375rem;
    max-width: 16.5rem;
    font-size: 0.75rem;
    line-height: 1.5833333333;
  }
}

.p-top-movie__play {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 4.375rem;
  height: 4.375rem;
  border: 1px solid currentcolor;
  border-radius: 50%;
  margin-block-start: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-movie__play {
    position: absolute;
    inset-block-end: 1.375rem;
    inset-inline-end: 1.375rem;
    width: 2.375rem;
    height: 2.375rem;
    margin-block-start: 0;
  }
}

.p-top-movie__play::before {
  content: "";
  width: 0;
  height: 0;
  margin-inline-start: 0.5rem;
  border-style: solid;
  border-width: 0.75rem 0 0.75rem 1.625rem;
  border-color: transparent transparent transparent currentcolor;
}
@media screen and (max-width: 767px) {
  .p-top-movie__play::before {
    margin-inline-start: 0.1875rem;
    border-width: 0.375rem 0 0.375rem 0.75rem;
  }
}

@media (any-hover: hover) {
  .p-top-movie__banner:hover .p-top-movie__overlay {
    opacity: 0.6;
  }
}
.p-top-mv {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  height: min(56.25rem, 90svh);
}
@media (max-width: 1920px) {
  .p-top-mv {
    height: min(50rem, 80svh);
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv {
    height: 28.75rem;
  }
}

.p-top-mv__inner {
  position: relative;
  isolation: isolate;
  height: 100%;
  min-height: inherit;
  margin-inline: auto;
}

.p-top-mv__title-wrap {
  position: absolute;
  inset-block-start: 44%;
  inset-inline: 0;
  z-index: 2;
  container-type: inline-size;
  padding-inline: clamp(calc(50 * var(--to-rem)), calc(-34.5714285714 * var(--to-rem) + 8.2589285714vw), calc(124 * var(--to-rem)));
  color: var(--color-white);
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .p-top-mv__title-wrap {
    inset-block-start: 0;
    padding-inline: 1.75rem;
    padding-block-start: 22.5rem;
    translate: none;
  }
}

.p-top-mv__main-title {
  color: var(--color-white);
  font-size: clamp(calc(28 * var(--to-rem)), calc(-1.5384615385 * var(--to-rem) + 2.8846153846vw), calc(40 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.66;
  letter-spacing: 0.08em;
  transition: color 1.6s ease, -webkit-text-fill-color 1.6s ease;
  -webkit-text-fill-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-mv__main-title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.mv-is-light .p-top-mv__main-title {
  color: #080b0f;
  -webkit-text-fill-color: #080b0f;
}

.p-top-mv__sub-title {
  font-size: clamp(1.125rem, 3cqi, 1.5rem);
  line-height: 1.6;
  text-shadow: 0 1px 2px oklch(from var(--color-black) l c h/30%);
}
@media screen and (max-width: 767px) {
  .p-top-mv__sub-title {
    font-size: 1.125rem;
  }
}

.p-top-mv__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-color: #d8dde0;
}

.p-top-mv__poster,
.p-top-mv__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__poster,
  .p-top-mv__video {
    -o-object-position: 40% center;
       object-position: 40% center;
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv__poster,
  .p-top-mv__video {
    height: 100%;
    -o-object-position: 77% center;
       object-position: 77% center;
  }
}

.p-top-mv__video {
  transition: opacity 1.6s ease-in-out;
}

.p-top-mv__video.is-fading {
  opacity: 0;
}

.p-top-plan {
  margin-block-start: 6.625rem;
  padding-block: 5.9375rem 6.5rem;
  background-color: #f9f9f9;
}
@media screen and (max-width: 767px) {
  .p-top-plan {
    margin-block-start: 2.125rem;
    padding-block: 1.625rem 3.75rem;
  }
}

.p-top-plan__title .c-section-title {
  gap: 0.8125rem;
  margin-inline: auto;
}

.p-top-plan__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}

.p-top-plan__title .c-section-title__heading {
  font-size: 1.75rem;
  line-height: 1.8214285714;
  letter-spacing: 0.12em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-plan__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-plan__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.6;
  }
}

.p-top-plan__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 26.875rem));
  justify-content: center;
  gap: clamp(calc(24 * var(--to-rem)), calc(-9.971563981 * var(--to-rem) + 3.317535545vw), calc(38 * var(--to-rem)));
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-plan__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.8125rem;
    margin-block-start: 1.5625rem;
  }
}

.p-top-plan__card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.375rem;
  color: var(--color-white);
}

.p-top-plan__card-image {
  aspect-ratio: 430/446;
  min-height: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-image {
    aspect-ratio: 335/260;
    min-height: 16.25rem;
  }
}

.p-top-plan__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-top-plan__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(37, 37, 37, 0) 46.154%, rgba(37, 37, 37, 0.8) 75%);
  pointer-events: none;
}

.p-top-plan__card-body {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  padding: 0rem 1.625rem 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-body {
    padding: 0 1.25rem 1.125rem;
  }
}

.p-top-plan__card-heading {
  font-size: clamp(calc(18 * var(--to-rem)), calc(10.7203791469 * var(--to-rem) + 0.7109004739vw), calc(21 * var(--to-rem)));
  font-weight: 700;
  line-height: 1.7142857143;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-heading {
    padding-block-end: 0.375rem;
    font-size: 1.3125rem;
    line-height: 1.7142857143;
  }
}

.p-top-plan__card-price {
  display: flex;
  align-items: flex-end;
  gap: clamp(calc(4 * var(--to-rem)), calc(-5.7061611374 * var(--to-rem) + 0.9478672986vw), calc(8 * var(--to-rem)));
  margin-block-start: 0.625rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-price {
    gap: 0.375rem;
    margin-block-start: 0.125rem;
  }
}

.p-top-plan__card-price-label,
.p-top-plan__card-price-unit {
  font-size: clamp(calc(10 * var(--to-rem)), calc(0.2938388626 * var(--to-rem) + 0.9478672986vw), calc(14 * var(--to-rem)));
  line-height: 1.9285714286;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-price-label,
  .p-top-plan__card-price-unit {
    padding-block-end: 0.125rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
  }
}

.p-top-plan__card-price-value {
  font-family: var(--ff-en);
  font-size: clamp(calc(24 * var(--to-rem)), calc(-5.1184834123 * var(--to-rem) + 2.8436018957vw), calc(36 * var(--to-rem)));
  font-weight: 400;
  line-height: 0.9722222222;
}
@media screen and (max-width: 767px) {
  .p-top-plan__card-price-value {
    font-size: 2.25rem;
    line-height: 0.9722222222;
  }
}

.p-top-plan__cta {
  display: flex;
  justify-content: center;
  width: min(100%, 26.875rem);
  margin-block-start: 3.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-plan__cta {
    width: min(100%, 20.9375rem);
    margin-block-start: 2.125rem;
  }
}

.p-top-plan__cta .c-button {
  --c-button-image: url("../images/bg_plan_cta.webp");
}
@media screen and (max-width: 767px) {
  .p-top-plan__cta .c-button {
    min-height: 5.625rem;
    padding-inline: 1.75rem;
  }
}

.p-top-plan__coming-soon {
  margin-block-start: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-plan__coming-soon {
    margin-block-start: 1.5625rem;
  }
}

.p-top-spec {
  margin-block-start: 7rem;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .p-top-spec {
    margin-block-start: 2.5rem;
  }
}

.p-top-spec__visual {
  overflow: hidden;
  margin-inline: calc(50% - 50vw) 0;
  height: 40.9375rem;
}
@media screen and (max-width: 767px) {
  .p-top-spec__visual {
    height: 18.375rem;
    margin-inline: calc(50% - 50vw);
  }
}

.p-top-spec__visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 30%;
     object-position: center 30%;
}

.p-top-spec__panel {
  position: relative;
  z-index: 1;
  margin-block-start: -14.6875rem;
  padding-block: 4.375rem 0;
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-top-spec__panel {
    box-sizing: border-box;
    width: calc(100% + 1.75rem);
    margin-block-start: -6.5625rem;
    margin-inline-end: -1.75rem;
    padding-block: 1.25rem 0;
  }
}

.p-top-spec__title {
  padding-inline-start: clamp(calc(55 * var(--to-rem)), calc(-78.4597156398 * var(--to-rem) + 13.0331753555vw), calc(110 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-spec__title {
    padding-inline-start: 1.3125rem;
  }
}

.p-top-spec__title .c-section-title {
  gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-spec__title .c-section-title {
    gap: 0.6875rem;
  }
}

.p-top-spec__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-top-spec__title .c-section-title__en {
    font-size: 1.125rem;
    line-height: 1.9444444444;
    letter-spacing: 0.13em;
  }
}

.p-top-spec__title .c-section-title__heading {
  max-width: 40.4375rem;
  font-size: 1.75rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-spec__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-spec__title .c-section-title__heading {
    max-width: 17.125rem;
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0.12em;
  }
}

.p-top-spec__slider {
  box-sizing: border-box;
  width: 100vw;
  margin-block-start: 4rem;
  margin-inline-start: calc(50% - 50vw);
  padding-inline-start: calc((100vw - min(100vw, 91.625rem)) / 2 + 3.125rem + clamp(calc(55 * var(--to-rem)), calc(-78.4597156398 * var(--to-rem) + 13.0331753555vw), calc(110 * var(--to-rem))));
}
@media screen and (max-width: 767px) {
  .p-top-spec__slider {
    width: 100%;
    margin-block-start: 2rem;
    margin-inline: 0;
    padding-inline: 0 1.75rem;
  }
}

.p-top-spec__track {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-spec__track {
    overflow: visible;
  }
}

.p-top-spec__swiper {
  overflow: visible;
}

@media screen and (max-width: 767px) {
  .p-top-spec__swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0.875rem;
    justify-content: start;
    transform: none !important;
  }
}

.swiper-slide.p-top-spec__slide {
  flex-shrink: 0;
  width: min(100% - 3.125rem, 71.5625rem);
  height: auto;
}
@media screen and (max-width: 767px) {
  .swiper-slide.p-top-spec__slide {
    width: auto;
    margin: 0 !important;
  }
}

.p-top-spec__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  min-height: 30.0625rem;
  border-radius: 0.375rem;
  background-image: linear-gradient(109.6deg, #dbe4e6 13%, #fff 100%);
  color: inherit;
  text-decoration: none;
  transition: opacity var(--duration) var(--easing);
}
@media screen and (max-width: 767px) {
  .p-top-spec__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
  }
}

@media (any-hover: hover) {
  .p-top-spec__card:hover {
    opacity: 0.6;
  }
}
.p-top-spec__card:has(.p-top-spec__card-visual--01) {
  grid-template-columns: minmax(0, 1fr) 49.9563318777%;
}

.p-top-spec__card:has(.p-top-spec__card-visual--02) {
  grid-template-columns: minmax(0, 1fr) 48.6462882096%;
}

.p-top-spec__card:has(.p-top-spec__card-visual--03) {
  grid-template-columns: minmax(0, 1fr) 53.1877729258%;
}

.p-top-spec__card:has(.p-top-spec__card-visual--04) {
  grid-template-columns: minmax(0, 1fr) 53.3624454148%;
}

.p-top-spec__card-body {
  display: grid;
  align-content: start;
  padding: 2.75rem 2.5rem 2.5rem clamp(calc(40 * var(--to-rem)), calc(-42.5023696682 * var(--to-rem) + 8.0568720379vw), calc(74 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-body {
    flex-grow: 1;
    padding: 1.125rem 0.6875rem 0;
  }
}

.p-top-spec__card-label {
  color: var(--color-text);
  font-family: var(--ff-en);
  font-size: clamp(calc(16 * var(--to-rem)), calc(11.1469194313 * var(--to-rem) + 0.4739336493vw), calc(18 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.9444444444;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-label {
    font-size: 0.75rem;
    line-height: 1.2;
    letter-spacing: 0.06em;
  }
}

.p-top-spec__card-heading {
  margin-block-start: clamp(calc(8 * var(--to-rem)), calc(-1.7061611374 * var(--to-rem) + 0.9478672986vw), calc(12 * var(--to-rem)));
  color: #333;
  font-size: clamp(calc(28 * var(--to-rem)), calc(13.4407582938 * var(--to-rem) + 1.4218009479vw), calc(34 * var(--to-rem)));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-heading {
    margin-block-start: 0.375rem;
    margin-inline-end: -0.375rem;
    font-size: 1rem;
    line-height: 1.875;
    letter-spacing: 0;
  }
}

.p-top-spec__card-text {
  margin-block-start: 1.5rem;
  max-width: 26.875rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-text {
    margin-block-start: 0.5rem;
    max-width: none;
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
}

.p-top-spec__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8125rem 0.9375rem;
  margin-block-start: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-spec__tags {
    display: none;
  }
}

.p-top-spec__tags li {
  display: grid;
  place-items: center;
  min-height: 3.125rem;
  padding-inline: 1.5rem;
  border: 1px solid #c5d0d3;
  border-radius: 0.25rem;
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: clamp(calc(14 * var(--to-rem)), calc(9.1469194313 * var(--to-rem) + 0.4739336493vw), calc(16 * var(--to-rem)));
  line-height: 2.25;
}

.p-top-spec__card-visual {
  grid-column: 2;
  justify-self: end;
  overflow: hidden;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual {
    grid-column: auto;
    flex-shrink: 0;
    justify-self: unset;
    width: 100%;
    margin-block-start: auto;
  }
}

.p-top-spec__card-visual--01 {
  aspect-ratio: 572/460;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual--01 {
    width: 8.3125rem;
    height: 6.75rem;
    margin-inline: auto;
    margin-block-end: -0.0625rem;
  }
}

.p-top-spec__card-visual--02 {
  width: 89.0484739677%;
  aspect-ratio: 496/330;
  margin-inline-end: 10.9515260323%;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual--02 {
    width: min(100%, 8.125rem);
    height: 5.4375rem;
    margin-inline: auto;
    margin-block-end: 1rem;
  }
}

.p-top-spec__card-visual--03 {
  width: 93.1034482759%;
  aspect-ratio: 567/425;
  margin-inline-end: 6.8965517241%;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual--03 {
    width: 8.8125rem;
    height: 6.625rem;
    margin-inline: auto;
    margin-block-end: 0.375rem;
  }
}

.p-top-spec__card-visual--04 {
  width: 92.1440261866%;
  aspect-ratio: 563/422;
  margin-inline-end: 7.8559738134%;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual--04 {
    width: 9.0625rem;
    height: 6.8125rem;
    margin-inline: auto;
    margin-block-end: 0.25rem;
  }
}

.p-top-spec__card-visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 767px) {
  .p-top-spec__card-visual img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-top-spec__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block-start: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-spec__nav {
    display: none;
  }
}

.p-top-spec__nav-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2.5rem;
  color: var(--color-text);
}

.p-top-spec__nav-button::before {
  content: "";
  width: 1.08125rem;
  height: 1.08125rem;
  border-top: 1.5px solid currentcolor;
  border-right: 1.5px solid currentcolor;
}

.p-top-spec__nav-button--prev::before {
  rotate: -135deg;
}

.p-top-spec__nav-button--next::before {
  rotate: 45deg;
}

.p-top-spec__fraction {
  display: flex;
  align-items: flex-end;
  font-family: var(--ff-en);
  font-size: 1.5rem;
  line-height: 2.125;
}

.p-top-spec__fraction-current {
  translate: 0.5rem -0.5rem;
}

.p-top-spec__fraction-separator {
  display: block;
  flex-shrink: 0;
  align-self: center;
  width: 2.4075rem;
  height: 1px;
  background-color: currentcolor;
  rotate: -58deg;
}

.p-top-spec__fraction-total {
  translate: -0.5rem 0.5rem;
}

.p-top-spec__cta {
  display: flex;
  justify-content: center;
  width: min(100%, 26.875rem);
  margin-block-start: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-spec__cta {
    margin-block-start: 1.5625rem;
    padding-inline-end: 1.75rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-spec__cta .c-button {
    min-height: 5.625rem;
    padding: 1.625rem 1.75rem 1.625rem 1.75rem;
    letter-spacing: 0.1em;
  }
}

.p-top-vs {
  overflow: hidden;
  padding-block: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-vs {
    padding-block: 2.5rem 0;
  }
}

.p-top-vs__title .c-section-title {
  gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-vs__title .c-section-title {
    gap: 0.625rem;
  }
}

.p-top-vs__title .c-section-title__en {
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}

.p-top-vs__title .c-section-title__heading {
  max-width: 40.4375rem;
  font-size: clamp(calc(22 * var(--to-rem)), calc(7.4407582938 * var(--to-rem) + 1.4218009479vw), calc(28 * var(--to-rem)));
  line-height: 1;
  letter-spacing: 0.06em;
  background-image: linear-gradient(74deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-vs__title .c-section-title__heading {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-top-vs__title .c-section-title__heading {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
  }
}

.p-top-vs__lead {
  margin-block-start: 1.75rem;
  max-width: 43.375rem;
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2142857143;
}
@media screen and (max-width: 767px) {
  .p-top-vs__lead {
    margin-block-start: 1.375rem;
    font-size: 0.875rem;
    line-height: 1.6428571429;
  }
}

.p-top-vs__compare {
  position: relative;
  width: min(100%, 63.125rem);
  margin-block-start: 3.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-top-vs__compare {
    margin-block-start: 0.5rem;
    margin-inline-start: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-vs__compare {
    width: 100%;
    margin-block-start: 1.125rem;
  }
}

.p-top-vs__ours-bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: clamp(calc(306 * var(--to-rem)), calc(-129.649122807 * var(--to-rem) + 56.7251461988vw), calc(500 * var(--to-rem)));
  height: 100%;
  background: url("../images/bg_vs.webp") center/cover no-repeat;
  opacity: 0.85;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-top-vs__ours-bg {
    width: calc((100% - 0.5625rem) / 2);
  }
}

.p-top-vs__table {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 31.25rem) minmax(0, 29.375rem);
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
  width: 100%;
  border-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-top-vs__table {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    -moz-column-gap: 0.5625rem;
         column-gap: 0.5625rem;
  }
}

.p-top-vs__table thead,
.p-top-vs__table tbody,
.p-top-vs__table tr {
  display: contents;
}

.p-top-vs__ours-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  min-height: 8.3125rem;
  border-block-end: 2px solid #123e6b;
  color: #123e6b;
  font-weight: 400;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-top-vs__ours-head {
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    height: 4.8125rem;
    min-height: 4.8125rem;
  }
}

.p-top-vs__brand-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block-end: clamp(calc(12 * var(--to-rem)), calc(-14.9473684211 * var(--to-rem) + 3.5087719298vw), calc(24 * var(--to-rem)));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-vs__brand-wrap {
    padding-block-end: 0;
  }
}

.p-top-vs__brand-en {
  color: #123e6b;
  font-family: var(--ff-en);
  font-size: clamp(calc(22 * var(--to-rem)), calc(-4.9473684211 * var(--to-rem) + 3.5087719298vw), calc(34 * var(--to-rem)));
  font-weight: 400;
  line-height: 1.4411764706;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 767px) {
  .p-top-vs__brand-en {
    margin-inline-start: 0;
    font-size: 1.25rem;
    line-height: 1.8125rem;
    letter-spacing: 0.19em;
  }
}

.p-top-vs__brand-ja {
  width: 7.375rem;
  margin-block-start: -0.375rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-vs__brand-ja {
    width: auto;
    height: 2rem;
    margin-block-start: -0.4375rem;
    margin-inline-start: 0;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: center;
  }
}

.p-top-vs__house-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block-end: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-vs__house-wrap {
    display: none;
  }
}

.p-top-vs__house {
  flex-shrink: 0;
  width: clamp(calc(106 * var(--to-rem)), calc(-132.0350877193 * var(--to-rem) + 30.9941520468vw), calc(212 * var(--to-rem)));
  height: auto;
  pointer-events: none;
}

.p-top-vs__others-head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 8.3125rem;
  border-block-end: 2px solid #cfcfcf;
  color: #585858;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7777777778;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-vs__others-head {
    align-items: flex-start;
    box-sizing: border-box;
    height: 4.8125rem;
    min-height: 4.8125rem;
    font-size: 0.875rem;
    line-height: 1.3571428571;
    letter-spacing: 0.06em;
  }
}

.p-top-vs__others-head-text {
  display: block;
  padding-block-end: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-vs__others-head-text {
    padding-block-end: 0;
  }
}

.p-top-vs__table th,
.p-top-vs__table td {
  padding: 0;
}

.p-top-vs__table .p-top-vs__ours-head {
  padding: 0 0 0 clamp(calc(30 * var(--to-rem)), calc(-68.1145374449 * var(--to-rem) + 12.7753303965vw), calc(59 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-top-vs__table .p-top-vs__ours-head {
    padding: 0.8125rem 0 0;
  }
}

.p-top-vs__table .p-top-vs__others-head {
  padding: 0 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-vs__table .p-top-vs__others-head {
    padding: 1.25rem 0 0;
  }
}

.p-top-vs__table td {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.0625rem;
  color: #7d7d7d;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3125;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-vs__table td {
    box-sizing: border-box;
    align-items: flex-start;
    justify-content: center;
    min-height: 3.3125rem;
    padding-block: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.3571428571;
    letter-spacing: 0.02em;
  }
}

.p-top-vs__table td:first-child {
  justify-content: flex-start;
  width: min(100%, 31.25rem);
  margin-inline: auto;
  text-align: start;
  border-block-start: 1px solid #d5dee8;
}

.p-top-vs__table td:last-child {
  border-block-start: 1px solid #e4e4e4;
}

.p-top-vs__table tbody tr:last-child td:last-child {
  border-block-end: 1px solid #e4e4e4;
}

.p-top-vs__feature {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-inline: clamp(calc(32 * var(--to-rem)), calc(-57.8245614035 * var(--to-rem) + 11.6959064327vw), calc(72 * var(--to-rem))) 2rem;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.1666666667;
  letter-spacing: 0.02em;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .p-top-vs__feature {
    align-items: flex-start;
    gap: 0.875rem;
    padding-inline-start: 0.6875rem;
    padding-inline-end: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
}

.p-top-vs__check {
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-vs__check {
    width: 0.875rem;
    height: 0.75rem;
    margin-block-start: 0.25rem;
  }
}

.p-top-vs__note {
  width: min(100%, 63.125rem);
  margin-inline: auto;
  margin-block-start: 2.0625rem;
  color: #5c5c5c;
  font-size: 0.75rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-top-vs__note {
    width: 100%;
    margin-block-start: 1.375rem;
    margin-inline-start: 0;
    font-size: 0.75rem;
    line-height: 1.6666666667;
    text-align: start;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-vs__note {
    margin-inline-start: 0;
    text-align: start;
  }
}

.p-under-mv {
  margin-block-start: var(--header-height);
  padding-block-end: 3.75rem;
  background-color: var(--color-base);
}
@media screen and (max-width: 767px) {
  .p-under-mv {
    padding-block-end: 2.25rem;
  }
}

.p-under-mv__inner {
  padding-block-start: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-under-mv__inner {
    padding-block-start: 3rem;
  }
}

.p-under-mv .c-section-title {
  gap: 1.1875rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-under-mv .c-section-title {
    gap: 1rem;
  }
}

.p-under-mv .c-section-title__en {
  font-size: 3.125rem;
  line-height: 1.36;
  letter-spacing: 0.06em;
  background-image: linear-gradient(80.919deg, #333 0%, #333 38%, #6495ed 48%, #8fb1f5 50%, #6495ed 52%, #333 62%, #333 100%);
  background-size: 300% auto;
  background-position: 100% center;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradient-flow 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-under-mv .c-section-title__en {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: var(--color-text);
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  .p-under-mv .c-section-title__en {
    font-size: 1.625rem;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }
}

.p-under-mv .c-section-title__heading {
  max-width: none;
  font-size: 1rem;
  line-height: 3.5;
  letter-spacing: 0.06em;
  background-image: none;
  background-clip: border-box;
  color: var(--color-text);
  animation: none;
}
@media screen and (max-width: 767px) {
  .p-under-mv .c-section-title__heading {
    font-size: 0.875rem;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }
}

@media (width <= 767px) {
  [data-only-device=md] {
    display: none;
  }
}

@media (width >= 768px) {
  [data-only-device=sm] {
    display: none;
  }
}

@media (width <= 767px) {
  .u-pc-hidden {
    display: block;
  }
}
@media (width >= 768px) {
  .u-pc-hidden {
    display: none;
  }
}

@media (width >= 768px) {
  .u-sp-hidden {
    display: block;
  }
}
@media (width <= 767px) {
  .u-sp-hidden {
    display: none;
  }
}

.u-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

.u-text__marker {
  background: linear-gradient(transparent 75%, var(--color-orange) 75%);
}

.u-text__keep {
  display: inline-block;
}

.u-text__indent {
  padding-inline-start: 1em;
  text-indent: -1em;
}