@charset "UTF-8";
/*! kiso.css v1.2.4 | MIT License | https://github.com/tak-dcxi/kiso.css */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
::before,
::after {
  /*
  * Includes `padding` and `border` in the element's specified dimensions.
  * It is highly recommended to set `box-sizing: border-box;` by default, as it makes styling much easier, especially when specifying `width: 100%;`.
  */
  box-sizing: border-box;
}
/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
  font-family: sans-serif;

  /*
  * For accessibility, it is recommended to set the `line-height` to at least 1.5 times the text size within paragraphs.
  * @see https://waic.jp/translations/WCAG21/#visual-presentation
  */
  line-height: 1.5;

  /* Remove space when punctuation marks are adjacent, and also remove leading spaces in a line. */
  text-spacing-trim: trim-start;

  /* Improves readability by inserting a small space between Japanese and alphanumeric characters. */
  text-autospace: normal;

  /* Prevents misreading by applying strict line-breaking rules. */
  line-break: strict;

  /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
  overflow-wrap: anywhere;

  /*
  * Mobile browsers have an algorithm that automatically adjusts font sizes to prevent text from becoming too small.
  * This controls the auto-adjustment feature to prevent unwanted resizing.
  */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;

  /*
  * Prevents layout shift caused by the appearance or disappearance of the scrollbar.
  * Starting with Chrome 145, specifying `scrollbar-gutter: stable` will cause vw to be calculated without considering the scrollbar, which will also prevent horizontal scrolling.
  */
  scrollbar-gutter: stable;

  /* Suppresses the tap highlight on iOS. */
  -webkit-tap-highlight-color: transparent;
}
:where(body) {
  /*
  * When creating a sticky footer, a minimum height is often required.
  * Setting the `min-block-size` to the dynamic viewport height ensures enough space for the footer.
  */
  min-block-size: 100dvb;

  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}
/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}
:where(h1) {
  /*
  * Adjusts user agent (UA) styles for `h1` elements within sectioning content.
  * This addresses DevTools warnings that appear when `h1` elements nested within sectioning content lack `font-size` and `margin` properties.
  * @see https://html.spec.whatwg.org/#sections-and-headings
  */
  margin-block: 0.67em;
  font-size: 2em;
}
:where(h2, h3, h4, h5, h6) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}
:where(search) {
  /*
  * The `<search>` element is supported from Safari 17.
  * This prevents it from being displayed as an inline element in unsupported environments.
  */
  display: block flow;
}
/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}
:where(blockquote, figure) {
  /* The `margin-inline` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline: unset;
}
:where(p:lang(en)) {
  /*
  * In English, a single word on the last line is called a "widow" or "orphan" and is considered something to avoid as it makes the text harder to read.
  * Therefore, when lang="en", this prevents the last line from ending with a single word.
  */
  text-wrap: pretty;
}
:where(address:lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}
:where(ul, ol, menu) {
  /* The `padding-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  padding-inline-start: unset;

  /*
  * In Safari, using `list-style: none` prevents screen readers from announcing lists.
  * `list-style-type: ""` is used to hide markers without affecting accessibility.
  * @see https://matuzo.at/blog/2023/removing-list-styles-without-affecting-semantics
  */
  list-style-type: "";
}
:where(dt) {
  /* It is common to display `<dt>` elements in bold, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}
:where(dd) {
  /* The `margin-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline-start: unset;
}
:where(pre) {
  /*
  * Since `text-spacing-trim` can affect spacing in `<pre>` elements even with its initial value, the final rendering may depend on the user's font settings.
  * To ensure consistent alignment, `space-all` is explicitly specified and inheritance is prevented.
  */
  text-spacing-trim: space-all;

  /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
  text-autospace: no-autospace;
}
@media print {
  :where(pre) {
    /* Prevent text wrapping in print media. */
    text-wrap-mode: unset;
  }
}
/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}
:where(:is(i, cite, em, dfn):lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}
:where(u, s, del, ins) {
  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}
:where(code, kbd, samp) {
  /*
  * Set a monospace font family referencing Tailwind.
  * @see https://tailwindcss.com/docs/font-family
  */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;

  /* Font feature settings can have adverse effects on monospaced fonts, so their values are explicitly set to `initial` to prevent inheritance. */
  font-feature-settings: initial;
  font-variation-settings: initial;

  /* Resets the `font-size` specified in the UA stylesheet to allow inheritance. */
  font-size: unset;

  /*
  * Disables font ligatures for programming fonts (like Fira Code)
  * to prevent character combinations like `=>` from being rendered as a single symbol (e.g., `⇒`).
  */
  font-variant-ligatures: none;
}
:where(abbr[title]) {
  /*
  * The `<abbr>` element with the `title` attribute isn't helpful regarding accessibility because support is inconsistent, and it's only accessible to some users.
  * This rule shows a dotted underline on abbreviations in all browsers (there's a bug in Safari) and changes the cursor.
  * @see https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
  */
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-inset: auto;
  cursor: help;
}
:where(time) {
  /* Set to `no-autospace` because date notations in typography do not include spaces. */
  text-autospace: no-autospace;
}
@media (forced-colors: active) {
  :where(mark) {
    /*
    * In forced-colors mode, the color of the mark element may not change, which can be problematic. Use system colors in forced-colors mode.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
    */
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    /*
    * Not all printers support color, and users might print in grayscale.
    * It's worth adding a non-disruptive style that scales with the text, as an alternative to relying only on background color.
    * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkPrint
    */
    border-width: 1px;
    border-style: dotted;
  }
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a) {
  /*
  * The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance.
  * In Firefox on iOS, the user agent stylesheet’s text color is applied even when the text is not a link.
  * @see https://github.com/darkreader/darkreader/issues/9836
  */
  color: unset;
}
:where(a:any-link) {
  /*
  * While link underlines can be useful, they are often obstructive.
  * They are disabled by default.
  * If needed, restore them using `text-decoration-line: revert;`.
  */
  text-decoration-line: unset;

  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;

  /* Set the underline inset to `auto` and separate only the horizontal lines when underlines are consecutive. */
  text-decoration-inset: auto;
}
/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, audio, canvas, model, iframe, embed, object) {
  /* Prevents overflow by setting the maximum width to `100%`. */
  max-inline-size: 100%;

  /* Prevents extra space from appearing at the bottom of the element. */
  vertical-align: bottom;
}
:where(img, svg, picture, video, canvas, model, iframe, embed, object) {
  /*
  * Automatically adjust block size based on content.
  * Exclude the <audio> element as it disappears when block-size is auto.
  * @see https://github.com/tak-dcxi/kiso.css/issues/5
  */
  block-size: auto;
}
:where(iframe) {
  /* The `border` specified in the UA stylesheet is often unnecessary, so it is reset. */
  border: unset;
}
/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  /* Collapse borders for a more refined table design. */
  border-collapse: collapse;
}
:where(caption, th) {
  /* The `text-align` specified in the UA stylesheet is often unnecessary, so it is reset. */
  text-align: unset;
}
:where(caption:lang(en)) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}
/* ======================================================
//  MARK: Forms
// ====================================================== */
:where(button, input, select, textarea),
::file-selector-button {
  /*
  * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
  * This ensures readability even for unstyled elements.
  * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
  */
  border-width: 1px;
  border-style: solid;

  /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}
:where(input:is([type="radio" i], [type="checkbox" i])) {
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}
:where(input[type="file" i]) {
  /* The `border` is often unnecessary, so it is reset here. */
  border: unset;
}
:where(input[type="search" i]) {
  /* Remove the rounded corners of search inputs on macOS and normalize the background color. */
  -webkit-appearance: textfield;
}
@supports (-webkit-touch-callout: none) {
  :where(input[type="search" i]) {
    /* normalize the background color on iOS. */
    background-color: Canvas;
  }
}
:where(
    input:is(
        [type="tel" i],
        [type="url" i],
        [type="email" i],
        [type="number" i]
      ):not(:placeholder-shown)
  ) {
  /*
  * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
  * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
  * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
  */
  direction: ltr;
}
:where(textarea) {
  /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;

  /* Allows vertical resizing for `<textarea>` elements. */
  resize: block;
}
:where(
    input:not([type="button" i], [type="submit" i], [type="reset" i]),
    textarea,
    [contenteditable]
  ) {
  /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
  text-autospace: no-autospace;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i])
  ),
::file-selector-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i]),
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
::file-selector-button {
  /*
  * On iOS, double-tapping a button can cause zooming, which harms usability.
  * `touch-action: manipulation` is specified to disable zooming on double-tap.
  * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
  */
  touch-action: manipulation;
}
:where(
    button:enabled,
    label[for],
    select:enabled,
    input:is(
        [type="button" i],
        [type="submit" i],
        [type="reset" i],
        [type="radio" i],
        [type="checkbox" i]
      ):enabled,
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
:where(:enabled)::file-selector-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}
:where(fieldset) {
  /*
  * Prevent fieldset from causing overflow.
  * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
  * @see https://github.com/twbs/bootstrap/issues/12359
  */
  min-inline-size: 0;

  /* The following default styles are often unnecessary, so they are reset. */
  margin-inline: unset;
  padding: unset;
  border: unset;
}
:where(legend) {
  /* The default `padding-inline` is often unnecessary, so it is reset. */
  padding-inline: unset;
}
:where(progress) {
  /* Resets the vertical alignment of the `<progress>` element to its initial value. */
  vertical-align: unset;
}
::placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}
/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  /* The default triangle marker is often unnecessary, so it is disabled. */
  list-style-type: "";

  /* Changing the cursor to a pointer clarifies the clickability of the element. */
  cursor: pointer;
}
:where(summary)::-webkit-details-marker {
  /* In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed. */
  display: none;
}
:where(dialog, [popover]) {
  /*
  * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
  * Disabling block-direction scroll chaining is recommended.
  */
  overscroll-behavior-block: contain;

  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
  * These elements can be easily displayed by explicitly setting their `display` property.
  * To prevent them from appearing when not in an open state, they are forcibly hidden.
  */
  display: none !important;
}
:where(dialog) {
  /*
  * The max width and height of a `<dialog>` element are typically determined by the design.
  * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
  */
  max-inline-size: unset;
  max-block-size: unset;
}
:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg / 30%);
}
:where([popover]) {
  /*
  * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
  * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
  */
  margin: unset;
}
/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}
[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}
/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled="true" i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}
[hidden]:not([hidden="until-found" i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}
/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}
/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Lists (definition) */
/* ============================================ */
dd {
  margin-left: 0;
}
/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}
address {
  font-style: inherit;
}
/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}
/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}
/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}
button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}
/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
/**
 * Remove padding
 */
option {
  padding: 0;
}
/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  padding: 0;
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}
/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}
/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}
/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}
:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
}
:where(p) {
  margin: 0;
}
/*===============================================================================
基本・共通設定
===============================================================================*/
html {
  caret-color: transparent;
  font-size: 16px;
  max-width: 100vw;
  overflow-x: hidden;
}
@media screen and (max-width: 1267px) and (min-width: 768px) {
  html {
    font-size: calc(16 / 1268 * 100svw);
  }
}
@media screen and (max-width: 390px) {
  html {
    font-size: calc(16 / 390 * 100svw);
  }
}
body {
  color: #333333;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  font-optical-sizing: auto;
  background-color: #FFFFFF;
  max-width: 100vw;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    padding-bottom: 3.5rem;
  }
}
a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  transition: all 0.2s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.8;
  }
}
img {
  width: 100%;
  height: auto;
}
/* アイコン画像（SVG）の共通設定 */
img[src*="/images/common/icon/"] {
  object-fit: contain;
}
input {
  caret-color: #333333;
}
input:focus {
  outline: none;
}
.js-fade-up {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.js-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.l-header {
  position: fixed;
  inset: 0;
  z-index: 100;
}
.l-inner {
  width: 100%;
  max-width: 1268px;
  padding: 0 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: 600px;
    padding: 0 0.875rem;
  }
}
.l-main {
  margin-block-start: 5rem;
}
.l-main.--bg-gray {
  background: #F6F7F1;
}
@media screen and (max-width: 767px) {
  .l-main {
    margin-block-start: 4rem;
  }
}
.c-archive-item__link {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-block: 1.5rem;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-archive-item__link:hover {
    opacity: 1;
  }
  .c-archive-item__link:hover .c-archive-item__thumb-img {
    scale: 1.05;
  }
}
@media screen and (max-width: 767px) {
  .c-archive-item__link {
    gap: 0.875rem;
    padding-block: 1.25rem;
  }
}
.c-archive-item__thumb {
  width: 12.5rem;
  height: 7.5rem;
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-archive-item__thumb {
    width: 7.5rem;
    height: 5rem;
  }
}
.c-archive-item__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.3s ease;
}
.c-archive-item__thumb--noimg {
  width: 100%;
  height: 100%;
  display: flex;
  object-fit: cover;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border: 1px solid #ededed;
}
.c-archive-item__thumb--noimg img {
  width: 4.375rem;
  height: auto;
  object-fit: contain;
}
.c-archive-item__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  min-width: 0;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-archive-item__body {
    gap: 0.5rem;
  }
}
.c-archive-item__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-archive-item__date {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #888888;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-archive-item__date {
    font-size: 0.75rem;
  }
}
.c-archive-item__cat {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
  border: 1px solid #A3A394;
  padding: 0.0625rem 0.5625rem;
  white-space: nowrap;
  min-width: 3.6875rem;
  text-align: center;
}
.c-archive-item__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  line-height: 1.625rem;
  color: #333333;
  letter-spacing: 0.05em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-archive-item__title {
    font-size: 0.875rem;
    line-height: 1.375rem;
  }
}
.c-breadcrumbs {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.c-breadcrumbs__inner {
  padding-block: 2.5rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
}
.c-breadcrumbs__inner > span:not(:last-child),
.c-breadcrumbs__inner > a {
  flex-shrink: 0;
}
.c-breadcrumbs__inner > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.c-breadcrumbs .slash {
  padding-inline: 0.75rem;
}
.c-breadcrumbs a {
  text-decoration: underline;
  color: #A3A394;
}
@media (any-hover: hover) {
  .c-breadcrumbs a:hover {
    opacity: 1;
    color: #333333;
    text-decoration: none;
  }
}
.c-btn-square {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20rem;
  height: 3.5rem;
  background: #A3A394;
  border: none;
  border-radius: 1.75rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .c-btn-square:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-square {
    width: 15rem;
    height: 3.25rem;
    font-size: 0.9375rem;
  }
}
/* SP用 固定CTAバー（全ページ共通・ウィンドウ下端に固定） */
.c-fixed-cta {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-fixed-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 90;
  }
}
.c-fixed-cta__phone a {
  width: 3.5rem;
  height: 3.5rem;
  background: #A3A394;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-fixed-cta__phone img {
  width: 1.25rem;
  height: auto;
  object-fit: contain;
}
.c-fixed-cta__btn {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
  margin-right: 0em;
  background: #FAFAFA;
  border-right: solid 1px #F3F3F3;
  padding-inline: 0.25rem;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.c-fixed-cta__btn:nth-last-of-type(1) {
  border-right: none;
}
.c-link-more {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-link-more:hover {
    opacity: 1;
  }
  .c-link-more:hover img {
    scale: 1.05;
  }
  .c-link-more:hover span {
    translate: 10% 0;
  }
}
.c-link-more__circle {
  width: 4.125rem;
  height: 4.125rem;
  object-fit: contain;
  flex-shrink: 0;
  position: relative;
  z-index: 0;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-link-more__circle {
    width: 3rem;
    height: 3rem;
  }
}
.c-link-more__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  margin-left: -1.25rem;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #A3A394;
  position: relative;
  z-index: 1;
  transition: all 0.2s ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-link-more__text {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.c-link-more--white .c-link-more__text {
  color: #FFFFFF;
}
.c-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  margin-top: 5rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-pagination {
    margin-top: 3rem;
    gap: 0.375rem;
  }
  .c-pagination .c-pagination__item {
    min-width: 2.125rem;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 1.0625rem;
    font-size: 0.75rem;
  }
}
.c-pagination__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.625rem;
  height: 2.625rem;
  padding-inline: 0.5rem;
  border-radius: 1.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.c-pagination__item[data-state=current] {
  background: #A3A394;
  color: #FFFFFF;
  pointer-events: none;
}
.c-pagination__item[data-state=page] {
  background: #FFFFFF;
  border: 1px solid #e6e6e6;
  color: #333333;
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=page]:hover {
    opacity: 1;
    background: #E5E6DE;
    border-color: #E5E6DE;
  }
}
.c-pagination__item[data-state=dots] {
  background: #FFFFFF;
  color: #333333;
  pointer-events: none;
}
.c-pagination__item[data-state=prev], .c-pagination__item[data-state=next] {
  background: #FFFFFF;
  border: 1px solid #e6e6e6;
  min-width: 2.625rem;
}
@media screen and (max-width: 767px) {
  .c-pagination__item[data-state=prev], .c-pagination__item[data-state=next] {
    min-width: 2.125rem;
    width: 2.125rem;
    padding-inline: 0;
  }
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=prev]:hover, .c-pagination__item[data-state=next]:hover {
    opacity: 1;
    background: #E5E6DE;
    border-color: #E5E6DE;
  }
}
.c-pagination__item[data-state=prev][aria-disabled=true], .c-pagination__item[data-state=next][aria-disabled=true] {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.c-pagination__arrow {
  display: block;
  width: 0.3125rem;
  height: 0.5625rem;
  position: relative;
  flex-shrink: 0;
}
.c-pagination__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 1.5px solid #333333;
  border-right: 1.5px solid #333333;
}
.c-pagination__arrow--prev::before {
  left: 0.1875rem;
  translate: 0 -50%;
  rotate: -135deg;
}
.c-pagination__arrow--next::before {
  right: 0.1875rem;
  translate: 0 -50%;
  rotate: 45deg;
}
.c-section-title--center {
  text-align: center;
}
.c-section-title__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 2.3333333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #A3A394;
}
.c-section-title__heading {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .c-section-title__heading {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.2142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-404 {
  padding-block: 6.25rem 7.5rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-404 {
    padding-block: 4rem 5rem;
  }
}
.p-404__deco {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.p-404__deco::before, .p-404__deco::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.p-404__deco--left {
  width: 36.25rem;
  height: 36.25rem;
  left: -12.5rem;
  top: -3.75rem;
}
.p-404__deco--left::before {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(183, 195, 160, 0.35) 0%, transparent 65%);
  inset: 0;
}
.p-404__deco--left::after {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(183, 195, 160, 0.28) 0%, transparent 65%);
  top: 9.375rem;
  left: 7.5rem;
}
.p-404__deco--right {
  width: 36.25rem;
  height: 36.25rem;
  right: -12.5rem;
  top: 3.75rem;
}
.p-404__deco--right::before {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(183, 195, 160, 0.35) 0%, transparent 65%);
  inset: 0;
}
.p-404__deco--right::after {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(183, 195, 160, 0.28) 0%, transparent 65%);
  top: 9.375rem;
  right: 7.5rem;
  left: auto;
}
.p-404__hero {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-404__hero {
    margin-bottom: 2rem;
  }
}
.p-404__number-wrap {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.p-404__illust {
  position: absolute;
  left: -3.75rem;
  bottom: 0;
  width: 5.75rem;
}
.p-404__illust img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-404__illust {
    width: 4rem;
    left: -2.5rem;
  }
}
.p-404__number {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 9.375rem;
  font-weight: 600;
  color: #a3a394;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-404__number {
    font-size: 6.25rem;
  }
}
.p-404__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 500;
  color: #333333;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: normal;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-404__title {
    font-size: 1.25rem;
  }
}
.p-404__desc {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-404__desc {
    font-size: 0.875rem;
    margin-bottom: 2.5rem;
  }
}
.p-404__btn-wrap {
  text-align: center;
  position: relative;
  z-index: 1;
}
.p-404__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 1.25rem;
  width: 15rem;
  height: 3rem;
  border: 1px solid #a3a394;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #a3a394;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: opacity 0.2s;
}
.p-404__btn:hover {
  opacity: 0.6;
}
.p-404__btn-arrow {
  display: block;
  width: 0.6875rem;
  height: auto;
  flex-shrink: 0;
}
.p-archive {
  padding-block: 3.75rem 7.5rem;
}
.p-archive__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 3.75rem;
  scroll-margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-archive__filter {
    gap: 0.75rem;
    margin-bottom: 2.5rem;
    scroll-margin-top: 5rem;
  }
}
.p-archive__filter-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  color: #333333;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.p-archive__filter-item.--active, .p-archive__filter-item[aria-current=page] {
  background: #A3A394;
  border-color: #A3A394;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-archive__filter-item:hover:not(.--active):not([aria-current=page]) {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-archive__filter-item {
    width: 7.5rem;
    height: 2.375rem;
    font-size: 0.875rem;
  }
}
.p-archive__list {
  display: flex;
  flex-direction: column;
}
.p-archive .c-archive-item {
  border-bottom: 1px solid #ededed;
}
.p-archive .c-archive-item:nth-last-of-type(1) {
  border-bottom: none;
}
.p-archive__empty {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #666666;
  padding-block: 2.5rem;
  text-align: center;
}
.p-column {
  padding-bottom: 7.5rem;
}
.p-column__search-wrap {
  background: #f8f8f8;
  padding-block: 2rem;
  margin-bottom: 2.5rem;
}
.p-column__search {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.0625rem;
}
.p-column__search-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-column__search-form {
  position: relative;
  width: 100%;
}
.p-column__search-input {
  display: block;
  width: 100%;
  height: 3rem;
  padding-block: 0;
  padding-inline: 1.5rem 3.5rem;
  border: 1px solid #f2f2f2;
  border-radius: 6.25rem;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  color: #333333;
  appearance: none;
}
.p-column__search-input::placeholder {
  color: #9f9e98;
}
.p-column__search-input:focus {
  outline: none;
  border-color: #A3A394;
}
.p-column__search-input::-webkit-search-cancel-button {
  display: none;
}
.p-column__search-btn {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  translate: 0 -50%;
  width: 1.5rem;
  height: 1.5rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-column__search-btn img {
  width: 100%;
  height: 100%;
}
.p-column__body {
  padding-top: 2.5rem;
}
.p-column__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 3.75rem;
  scroll-margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-column__filter {
    scroll-margin-top: 4rem;
  }
}
.p-column__filter-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  color: #333333;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.p-column__filter-item.--active, .p-column__filter-item[aria-current=page] {
  background: #A3A394;
  border-color: #A3A394;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-column__filter-item:hover:not(.--active):not([aria-current=page]) {
    opacity: 0.7;
  }
}
.p-column__pickup {
  margin-bottom: 5rem;
}
.p-column__pickup-head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}
.p-column__pickup-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
}
.p-column__pickup-divider {
  height: 1px;
  background: #ededed;
}
.p-column__pickup-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 1.875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-column__pickup-link {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-column__pickup-link:hover {
    opacity: 1;
  }
  .p-column__pickup-link:hover .p-column__pickup-thumb-img {
    transform: scale(1.05);
  }
}
.p-column__pickup-thumb {
  height: 15rem;
  overflow: hidden;
}
.p-column__pickup-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.p-column__pickup-thumb--noimg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border: 1px solid #ededed;
}
.p-column__pickup-thumb--noimg img {
  width: 4.375rem;
  height: auto;
  object-fit: contain;
}
.p-column__pickup-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.625rem;
}
.p-column__pickup-date {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #888888;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-column__pickup-cat {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
  border: 1px solid #A3A394;
  padding: 0.0625rem 0.5625rem;
  white-space: nowrap;
  min-width: 3.6875rem;
  text-align: center;
}
.p-column__pickup-item-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 500;
  color: #333333;
  margin-top: 0.5rem;
  line-height: 1.625rem;
  letter-spacing: 0.05em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-column__list {
  display: flex;
  flex-direction: column;
}
.p-column .c-archive-item {
  border-bottom: 1px solid #ededed;
}
.p-column .c-archive-item:last-child {
  border-bottom: none;
}
.p-column__empty {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #666666;
  padding-block: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-column {
    padding-bottom: 5rem;
  }
  .p-column__search-wrap {
    padding-block: 1.5rem;
    margin-bottom: 2rem;
  }
  .p-column__search-title {
    font-size: 1rem;
  }
  .p-column__search-input {
    font-size: 0.875rem;
  }
  .p-column__body {
    padding-top: 2rem;
  }
  .p-column__filter {
    gap: 0.625rem;
    margin-bottom: 2.5rem;
  }
  .p-column__filter-item {
    width: 6.875rem;
    height: 2.375rem;
    font-size: 0.8125rem;
  }
  .p-column__pickup {
    margin-bottom: 3.75rem;
  }
  .p-column__pickup-title {
    font-size: 1.25rem;
  }
  .p-column__pickup-list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-column__pickup-thumb {
    height: 12.5rem;
  }
}
.p-sub-header__container {
  height: 40rem;
  background-image: var(--sub-header-bg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0;
}
.--secondary .p-sub-header__container {
  height: 30rem;
}
.p-sub-header__container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 45, 17, 0.3) 67.34%, rgba(13, 45, 17, 0) 100%);
  z-index: -1;
}
.--white-no-img .p-sub-header__container::after, .--white .p-sub-header__container::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-sub-header__container {
    height: 21.875rem;
    background-image: var(--sub-header-bg-sp, var(--sub-header-bg));
  }
  .--secondary .p-sub-header__container {
    height: 21.875rem;
  }
}
.--secondary .p-sub-header__body {
  display: flex;
  flex-direction: column-reverse;
  padding-block-end: 1.3125rem;
  position: relative;
}
.--secondary .p-sub-header__body::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: 3.75rem;
  height: 0.125rem;
  background: #FFFFFF;
}
.p-sub-header__subtitle {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.--secondary .p-sub-header__subtitle {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-sub-header__subtitle {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-sub-header__title {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.25rem;
}
.--secondary .p-sub-header__title {
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.2142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-sub-header__title {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.3125;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-sub-header__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 3.125rem;
}
.--secondary .p-sub-header__desc {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-sub-header__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1.5rem;
  }
}
.p-works-slider {
  position: relative;
  overflow: hidden;
  padding-block: 9.375rem 12.5rem;
}
.p-works-slider::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -2.5rem;
  left: -3.75rem;
  width: 34.0625rem;
  height: 34.125rem;
}
.p-works-slider::after {
  content: "";
  position: absolute;
  top: 26.25rem;
  right: 0;
  left: calc(50% - 17.4375rem);
  height: 22.375rem;
  background: #E5E6DE;
  pointer-events: none;
  z-index: 0;
}
.p-works-slider__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
.p-works-slider__nav {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.p-works-slider__nav--sp {
  display: none;
}
.p-works-slider__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #A3A394;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}
.p-works-slider__btn img {
  width: 1rem;
  height: auto;
}
.p-works-slider__btn--prev img {
  transform: rotate(180deg);
}
@media (any-hover: hover) {
  .p-works-slider__btn:hover {
    opacity: 0.8;
  }
}
.p-works-slider__slider-wrap {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.p-works-slider .splide__slide {
  width: 25rem;
}
.p-works-slider__link {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-works-slider__link:hover {
    opacity: 1;
  }
  .p-works-slider__link:hover .p-works-slider__img-src {
    transform: scale(1.05);
  }
}
.p-works-slider__img {
  height: 16.6875rem;
  overflow: hidden;
}
.p-works-slider__img-src {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-works-slider__info {
  margin-top: 1.25rem;
}
.p-works-slider__type {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #5F5F5F;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-works-slider__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-works-slider__footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  margin-top: 2.5rem;
}
.p-works-slider__nav--pc {
  display: flex;
  gap: 2rem;
  flex-shrink: 0;
}
.p-works-slider__pagination {
  flex: 1;
  display: flex;
  height: 0.125rem;
  margin-left: 3rem;
}
.p-works-slider__pagination-bar {
  flex: 1;
  height: 0.125rem;
  background: #d9d9d9;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.p-works-slider__pagination-bar.is-active {
  background: #A3A394;
}
.p-works-slider__more {
  flex-shrink: 0;
  margin-left: 3rem;
}
@media screen and (max-width: 767px) {
  .p-works-slider {
    padding-block: 3.75rem;
  }
  .p-works-slider::before {
    top: -7.5rem;
    left: -7.5rem;
    width: 34.375rem;
    height: 34.375rem;
  }
  .p-works-slider::after {
    top: 12.5rem;
    left: 5.375rem;
    height: 18.9375rem;
  }
  .p-works-slider__head {
    align-items: flex-end;
    margin-bottom: 1.5rem;
  }
  .p-works-slider__nav--sp {
    display: flex;
    gap: 1.5rem;
  }
  .p-works-slider__btn {
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-works-slider__btn img {
    width: 0.875rem;
  }
  .p-works-slider .splide__slide {
    width: 18.75rem;
  }
  .p-works-slider__img {
    height: 12.5rem;
  }
  .p-works-slider__type {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-works-slider__title {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-works-slider__footer {
    flex-wrap: wrap;
    margin-top: 2rem;
  }
  .p-works-slider__nav--pc {
    display: none;
  }
  .p-works-slider__pagination {
    width: 100%;
    flex: none;
    margin-left: 0;
  }
  .p-works-slider__more {
    flex: none;
    margin-left: auto;
    margin-top: 2rem;
  }
}
.p-company-access {
  position: relative;
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
}
.p-company-access::before, .p-company-access::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.avif) no-repeat center/contain;
}
.p-company-access::before {
  width: 31.25rem;
  height: 31.25rem;
  top: -5rem;
  left: -7.5rem;
}
.p-company-access::after {
  width: 26.25rem;
  height: 26.25rem;
  top: 5rem;
  left: 3.75rem;
}
.p-company-access__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
}
.p-company-access__head {
  flex: 0 0 28.8125rem;
  padding-top: 3rem;
}
.p-company-access__body {
  flex: 1;
  min-width: 0;
}
.p-company-access__map {
  width: 100%;
}
.p-company-access__map iframe {
  display: block;
  width: 100%;
  height: 25.9375rem;
  border: none;
  filter: grayscale(1);
}
.p-company-access__foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  margin-top: 2rem;
}
.p-company-access__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-company-access__details {
  margin-top: 0.75rem;
}
.p-company-access__details p {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.p-company-access__map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-shrink: 0;
  width: 12.5rem;
  height: 2.25rem;
  border: 1px solid #cecece;
  background: transparent;
  text-decoration: none;
  transition: opacity 0.2s;
  margin-top: 0.5rem;
}
@media (any-hover: hover) {
  .p-company-access__map-link:hover {
    opacity: 0.6;
  }
}
.p-company-access__map-link--head {
  border-color: #e1e1e1;
  margin-top: 2.5rem;
}
.p-company-access__map-link-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #adadad;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-company-access__map-link-arrow {
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 1px solid #adadad;
  border-right: 1px solid #adadad;
  rotate: 45deg;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-company-access {
    padding-block: 4rem 5rem;
  }
  .p-company-access::before {
    width: 20rem;
    height: 20rem;
    top: -3.75rem;
    left: -5rem;
  }
  .p-company-access::after {
    width: 17.5rem;
    height: 17.5rem;
    top: 2.5rem;
    left: 1.25rem;
  }
  .p-company-access__inner {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-company-access__head {
    flex: none;
    width: 100%;
    padding-top: 0;
  }
  .p-company-access__body {
    width: 100%;
  }
  .p-company-access__map-link--head {
    margin-top: 1.5rem;
  }
  .p-company-access__map iframe {
    height: 17.5rem;
  }
  .p-company-access__foot {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-company-access__details p {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
  .p-company-access__map-link {
    align-self: flex-start;
    margin-top: 0;
  }
  .c-section-title + .p-company-access__map-link {
    display: none;
  }
}
.p-company-group {
  background: #F6F7F1;
  padding-block: 6.25rem 7.5rem;
}
.p-company-group__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin-top: 4rem;
}
.p-company-group__item {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
.p-company-group__img {
  flex: 0 0 22.75rem;
}
.p-company-group__img picture {
  display: block;
}
.p-company-group__img-src {
  display: block;
  width: 100%;
  height: 15rem;
  object-fit: cover;
}
.p-company-group__body {
  flex: 1;
  min-width: 0;
}
.p-company-group__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-company-group__table {
  margin-top: 1.25rem;
}
.p-company-group__row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-block: 1.25rem;
  border-top: 1px solid #F2F2F2;
}
.p-company-group__row:last-child {
  border-bottom: 1px solid #F2F2F2;
}
.p-company-group__term {
  flex: 0 0 12.125rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 500;
  color: #666666;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.p-company-group__desc {
  flex: 1;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-company-group {
    padding-block: 4rem 5rem;
  }
  .p-company-group__list {
    gap: 3.5rem;
    margin-top: 2.5rem;
  }
  .p-company-group__item {
    flex-direction: column-reverse;
    gap: 1.5rem;
  }
  .p-company-group__img {
    flex: none;
    width: 100%;
  }
  .p-company-group__img-src {
    height: 12.5rem;
  }
  .p-company-group__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding-block: 0.5rem;
  }
  .p-company-group__term {
    flex: none;
    font-size: 1rem;
    font-weight: 700;
  }
  .p-company-group__desc {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
.p-company-info {
  position: relative;
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
}
.p-company-info::before, .p-company-info::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.avif) no-repeat center/contain;
}
.p-company-info::before {
  width: 31.25rem;
  height: 31.25rem;
  top: -5rem;
  left: -7.5rem;
}
.p-company-info::after {
  width: 26.25rem;
  height: 26.25rem;
  top: 5rem;
  left: 3.75rem;
}
.p-company-info__inner {
  position: relative;
  z-index: 1;
}
.p-company-info__table {
  margin-top: 3.5rem;
}
.p-company-info__row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-block: 1.5rem;
  border-top: 1px solid #F2F2F2;
}
.p-company-info__row:last-child {
  border-bottom: 1px solid #F2F2F2;
}
.p-company-info__term {
  flex: 0 0 12.125rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 500;
  color: #666666;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.p-company-info__desc {
  flex: 1;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-company-info {
    padding-block: 4rem 5rem;
  }
  .p-company-info::before {
    width: 20rem;
    height: 20rem;
    top: -3.75rem;
    left: -5rem;
  }
  .p-company-info::after {
    width: 17.5rem;
    height: 17.5rem;
    top: 2.5rem;
    left: 1.25rem;
  }
  .p-company-info__table {
    margin-top: 2.5rem;
  }
  .p-company-info__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding-block: 1.25rem;
  }
  .p-company-info__term {
    flex: none;
    font-size: 1rem;
    font-weight: 700;
  }
  .p-company-info__desc {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
.p-company-message {
  position: relative;
  background: linear-gradient(to bottom, #FFFFFF 27.5rem, #F6F7F1 23.125rem);
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
}
.p-company-message::before, .p-company-message::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.avif) no-repeat center/contain;
}
.p-company-message::before {
  width: 31.25rem;
  height: 31.25rem;
  top: -5rem;
  left: -7.5rem;
}
.p-company-message::after {
  width: 26.25rem;
  height: 26.25rem;
  top: 5rem;
  left: 3.75rem;
}
.p-company-message__inner {
  position: relative;
  z-index: 1;
}
.p-company-message__body {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 3.5rem;
}
.p-company-message__photo {
  flex: 0 0 24.25rem;
}
.p-company-message__photo picture {
  display: block;
}
.p-company-message__photo-img {
  display: block;
  width: 100%;
  aspect-ratio: 388/518;
  object-fit: cover;
}
.p-company-message__text {
  position: relative;
  flex: 1;
  min-width: 0;
  padding-bottom: 0.1875rem;
}
.p-company-message__heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #212121;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
.p-company-message__body-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
.p-company-message__signature {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-top: 3rem;
  justify-content: flex-end;
  padding-right: 6rem;
}
.p-company-message__signature-role {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.p-company-message__signature-name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.1666666667;
}
.p-company-message__illust {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 5.75rem;
  pointer-events: none;
}
.p-company-message__illust picture {
  display: block;
}
.p-company-message__illust img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company-message {
    padding-block: 4rem 5rem;
    background: linear-gradient(to bottom, #FFFFFF 25rem, #F6F7F1 12.5rem);
  }
  .p-company-message::before {
    width: 20rem;
    height: 20rem;
    top: -3.75rem;
    left: -5rem;
  }
  .p-company-message::after {
    width: 17.5rem;
    height: 17.5rem;
    top: 2.5rem;
    left: 1.25rem;
  }
  .p-company-message__body {
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
  .p-company-message__photo {
    flex: none;
    width: 100%;
    max-width: 23.75rem;
    margin-inline: auto;
  }
  .p-company-message__photo-img {
    aspect-ratio: 1;
    object-position: 0% 35%;
  }
  .p-company-message__heading {
    font-size: 1.3125rem;
    line-height: 1.4545454545;
  }
  .p-company-message__body-text {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1rem;
  }
  .p-company-message__signature {
    padding-right: 5rem;
    margin-top: 2rem;
  }
  .p-company-message__illust {
    width: 4.5rem;
    bottom: -3.125rem;
  }
}
.p-contact {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-block: 3rem 5rem;
  }
}
.p-contact__card {
  background: #FFFFFF;
  border-radius: 0.5rem;
  padding: 4rem 2.5rem;
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-contact__card {
    padding: 2.5rem 1.25rem;
  }
}
.p-contact__lead {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-contact__lead {
    font-size: 0.875rem;
    text-align: left;
    margin-bottom: 2rem;
  }
}
.p-form__main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-form__main dl {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}
.p-form__main dt,
.p-form__main dd {
  margin: 0;
  padding: 0;
}
.p-form__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
}
.p-form__label p {
  margin: 0;
}
.p-form__require, .p-form__optional {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 1.125rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.625rem;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0;
  flex-shrink: 0;
}
.p-form__require {
  background: #dc3c3c;
}
.p-form__optional {
  background: #9f9e98;
}
.p-form__input {
  display: block;
  width: 100%;
  height: 3rem;
  padding-inline: 0.9375rem;
  background: #fafafa;
  border: 1px solid #e6e6e6;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.p-form__input::placeholder {
  color: #bebebe;
}
.p-form__input:focus {
  border-color: #A3A394;
}
@media screen and (max-width: 767px) {
  .p-form__input {
    font-size: 0.875rem;
  }
}
.p-form__textarea {
  display: block;
  width: 100%;
  height: 10rem;
  padding: 0.9375rem;
  background: #fafafa;
  border: 1px solid #e6e6e6;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s;
  box-sizing: border-box;
  cursor: text;
  caret-color: #333333;
}
.p-form__textarea::placeholder {
  color: #bebebe;
}
.p-form__textarea:focus {
  border-color: #A3A394;
}
@media screen and (max-width: 767px) {
  .p-form__textarea {
    font-size: 0.875rem;
  }
}
.p-form__date-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.p-form__date-wrap input[type=date] {
  display: block;
  width: 100%;
  height: 3rem;
  padding-inline: 0.9375rem;
  background: #fafafa;
  border: 1px solid #e6e6e6;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
  cursor: pointer;
}
.p-form__date-wrap input[type=date]:focus {
  border-color: #A3A394;
}
@media screen and (max-width: 767px) {
  .p-form__date-wrap input[type=date] {
    font-size: 0.875rem;
  }
}
.p-form__main dl:has(.p-form__date-wrap) {
  flex-direction: row;
  gap: 1.5rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-form__main dl:has(.p-form__date-wrap) {
    flex-direction: column;
  }
}
.p-form__main .wpcf7-radio, .p-form__main .wpcf7-checkbox {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.p-form__main .wpcf7-radio .wpcf7-list-item, .p-form__main .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
.p-form__main .wpcf7-radio .wpcf7-list-item label, .p-form__main .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.p-form__main .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label, .p-form__main .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
}
.p-form__main .wpcf7-radio input[type=checkbox], .p-form__main .wpcf7-checkbox input[type=checkbox] {
  display: inline-block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  position: relative;
  transition: border-color 0.2s;
}
.p-form__main .wpcf7-radio input[type=checkbox]:checked, .p-form__main .wpcf7-checkbox input[type=checkbox]:checked {
  border-color: #A3A394;
}
.p-form__main .wpcf7-radio input[type=checkbox]:checked::after, .p-form__main .wpcf7-checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  background: #A3A394;
  border-radius: 50%;
}
.p-form__pp {
  margin-top: 2rem;
}
.p-form__pp dl {
  margin: 0;
}
.p-form__pp dd {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.p-form__pp .wpcf7-list-item {
  margin: 0;
}
.p-form__pp label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.p-form__pp .wpcf7-list-item-label {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
}
.p-form__pp .wpcf7-list-item-label a {
  color: #333333;
  text-decoration: underline;
}
.p-form__submit {
  margin-top: 2.5rem;
  text-align: center;
}
.p-form__submit .ajax-loader {
  display: none;
}
.p-form .wpcf7-not-valid-tip {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #dc3c3c;
  margin-top: 0.25rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-form .wpcf7-not-valid-tip {
    font-size: 0.75rem;
  }
}
.p-form .wpcf7-response-output {
  margin-top: 1.5rem;
  padding: 0.75rem 1rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  border: 1px solid #e6e6e6;
}
input[type=radio] {
  display: inline-block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  position: relative;
  transition: border-color 0.2s;
}
input[type=radio]:checked {
  border-color: #A3A394;
}
input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;
  height: 0.5rem;
  background: #A3A394;
  border-radius: 50%;
}
input[type=checkbox].p-form__check {
  display: inline-block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  position: relative;
  transition: border-color 0.2s;
}
input[type=checkbox].p-form__check:checked {
  border-color: #A3A394;
}
input[type=checkbox].p-form__check:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%) rotate(45deg);
  width: 0.3125rem;
  height: 0.5625rem;
  border-right: 2px solid #A3A394;
  border-bottom: 2px solid #A3A394;
}
.p-form__submit {
  position: relative;
}
.wpcf7-spinner {
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  translate: -160% 0;
}
.p-custom-home-feature {
  position: relative;
  padding-block: 3.75rem 3.75rem;
  overflow: hidden;
}
.p-custom-home-feature::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -5rem;
  left: -5rem;
  width: 37.5rem;
  height: 37.5rem;
}
.p-custom-home-feature__deco {
  position: absolute;
  top: 5.125rem;
  right: 0;
  width: 48vw;
  height: 23.75rem;
  background: #F6F7F1;
  z-index: 0;
  pointer-events: none;
}
.p-custom-home-feature__inner {
  position: relative;
  z-index: 1;
}
.p-custom-home-feature__head {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  margin-bottom: 4rem;
}
.p-custom-home-feature__title-wrap {
  flex: 0 0 22.75rem;
}
.p-custom-home-feature__intro {
  flex: 1 1 0;
  max-width: 48.5rem;
}
.p-custom-home-feature__tagline {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
}
.p-custom-home-feature__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1.5rem;
}
.p-custom-home-feature__list {
  display: flex;
  gap: 1.1875rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-custom-home-feature__item {
  flex: 1 1 0;
}
.p-custom-home-feature__card {
  display: block;
  position: relative;
  width: 100%;
  height: 22.5rem;
  overflow: hidden;
  cursor: pointer;
  border: none;
  padding: 0;
  background: transparent;
  text-align: left;
}
@media (any-hover: hover) {
  .p-custom-home-feature__card:hover .p-custom-home-feature__card-overlay {
    opacity: 0.6;
  }
  .p-custom-home-feature__card:hover .p-custom-home-feature__card-img {
    transform: scale(1.05);
  }
}
.p-custom-home-feature__card-thumb {
  position: absolute;
  inset: 0;
}
.p-custom-home-feature__card-thumb picture,
.p-custom-home-feature__card-thumb img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-custom-home-feature__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-custom-home-feature__card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 38, 9, 0.3);
  transition: opacity 0.4s ease;
}
.p-custom-home-feature__card-body {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 2rem;
  z-index: 1;
}
.p-custom-home-feature__card-num-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.p-custom-home-feature__card-num {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
  flex-shrink: 0;
}
.p-custom-home-feature__card-line {
  display: block;
  width: 3rem;
  height: 1px;
  background: #FFFFFF;
  flex-shrink: 0;
}
.p-custom-home-feature__card-title {
  font-size: 1.4375rem;
  font-weight: 500;
  line-height: 1.2173913043;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 4.75rem;
}
.p-custom-home-feature__card-desc {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 1.25rem;
}
.p-custom-home-feature .c-link-more {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-custom-home-feature {
    padding-block: 3.75rem;
  }
  .p-custom-home-feature::before {
    top: -2.5rem;
    left: -2.5rem;
    width: 18.75rem;
    height: 18.75rem;
  }
  .p-custom-home-feature__deco {
    width: 15rem;
    height: 12.5rem;
  }
  .p-custom-home-feature__head {
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
  }
  .p-custom-home-feature__title-wrap {
    flex: none;
    width: 100%;
  }
  .p-custom-home-feature__tagline {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-custom-home-feature__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1rem;
  }
  .p-custom-home-feature__list {
    flex-direction: column;
    gap: 1rem;
  }
  .p-custom-home-feature__item {
    flex: none;
    width: 100%;
  }
  .p-custom-home-feature__card {
    height: 19.75rem;
  }
  .p-custom-home-feature__card-body {
    left: 1rem;
    right: 1rem;
    top: 1rem;
    bottom: auto;
  }
  .p-custom-home-feature__card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-feature-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.p-feature-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.p-feature-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(51, 51, 51, 0.6);
  cursor: pointer;
}
.p-feature-modal__inner {
  position: relative;
  width: 61.25rem;
  max-width: calc(100% - 2rem);
  max-height: calc(100vh - 4rem);
  background: #FFFFFF;
  overflow-y: auto;
  z-index: 1;
  scrollbar-width: none;
}
.p-feature-modal__inner::-webkit-scrollbar {
  display: none;
}
.p-feature-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
  background: transparent;
  border: 1px solid rgba(51, 51, 51, 0.4);
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}
.p-feature-modal__close::before, .p-feature-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background: #999999;
}
.p-feature-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-feature-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (any-hover: hover) {
  .p-feature-modal__close:hover {
    opacity: 0.6;
  }
}
.p-feature-modal__header {
  text-align: center;
  padding: 2.8125rem 3.5rem 3.5rem;
}
.p-feature-modal__en {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #18451e;
}
.p-feature-modal__title {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 0.75rem;
}
.p-feature-modal__content {
  padding: 0 3.5rem 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.p-feature-modal__block {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
.p-feature-modal__block:nth-child(2n) {
  flex-direction: row-reverse;
}
.p-feature-modal__block-img {
  flex: 0 0 21.8125rem;
}
.p-feature-modal__block-img picture,
.p-feature-modal__block-img img {
  display: block;
  width: 100%;
}
.p-feature-modal__block-img img {
  height: 14.5625rem;
  object-fit: cover;
}
.p-feature-modal__block-text {
  flex: 1 1 0;
  padding-top: 0.5rem;
}
.p-feature-modal__block-subtitle {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #18451e;
}
.p-feature-modal__block-body {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-feature-modal__inner {
    max-height: calc(100svh - 7.75rem);
  }
  .p-feature-modal__close {
    position: fixed;
    top: 4.375rem;
    right: 1.5rem;
  }
  .p-feature-modal__header {
    padding: 3rem 1.25rem 1.5rem;
  }
  .p-feature-modal__en {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-feature-modal__title {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.5454545455;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-feature-modal__content {
    padding: 0 1.25rem 2.5rem;
    gap: 2rem;
  }
  .p-feature-modal__block, .p-feature-modal__block:nth-child(2n) {
    flex-direction: column;
  }
  .p-feature-modal__block-img {
    flex: none;
    width: 100%;
  }
  .p-feature-modal__block-img img {
    height: 12.5rem;
  }
  .p-feature-modal__block-text {
    padding-top: 0;
  }
  .p-feature-modal__block-subtitle {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.5294117647;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-custom-home-flow {
  position: relative;
  padding-block: 5rem 9.375rem;
  overflow: hidden;
}
.p-custom-home-flow__blur {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -5rem;
  left: -5rem;
  width: 37.5rem;
  height: 37.5rem;
}
.p-custom-home-flow__deco {
  position: absolute;
  left: auto;
  right: 0;
  top: 8.25rem;
  width: 86vw;
  height: 22.5rem;
  background: #F6F7F1;
  z-index: 0;
  pointer-events: none;
}
.p-custom-home-flow .l-inner {
  position: relative;
  z-index: 1;
}
.p-custom-home-flow__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1.5rem;
}
.p-custom-home-flow__track {
  position: relative;
  max-width: 66.875rem;
  margin-inline: auto;
  margin-top: 3rem;
  height: 88.125rem;
}
.p-custom-home-flow__track::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 22.8125rem;
  width: 1px;
  border-left: 1px solid #D7D7D7;
  transform: translateX(-50%);
  z-index: 0;
}
.p-custom-home-flow__item {
  position: absolute;
  width: 22.75rem;
}
.p-custom-home-flow__item:nth-child(1) {
  left: calc(50% + 10.5625rem);
  top: 0;
}
.p-custom-home-flow__item:nth-child(2) {
  left: 0.125rem;
  top: 16.125rem;
}
.p-custom-home-flow__item:nth-child(3) {
  left: calc(50% + 10.5625rem);
  top: 32.25rem;
}
.p-custom-home-flow__item:nth-child(4) {
  left: 0.125rem;
  top: 48.375rem;
}
.p-custom-home-flow__item:nth-child(5) {
  left: calc(50% + 10.5625rem);
  top: 64.5rem;
}
.p-custom-home-flow__item--right::before {
  content: "";
  position: absolute;
  top: 0;
  left: -11.125rem;
  width: 1.125rem;
  height: 1.125rem;
  background: #A3A394;
  border: 0.25rem solid #ECEDE1;
  border-radius: 50%;
  z-index: 1;
}
.p-custom-home-flow__item--right::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
  right: 120%;
  width: 5.5rem;
  height: 0;
  border-top: 1px dashed rgba(163, 163, 148, 0.6);
}
.p-custom-home-flow__item--left::before {
  content: "";
  position: absolute;
  top: 0;
  right: -11.125rem;
  width: 1.125rem;
  height: 1.125rem;
  background: #A3A394;
  border: 0.25rem solid #ECEDE1;
  border-radius: 50%;
  z-index: 1;
}
.p-custom-home-flow__item--left::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
  left: 120%;
  width: 5.5rem;
  height: 0;
  border-top: 1px dashed rgba(163, 163, 148, 0.6);
}
.p-custom-home-flow__step-label {
  position: absolute;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-right: 0;
  color: rgba(163, 163, 148, 0.8);
  writing-mode: vertical-lr;
  top: 0rem;
  z-index: 1;
}
.p-custom-home-flow__item--right .p-custom-home-flow__step-label {
  left: -3.875rem;
}
.p-custom-home-flow__item--left .p-custom-home-flow__step-label {
  right: -3.875rem;
}
.p-custom-home-flow__item-img {
  overflow: hidden;
}
.p-custom-home-flow__item-img picture,
.p-custom-home-flow__item-img img {
  display: block;
  width: 100%;
}
.p-custom-home-flow__item-photo {
  width: 100%;
  height: 15.1875rem;
  object-fit: cover;
  display: block;
}
.p-custom-home-flow__item-info {
  background: #fafafa;
  padding: 0.875rem 1rem;
}
.p-custom-home-flow__item-head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-block: 1rem;
}
.p-custom-home-flow__item-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
}
.p-custom-home-flow__item-duration {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  margin-right: 0;
  font-family: "Zen Old Mincho", serif;
  color: #666666;
  border: 1px solid #666666;
  padding: 0.125rem 0.5rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.p-custom-home-flow__item-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.p-custom-home-flow__item-list-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  padding-left: 0.875rem;
  position: relative;
}
.p-custom-home-flow__item-list-item::before {
  content: "";
  position: absolute;
  left: 0.1875rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background: #A3A394;
}
@media screen and (max-width: 767px) {
  .p-custom-home-flow {
    padding-block: 3.75rem;
  }
  .p-custom-home-flow__blur {
    top: -2.5rem;
    left: -2.5rem;
    width: 18.75rem;
    height: 18.75rem;
  }
  .p-custom-home-flow__deco {
    top: 7.5rem;
    height: 19.375rem;
  }
  .p-custom-home-flow__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-custom-home-flow__track {
    height: auto;
    margin-top: 2.5rem;
    padding-inline: 2.5rem 0.875rem;
    padding-bottom: 1.25rem;
    max-width: 37.5rem;
  }
  .p-custom-home-flow__track::before {
    top: 0.375rem;
    left: 1.25rem;
    bottom: 25.6875rem;
  }
  .p-custom-home-flow__item {
    position: static;
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-custom-home-flow__item:last-child {
    margin-bottom: 0;
  }
  .p-custom-home-flow__item--right::before, .p-custom-home-flow__item--right::after, .p-custom-home-flow__item--left::before, .p-custom-home-flow__item--left::after {
    display: none;
  }
  .p-custom-home-flow__step-label {
    position: relative;
    writing-mode: horizontal-tb;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-right: 0;
    display: block;
    margin-bottom: 0.375rem;
    top: 0;
    left: 0 !important;
    right: 100% !important;
    bottom: auto;
  }
  .p-custom-home-flow__step-label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1.8125rem;
    translate: 0 -45%;
    width: 1.125rem;
    height: 1.125rem;
    background: #A3A394;
    border: 0.25rem solid #ECEDE1;
    border-radius: 50%;
    z-index: 1;
  }
  .p-custom-home-flow__item-photo {
    height: 12.5rem;
  }
  .p-custom-home-flow__item-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-custom-home-interview {
  background: #F6F7F1;
  padding-block: 6.25rem 9.375rem;
  overflow: hidden;
}
.p-custom-home-interview__inner {
  position: relative;
}
.p-custom-home-interview__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.p-custom-home-interview__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1.5rem;
}
.p-custom-home-interview__slider-outer {
  position: relative;
  margin-top: 3.5rem;
}
.p-custom-home-interview__slider-wrap {
  overflow: hidden;
}
.p-custom-home-interview .splide__slide {
  width: 47rem;
}
.p-custom-home-interview__link {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-custom-home-interview__link:hover {
    opacity: 1;
  }
  .p-custom-home-interview__link:hover .p-custom-home-interview__thumb-img {
    transform: scale(1.05);
  }
}
.p-custom-home-interview__card {
  position: relative;
  width: 47rem;
  height: 31.3125rem;
  overflow: hidden;
}
.p-custom-home-interview__thumb {
  position: absolute;
  inset: 0;
}
.p-custom-home-interview__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.p-custom-home-interview__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.65));
  pointer-events: none;
}
.p-custom-home-interview__body {
  position: absolute;
  bottom: 3.125rem;
  left: 4rem;
  z-index: 1;
}
.p-custom-home-interview__location {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-custom-home-interview__title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-custom-home-interview__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #A3A394;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.p-custom-home-interview__btn img {
  width: 1rem;
  height: auto;
}
@media (any-hover: hover) {
  .p-custom-home-interview__btn:hover {
    opacity: 0.8;
  }
}
.p-custom-home-interview__btn--prev {
  left: max(1rem, 50% - 25.875rem);
}
.p-custom-home-interview__btn--prev img {
  transform: rotate(180deg);
}
.p-custom-home-interview__btn--next {
  left: min(100% - 4rem, 50% + 22.9375rem);
}
@media screen and (max-width: 767px) {
  .p-custom-home-interview {
    padding-block: 3.75rem 5rem;
  }
  .p-custom-home-interview__head {
    align-items: flex-end;
  }
  .p-custom-home-interview__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1rem;
  }
  .p-custom-home-interview__slider-outer {
    margin-top: 2rem;
  }
  .p-custom-home-interview .splide__slide {
    width: 17.5rem;
  }
  .p-custom-home-interview__card {
    width: 17.5rem;
    height: 12.5rem;
  }
  .p-custom-home-interview__body {
    bottom: 1.25rem;
    left: 1.25rem;
  }
  .p-custom-home-interview__location {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-custom-home-interview__title {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 0.25rem;
  }
  .p-custom-home-interview__btn {
    width: 2.25rem;
    height: 2.25rem;
  }
  .p-custom-home-interview__btn img {
    width: 0.75rem;
  }
  .p-custom-home-interview__btn--prev {
    left: 0.5rem;
  }
  .p-custom-home-interview__btn--next {
    left: auto;
    right: 0.5rem;
  }
}
.p-custom-home-lifestyle__link {
  display: block;
  position: relative;
  height: 35rem;
  overflow: hidden;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-custom-home-lifestyle__link:hover {
    opacity: 1;
  }
  .p-custom-home-lifestyle__link:hover .p-custom-home-lifestyle__bg-img {
    transform: scale(1.03);
  }
  .p-custom-home-lifestyle__link:hover .p-custom-home-lifestyle__overlay {
    left: 100%;
  }
}
.p-custom-home-lifestyle__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #052609;
  opacity: 0.3;
  z-index: 5;
  transition: transform 0.9s cubic-bezier(0.76, 0, 0.24, 1);
  transform: translateX(-20%) skewX(-15deg);
}
.p-custom-home-lifestyle.is-visible .p-custom-home-lifestyle__link::before {
  transform: translateX(120%) skewX(-15deg);
}
.p-custom-home-lifestyle__bg {
  position: absolute;
  inset: 0;
}
.p-custom-home-lifestyle__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-custom-home-lifestyle__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(5, 38, 9, 0.3) 10.625%, rgba(5, 38, 9, 0) 100%);
  transition: all 0.8s ease;
  z-index: 1;
}
.p-custom-home-lifestyle__body {
  position: absolute;
  left: 9.375rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.p-custom-home-lifestyle__en {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin-right: 0;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-custom-home-lifestyle__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.125;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.75rem;
}
.p-custom-home-lifestyle__desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 1.5rem;
  width: 34.875rem;
}
.p-custom-home-lifestyle .c-link-more {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-custom-home-lifestyle__link {
    height: 25rem;
  }
  .p-custom-home-lifestyle__body {
    left: 1.25rem;
    right: 1.25rem;
  }
  .p-custom-home-lifestyle__title {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.3636363636;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-custom-home-lifestyle__desc {
    width: auto;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.8333333333;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1rem;
  }
  .p-custom-home-lifestyle .c-link-more {
    margin-top: 1.25rem;
  }
}
.p-custom-home-standard {
  position: relative;
  padding-block: 5.625rem 3.75rem;
  overflow: hidden;
}
.p-custom-home-standard::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -5rem;
  right: -5rem;
  width: 37.5rem;
  height: 37.5rem;
}
.p-custom-home-standard__deco {
  position: absolute;
  left: 0;
  top: 8.8125rem;
  width: 26.0625rem;
  height: 21.9375rem;
  background: #F6F7F1;
  z-index: 0;
  pointer-events: none;
}
.p-custom-home-standard__inner {
  position: relative;
  z-index: 1;
}
.p-custom-home-standard__head {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  margin-bottom: 4rem;
}
.p-custom-home-standard__title-wrap {
  flex: 0 0 22.5rem;
}
.p-custom-home-standard__intro {
  flex: 1 1 0;
  max-width: 48.5rem;
}
.p-custom-home-standard__tagline {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
}
.p-custom-home-standard__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1.5rem;
}
.p-custom-home-standard__list {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-custom-home-standard__item {
  flex: 1 1 0;
}
.p-custom-home-standard__card {
  display: block;
  position: relative;
  width: 100%;
  height: 18.75rem;
  overflow: hidden;
  cursor: pointer;
  border: none;
  padding: 0;
  background: transparent;
  text-align: left;
}
.p-custom-home-standard__card::after {
  content: "";
  position: absolute;
  inset: 0.75rem;
  border: 1px solid #FFFFFF;
  pointer-events: none;
  z-index: 2;
}
@media (any-hover: hover) {
  .p-custom-home-standard__card:hover .p-custom-home-standard__card-overlay {
    opacity: 0.6;
  }
  .p-custom-home-standard__card:hover .p-custom-home-standard__card-img {
    transform: scale(1.05);
  }
}
.p-custom-home-standard__card-thumb {
  position: absolute;
  inset: 0;
}
.p-custom-home-standard__card-thumb picture,
.p-custom-home-standard__card-thumb img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-custom-home-standard__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-custom-home-standard__card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 38, 9, 0.3);
  transition: opacity 0.4s ease;
  z-index: 1;
}
.p-custom-home-standard__card-body {
  position: absolute;
  left: 1.75rem;
  right: 1.75rem;
  top: 6rem;
  z-index: 3;
}
.p-custom-home-standard .c-link-more {
  margin-top: 1.5rem;
}
.p-custom-home-standard__card-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-custom-home-standard__card-desc {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-custom-home-standard {
    padding-block: 3.75rem;
  }
  .p-custom-home-standard::before {
    top: -2.5rem;
    right: -2.5rem;
    width: 18.75rem;
    height: 18.75rem;
  }
  .p-custom-home-standard__deco {
    width: 15rem;
    height: 12.5rem;
    top: 5rem;
  }
  .p-custom-home-standard__head {
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
  }
  .p-custom-home-standard__title-wrap {
    flex: none;
    width: 100%;
  }
  .p-custom-home-standard__tagline {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-custom-home-standard__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1rem;
  }
  .p-custom-home-standard__list {
    flex-direction: column;
    gap: 1rem;
  }
  .p-custom-home-standard__item {
    flex: none;
    width: 100%;
  }
  .p-custom-home-standard__card {
    height: 16.25rem;
  }
  .p-custom-home-standard__card-body {
    top: 4.5rem;
  }
  .p-custom-home-standard__card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-faq {
  padding-block: 5rem 7.5rem;
}
.p-faq__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  list-style: none;
  padding: 0;
  margin-bottom: 3rem;
}
.p-faq__filter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding-inline: 0.75rem;
  min-width: 7.5rem;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.p-faq__filter-btn.is-active {
  background: #A3A394;
  color: #FFFFFF;
  border-color: #A3A394;
}
@media (any-hover: hover) {
  .p-faq__filter-btn:not(.is-active):hover {
    background: #F6F7F1;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__filter-btn {
    width: auto;
    min-width: 6.25rem;
    height: 2.25rem;
    border-radius: 1.375rem;
    font-size: 0.875rem;
  }
}
.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  padding: 0;
}
.p-faq__item {
  background: #F6F7F1;
}
.p-faq__question {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem 1.4375rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__question {
    padding: 1rem 0.75rem;
    flex-wrap: wrap;
    gap: 0.75rem;
  }
}
.p-faq__q-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #A3A394;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-faq__q-icon {
    flex: 0 0 1.75rem;
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.875rem;
  }
}
.p-faq__question-text {
  flex: 1;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 700;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-faq__question-text {
    font-size: 0.875rem;
  }
}
.p-faq__category-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 1.75rem;
  padding-inline: 0.625rem;
  min-width: 5.375rem;
  border-radius: 0.875rem;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #A3A394;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-faq__category-tag {
    position: absolute;
    top: -0.625rem;
    right: -0.375rem;
    margin-left: auto;
    font-size: 0.5625rem;
    padding-inline: 0.3125rem;
    min-width: 3.75rem;
  }
}
.p-faq__toggle {
  position: relative;
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 1.375rem;
}
.p-faq__toggle::before, .p-faq__toggle::after {
  content: "";
  position: absolute;
  background: #333333;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.p-faq__toggle::before {
  width: 0.875rem;
  height: 1px;
}
.p-faq__toggle::after {
  width: 1px;
  height: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-faq__toggle {
    width: 0.75rem;
    height: 0.75rem;
    margin-left: 0.25rem;
  }
}
.p-faq__item.is-open .p-faq__toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.p-faq__answer-text {
  padding: 0 1.4375rem 1.25rem 4.9375rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-faq__answer-text {
    padding: 0 1rem 1rem 1rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}
.p-faq__cta {
  margin-top: 5rem;
  padding-block: 3rem;
  background: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.06);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq__cta {
    margin-top: 3rem;
    padding-block: 2.25rem;
    padding-inline: 1.25rem;
  }
}
.p-faq__cta-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-faq__cta-title {
    font-size: 1.125rem;
  }
}
.p-faq__cta-desc {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__cta-desc {
    font-size: 0.875rem;
    margin-top: 1rem;
  }
}
.p-faq__cta-btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-faq__cta-btns {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.75rem;
  }
}
.p-faq__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15rem;
  height: 3.25rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
  border: 1px solid #A3A394;
  transition: all 0.2s ease-in-out;
}
.p-faq__cta-btn--filled {
  background: #A3A394;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-faq__cta-btn--filled:hover {
    opacity: 1;
    background: #FFFFFF;
    color: #A3A394;
  }
}
.p-faq__cta-btn--outline {
  background: #FFFFFF;
  color: #A3A394;
}
@media (any-hover: hover) {
  .p-faq__cta-btn--outline:hover {
    opacity: 1;
    background: #A3A394;
    color: #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__cta-btn {
    width: 12.5rem;
    height: 3rem;
  }
}
.p-footer {
  background: #E5E6DE;
}
.p-footer__inner {
  display: grid;
  grid-template-columns: 1fr 15rem 15rem 15rem;
  align-items: start;
  padding-block: 7.5rem 5rem;
}
.p-footer__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.p-footer__logo {
  display: block;
}
.p-footer__logo img {
  width: 13.125rem;
  height: auto;
}
.p-footer__address {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  line-height: 1.5rem;
  letter-spacing: 0.05em;
  color: #333333;
  font-style: normal;
  margin-top: 3rem;
}
.p-footer__sns {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
  margin-top: 2.5rem;
}
.p-footer__instagram, .p-footer__line {
  display: block;
}
.p-footer__instagram img, .p-footer__line img {
  width: 1.5rem;
  height: 1.5rem;
}
@media (any-hover: hover) {
  .p-footer__instagram:hover, .p-footer__line:hover {
    opacity: 0.7;
  }
}
.p-footer__nav {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.p-footer__nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-footer__nav-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-footer__nav-link:hover {
    opacity: 1;
  }
  .p-footer__nav-link:hover .p-footer__nav-ja {
    text-decoration: underline;
  }
}
.p-footer__nav-en {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #333333;
}
.p-footer__nav-ja {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.0833333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  color: #333333;
}
.p-footer__cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.p-footer__cta-btn {
  display: flex;
  align-items: center;
  width: 15rem;
  height: 3rem;
  border: 1px solid #333333;
  text-decoration: none;
  position: relative;
  flex-shrink: 0;
  transition: all 0.5s ease;
}
@media (any-hover: hover) {
  .p-footer__cta-btn:hover {
    opacity: 1;
    background: #F2F2F2;
  }
  .p-footer__cta-btn:hover .p-footer__cta-arrow {
    translate: 50% -50%;
  }
}
.p-footer__cta-icon {
  width: 1rem;
  height: 1rem;
  margin-left: 1.25rem;
  flex-shrink: 0;
}
.p-footer__cta-label {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333333;
  margin-left: 0.75rem;
  white-space: nowrap;
}
.p-footer__cta-arrow {
  width: 0.5rem;
  height: auto;
  position: absolute;
  right: 1rem;
  top: 50%;
  translate: 0 -50%;
  transition: all 0.2s ease;
}
.p-footer__bottom {
  border-top: 1px solid rgba(51, 51, 51, 0.2);
}
.p-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 1.75rem;
}
.p-footer__privacy {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333333;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.p-footer__copyright {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    display: flex;
    flex-direction: column;
    padding-block: 2rem 3rem;
  }
  .p-footer__sns {
    display: none;
  }
  .p-footer__address {
    margin-top: 1.5rem;
  }
  .p-footer__nav {
    grid-column: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    margin-top: 2.5rem;
  }
  .p-footer__nav-list {
    gap: 1.75rem;
  }
  .p-footer__nav-en {
    font-size: 1rem;
  }
  .p-footer__nav-ja {
    font-size: 0.6875rem;
  }
  .p-footer__cta {
    align-items: center;
    width: 100%;
    margin-top: 2.5rem;
  }
  .p-footer__cta-btn {
    width: 15rem;
  }
  .p-footer__bottom-inner {
    flex-direction: column;
    gap: 1rem;
    padding-block: 1.5rem;
  }
  .p-footer__copyright {
    font-size: 0.625rem;
    text-align: center;
  }
}
.p-top-banner__item {
  display: block;
  position: relative;
  height: 17.5rem;
  overflow: hidden;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-banner__item:hover {
    opacity: 1;
  }
  .p-top-banner__item:hover .p-top-banner__bg-img {
    transform: scale(1.03);
  }
  .p-top-banner__item:hover .p-top-banner__overlay {
    left: 100%;
  }
}
.p-top-banner__bg {
  position: absolute;
  inset: 0;
}
.p-top-banner__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-top-banner__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, rgba(90, 89, 60, 0.4) 4.41%, rgba(90, 89, 60, 0.2) 89.062%);
  transition: all 0.8s ease;
  z-index: 1;
}
.p-top-banner .l-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding-block-end: 4.375rem;
}
.p-top-banner__body {
  display: flex;
  flex-direction: column;
}
.p-top-banner__cursive {
  position: absolute;
  top: 1.375rem;
  right: 0;
  height: 5.5rem;
  width: auto;
}
.p-top-banner__heading {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.2222222222;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-top-banner__sub {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.5rem;
}
.p-top-banner__desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.75rem;
}
.p-top-banner__more {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-top-banner__item--cafe .p-top-banner__overlay {
    left: 0;
  }
  .p-top-banner .l-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1rem;
    padding-block-end: 0;
  }
  .p-top-banner__cursive {
    height: 1.625rem;
    margin-bottom: 0.5rem;
  }
  .p-top-banner__heading {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.1875;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-top-banner__sub {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 0.375rem;
  }
  .p-top-banner__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 0.5rem;
  }
}
.p-top-column {
  position: relative;
  padding-block: 7.5rem;
  overflow: hidden;
}
.p-top-column::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -10rem;
  left: -10rem;
  width: 46.5625rem;
  height: 46.5625rem;
}
.p-top-column__inner {
  position: relative;
  z-index: 1;
}
.p-top-column__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.p-top-column__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-top-column__link {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-column__link:hover {
    opacity: 1;
  }
  .p-top-column__link:hover .p-top-column__thumb-img {
    transform: scale(1.05);
  }
}
.p-top-column__thumb {
  height: 14.9375rem;
  overflow: hidden;
}
.p-top-column__thumb img {
  transition: transform 0.5s ease;
}
.p-top-column__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-column__thumb--noimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: solid 1px #F2F2F2;
}
.p-top-column__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
.p-top-column__date {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #888888;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-top-column__cat {
  display: inline-flex;
  align-items: center;
  height: 1rem;
  padding: 0.125rem 0.5rem;
  border: 1px solid #A3A394;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  color: #A3A394;
  white-space: nowrap;
}
.p-top-column__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 0.8125rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .p-top-column {
    padding-block: 5rem;
  }
  .p-top-column::before {
    top: -2.5rem;
    left: -2.5rem;
    width: 17.5rem;
    height: 17.5rem;
  }
  .p-top-column__inner {
    display: flex;
    flex-direction: column;
  }
  .p-top-column__head {
    display: contents;
  }
  .p-top-column .c-section-title {
    order: 1;
  }
  .p-top-column__list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    order: 2;
    margin-top: 2rem;
  }
  .p-top-column .c-link-more {
    order: 3;
    align-self: flex-end;
    margin-top: 2rem;
  }
  .p-top-column__meta {
    gap: 0.75rem;
    margin-top: 1rem;
  }
  .p-top-column__date {
    font-size: 0.75rem;
  }
  .p-top-column__title {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 0.5rem;
  }
}
.p-top-column .c-section-title {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.p-top-column__list {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition-delay: 0.4s;
}
.p-top-column.is-visible .c-section-title {
  opacity: 1;
  transform: translateY(0);
}
.p-top-column.is-visible .p-top-column__list {
  opacity: 1;
  transform: translateY(0);
}
.p-top-housing {
  position: relative;
  overflow: hidden;
  padding-block: 0;
}
.p-top-housing::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -2.5rem;
  right: -3.75rem;
  width: 34.0625rem;
  height: 34.125rem;
}
.p-top-housing__inner {
  position: relative;
  z-index: 1;
}
.p-top-housing__list {
  display: flex;
  gap: 1.5rem;
}
@media (any-hover: hover) {
  .p-top-housing__list:has(.p-top-housing__item--renovation:hover) .p-top-housing__item:first-child {
    flex: 1 0 0;
  }
  .p-top-housing__list:has(.p-top-housing__item--renovation:hover) .p-top-housing__item--renovation {
    flex: 0 0 40.9375rem;
  }
}
.p-top-housing__item {
  position: relative;
  transition: flex-basis 0.5s ease, flex-grow 0.5s ease;
}
.p-top-housing__item:first-child {
  flex: 0 0 40.9375rem;
}
.p-top-housing__item:last-child {
  flex: 1 0 0;
}
.p-top-housing__item--renovation .p-top-housing__cursive {
  width: 13.5625rem;
}
.p-top-housing__item--renovation .p-top-housing__body {
  left: 2.5rem;
}
.p-top-housing__link {
  display: block;
  position: relative;
  height: 35.625rem;
  overflow: hidden;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-housing__link:hover {
    opacity: 1;
  }
  .p-top-housing__link:hover .p-top-housing__overlay {
    opacity: 0.7;
  }
  .p-top-housing__link:hover .p-top-housing__thumb-img {
    transform: scale(1.05);
  }
}
.p-top-housing__thumb {
  position: absolute;
  inset: 0;
}
.p-top-housing__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-top-housing__overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 38, 9, 0.3);
  transition: opacity 0.5s ease-in-out;
}
.p-top-housing__cursive {
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  width: 16.0625rem;
  height: auto;
  pointer-events: none;
  z-index: 1;
}
.p-top-housing__body {
  position: absolute;
  left: 3rem;
  bottom: 3rem;
  z-index: 1;
}
.p-top-housing__badge {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #FFFFFF;
  height: 1.5rem;
  padding: 0 0.625rem;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  white-space: nowrap;
  z-index: 1;
}
.p-top-housing__en {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.2222222222;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
  white-space: nowrap;
  margin-block-start: 1.4375rem;
}
.p-top-housing__ja {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.5rem;
  white-space: nowrap;
}
.p-top-housing__desc {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 1.5rem;
}
.p-top-housing .c-link-more {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-housing {
    padding-block: 3.75rem;
  }
  .p-top-housing__inner {
    padding-inline: 0;
  }
  .p-top-housing::before {
    top: -1.25rem;
    right: -2.5rem;
    width: 17.5rem;
    height: 17.5rem;
  }
  .p-top-housing__list {
    flex-direction: column;
    gap: 0rem;
  }
  .p-top-housing__item:first-child, .p-top-housing__item:last-child {
    flex-basis: auto;
    flex: none;
    width: 100%;
  }
  .p-top-housing__item:first-child a {
    height: 24.375rem;
  }
  .p-top-housing__item:last-child a {
    height: 20.1875rem;
  }
  .p-top-housing__cursive {
    width: 10rem;
  }
  .p-top-housing__item--renovation .p-top-housing__cursive {
    width: 8.75rem;
  }
  .p-top-housing__body {
    left: 1.125rem;
    bottom: 2rem;
  }
  .p-top-housing__item--renovation .p-top-housing__body {
    left: 1.25rem;
  }
  .p-top-housing__en {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.21875;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-top-housing__ja {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4375;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-top-housing__desc {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1.5rem;
  }
  .p-top-housing .c-link-more {
    margin-top: 1.5rem;
  }
}
.p-top-housing__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #052609;
  opacity: 0.3;
  z-index: 5;
  transition: transform 0.9s cubic-bezier(0.76, 0, 0.24, 1);
  transform: translateX(-20%) skewX(-15deg);
}
.p-top-housing__item:nth-child(2) .p-top-housing__link::before {
  transition-delay: 0.15s;
}
.p-top-housing__item.is-visible .p-top-housing__link::before {
  transform: translateX(120%) skewX(-15deg);
}
.p-top-modelhouse {
  position: relative;
}
.p-top-modelhouse__link {
  display: block;
  position: relative;
  height: 35rem;
  overflow: hidden;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-top-modelhouse__link:hover {
    opacity: 1;
  }
  .p-top-modelhouse__link:hover .p-top-modelhouse__bg-img {
    transform: scale(1.05);
  }
}
.p-top-modelhouse__bg {
  position: absolute;
  inset: 0;
}
.p-top-modelhouse__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-top-modelhouse__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(5, 38, 9, 0.24) 10.625%, rgba(5, 38, 9, 0));
  z-index: 1;
}
.p-top-modelhouse .l-inner {
  position: relative;
}
.p-top-modelhouse__cursive {
  position: absolute;
  right: 0rem;
  top: 2.5rem;
  width: 16.875rem;
  height: auto;
  pointer-events: none;
  z-index: 2;
}
.p-top-modelhouse__body {
  position: absolute;
  left: 4rem;
  top: 9.3125rem;
  z-index: 2;
}
.p-top-modelhouse__label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-top-modelhouse__heading {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.75rem;
}
.p-top-modelhouse__desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 2.5rem;
}
.p-top-modelhouse__cs-overlay {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2px);
  background: linear-gradient(90deg, rgba(5, 5, 5, 0.2), rgba(5, 5, 5, 0.2)), linear-gradient(90deg, rgba(5, 38, 9, 0.3) 10.625%, rgba(5, 38, 9, 0));
  z-index: 10;
}
.p-top-modelhouse__cs-box {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 34.875rem;
  height: 20.625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
  z-index: 11;
}
.p-top-modelhouse__cs-heading {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2083333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #FFFFFF;
  text-align: center;
}
.p-top-modelhouse__cs-desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-modelhouse__link {
    height: 27.75rem;
  }
  .p-top-modelhouse__bg-img {
    object-position: left;
  }
  .p-top-modelhouse__overlay {
    background: linear-gradient(to right, rgba(5, 38, 9, 0.3) 10.625%, rgba(5, 38, 9, 0));
  }
  .p-top-modelhouse__cursive {
    right: 0.8125rem;
    top: 1.375rem;
    width: 10.5625rem;
  }
  .p-top-modelhouse__body {
    left: 1rem;
    top: 6rem;
  }
  .p-top-modelhouse__heading {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.2142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 0.6875rem;
  }
  .p-top-modelhouse__desc {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 2.3333333333;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-top: 1.3125rem;
    width: auto;
  }
  .p-top-modelhouse__cs-box {
    width: 22.375rem;
    height: 13.375rem;
    gap: 1.1875rem;
  }
  .p-top-modelhouse__cs-heading {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.1875;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-top-modelhouse__cs-desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
@keyframes p-top-mv-char-in {
  from {
    opacity: 0;
    transform: translateY(0.5em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-top-mv {
  width: 100%;
  height: calc(100vh - 5rem);
  position: relative;
  z-index: 0;
  overflow: hidden;
  min-height: 45rem;
  max-height: 56.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-mv {
    height: 42.5rem;
  }
}
.p-top-mv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 38, 9, 0.2);
  z-index: -1;
}
.p-top-mv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100vw;
  object-fit: cover;
  height: 100%;
  z-index: -1;
}
.p-top-mv__inner {
  width: 100%;
  position: absolute;
  inset: 0;
  padding-inline: 4rem;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  justify-content: center;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .p-top-mv__inner {
    padding-inline: 1rem;
  }
}
.p-top-mv__copy-main {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #FFFFFF;
}
.p-top-mv__copy-sub {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #FFFFFF;
  text-align: right;
}
.p-top-mv__char {
  display: inline-block;
  opacity: 0;
  will-change: transform, opacity;
  animation: p-top-mv-char-in 0.3s ease forwards;
}
.p-top-news {
  padding-block: 9.375rem 7.5rem;
  position: relative;
  overflow: hidden;
}
.p-top-news::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -9.375rem;
  left: -9.375rem;
  width: 46.5625rem;
  height: 46.625rem;
}
.p-top-news__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
}
.p-top-news__head {
  width: auto;
  flex-shrink: 0;
  padding-top: 0.625rem;
}
.p-top-news .c-link-more {
  margin-top: 2.5rem;
}
.p-top-news__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  max-width: 47rem;
}
.p-top-news .c-archive-item {
  border-bottom: 1px solid #F2F2F2;
}
.p-top-news .c-archive-item:last-child {
  border-bottom: none;
}
.p-top-news .c-archive-item:first-child .c-archive-item__link {
  padding-block-start: 0;
}
.p-top-news .c-archive-item__link {
  align-items: flex-start;
}
.p-top-news .c-archive-item__title {
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 767px) {
  .p-top-news {
    padding-block: 3.75rem;
  }
  .p-top-news::before {
    top: -7.5rem;
    left: -7.5rem;
    width: 34.0625rem;
    height: 34.125rem;
  }
  .p-top-news__inner {
    flex-direction: column;
    gap: 2rem;
  }
  .p-top-news__head {
    display: contents;
  }
  .p-top-news .c-link-more {
    order: 3;
    margin-block-start: 0rem;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: end;
  }
  .p-top-news__list {
    width: 100%;
  }
  .p-top-news .c-archive-item__link {
    column-gap: 0.75rem;
  }
  .p-top-news .c-archive-item__thumb {
    width: 25.642vw;
    height: auto;
    aspect-ratio: 100/72;
  }
  .p-top-news .c-archive-item__body {
    row-gap: 0.5rem;
  }
  .p-top-news .c-archive-item__title {
    -webkit-line-clamp: 2;
  }
}
.p-top-voice {
  position: relative;
  padding-block: 9.375rem;
  background: #F6F7F1;
  overflow: hidden;
}
.p-top-voice::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubble-orenge.webp) no-repeat center/contain;
  top: -2.5rem;
  left: -3.75rem;
  width: 34.0625rem;
  height: 34.125rem;
}
.p-top-voice__inner {
  position: relative;
  z-index: 1;
}
.p-top-voice__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.p-top-voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-top-voice__item {
  height: 100%;
}
.p-top-voice__link {
  display: block;
  text-decoration: none;
  height: 100%;
}
@media (any-hover: hover) {
  .p-top-voice__link:hover {
    opacity: 1;
  }
  .p-top-voice__link:hover .p-top-voice__img-src {
    transform: scale(1.05);
  }
}
.p-top-voice__img {
  height: 15.1875rem;
  overflow: hidden;
}
.p-top-voice__img-src {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-top-voice__body {
  background: #FFFFFF;
  padding: 1.25rem 1rem;
  height: calc(100% - 15.1875rem);
}
.p-top-voice__client {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4166666667;
  letter-spacing: 0.08em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #666666;
}
.p-top-voice__quote {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
  margin-top: 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-top-voice__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.03em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 1.25rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-voice {
    padding-block: 5.625rem 5rem;
  }
  .p-top-voice::before {
    top: -1.25rem;
    left: -2.5rem;
    width: 17.5rem;
    height: 17.5rem;
  }
  .p-top-voice__inner {
    display: flex;
    flex-direction: column;
  }
  .p-top-voice__head {
    display: contents;
  }
  .p-top-voice .c-section-title {
    order: 1;
  }
  .p-top-voice__list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    order: 2;
    margin-top: 2rem;
  }
  .p-top-voice .c-link-more {
    order: 3;
    align-self: flex-end;
    margin-top: 2rem;
  }
  .p-top-voice__img {
    height: 14.9375rem;
  }
  .p-top-voice__body {
    padding: 1rem 0.75rem;
  }
}
.p-top-voice .c-section-title {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.p-top-voice__list {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition-delay: 0.4s;
}
.p-top-voice.is-visible .c-section-title {
  opacity: 1;
  transform: translateY(0);
}
.p-top-voice.is-visible .p-top-voice__list {
  opacity: 1;
  transform: translateY(0);
}
.p-header {
  padding-inline: 4rem;
  height: 5rem;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  transition: background-color 0.2s ease;
}
.p-header.is-scrolled {
  background: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 767px) {
  .p-header {
    height: 4rem;
    padding-inline: 1rem;
  }
}
.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  z-index: 2;
}
.p-header__logo a {
  width: 16.386875rem;
  height: auto;
  overflow: hidden;
  position: relative;
}
.p-header__logo img {
  width: 16.386875rem;
  height: auto;
  object-fit: contain;
  transition: opacity 0.2s, visibility 0.2s;
}
.p-header__logo img.logo-white {
  position: absolute;
  inset: 0;
  margin: auto;
  visibility: hidden;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-header__logo img {
    width: 10.534375rem;
  }
}
@media screen and (min-width: 768px) {
  .p-header.drawer-open .p-header__logo img.logo-default {
    visibility: hidden;
    opacity: 0;
  }
  .p-header.drawer-open .p-header__logo img.logo-white {
    visibility: visible;
    opacity: 1;
  }
}
.p-header__content {
  display: flex;
  align-items: center;
  column-gap: 3.9375rem;
}
.p-header__links {
  display: flex;
  align-items: center;
  column-gap: 2.5rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header__links {
    display: none;
  }
}
.p-header.drawer-open .p-header__links {
  opacity: 0;
  pointer-events: none;
}
.p-header__link a {
  display: flex;
  align-items: center;
  column-gap: 0.25rem;
}
@media (any-hover: hover) {
  .p-header__link a:hover {
    opacity: 1;
  }
  .p-header__link a:hover p {
    text-decoration: underline;
  }
}
.p-header__link img {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
}
.p-header__link p {
  white-space: nowrap;
}
.p-header__btns {
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
.p-header__sns {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
}
.p-header__instagram img, .p-header__line img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-header__instagram img, .p-header__line img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-header__hamburger {
  position: relative;
}
.p-header__hamburger img {
  object-fit: contain;
  transition: opacity 0.2s, visibility 0.2s;
}
.p-header__hamburger img.menu {
  width: 3.375rem;
  height: 2.0625rem;
}
.p-header__hamburger img.close {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}
.p-header__hamburger.is-open img.menu {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}
.p-header__hamburger.is-open img.close {
  width: 3.375rem;
  height: 2.0625rem;
  visibility: visible;
  opacity: 1;
  translate: -10%;
}
.p-header__hamburger p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  margin-right: -0.2em;
  text-align: center;
  font-size: 0.9375rem;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    display: flex;
    align-items: center;
  }
  .p-header__hamburger img.menu {
    width: 2.96875rem;
    height: 1.75rem;
  }
  .p-header__hamburger.is-open img.menu {
    width: 0;
    height: 0;
    visibility: hidden;
    opacity: 0;
  }
  .p-header__hamburger.is-open img.close {
    width: 2.96875rem;
    height: 1.75rem;
    visibility: visible;
    opacity: 1;
    translate: -10%;
  }
}
.p-header__drawer {
  display: flex;
  align-items: start;
  column-gap: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  height: 100%;
  min-width: 100svh;
  pointer-events: none;
}
.p-header__drawer.is-open {
  pointer-events: auto;
}
.p-header__drawer-bg {
  width: calc(100vw - 62.5rem);
  height: 100%;
  object-fit: cover;
  transform: translateX(-100%);
}
.p-header__drawer.is-open .p-header__drawer-bg {
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .p-header__drawer-bg {
    display: none;
  }
}
.p-header__drawer-content {
  width: 100%;
  max-width: 62.5rem;
  padding-block: 8.25rem 1.75rem;
  padding-inline: 4rem;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 2.5rem;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  transform: translateX(100%);
  position: relative;
  z-index: 0;
}
.p-header__drawer.is-open .p-header__drawer-content {
  transform: translateX(0);
}
.p-header__drawer-content::-webkit-scrollbar {
  display: none;
}
.p-header__drawer-content::before {
  content: "";
  position: absolute;
  top: -12.5rem;
  right: -12.5rem;
  width: 46.5625rem;
  height: 46.625rem;
  background: url(../images/pale-bubbles.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}
.p-header__drawer-content::after {
  content: "";
  position: absolute;
  bottom: 0rem;
  left: -12.5rem;
  width: 46.5625rem;
  height: 34.125rem;
  background: url(../images/pale-bubbles.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-header__drawer-content {
    width: 100%;
    max-width: 100vw;
    padding-block: 5.625rem 1.5rem;
    padding-inline: 1rem;
  }
  .p-header__drawer-content::before {
    top: -9.375rem;
    right: -9.375rem;
    width: 40.9375rem;
    height: 40.9375rem;
  }
  .p-header__drawer-content::after {
    bottom: 0rem;
    left: -9.375rem;
    width: 40.9375rem;
    height: 27.875rem;
  }
}
.p-header__drawer-nav {
  display: flex;
  align-items: start;
  column-gap: 3.75rem;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-header__drawer-nav {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}
.p-header__drawer-list {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  width: 100%;
}
.p-header__drawer-item {
  min-width: 23.75rem;
  padding-block: 0 1rem;
  border-bottom: solid 1px #F2F2F2;
  position: relative;
}
.p-header__drawer-item:nth-last-of-type(1) {
  border-bottom: none;
}
.p-header__drawer-item span {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #A3A394;
}
.p-header__drawer-item p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  margin-block-start: 0.25rem;
  transition: all 0.2s ease;
}
.p-header__drawer-item::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0;
  translate: 0 -50%;
  width: 0.6875rem;
  height: 0.5rem;
  background: url("data:image/svg+xml,%3csvg%20width='11'%20height='8'%20viewBox='0%200%2011%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.85435%208C6.49498%206.64161%206.98263%205.5999%207.56984%204.86527L7.77005%204.6019H0V3.4237H7.78334L7.58326%203.16033C6.99591%202.4257%206.49498%201.37226%205.85435%200H6.07278C7.3406%201.64948%209.43843%202.95242%2011%203.78409V4.21379C9.46514%205.04546%207.38072%206.32068%206.00595%207.99788L5.85435%208Z'%20fill='%23A3A394'/%3e%3c/svg%3e") no-repeat center center/contain;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .p-header__drawer-item:hover a {
    opacity: 1;
  }
  .p-header__drawer-item:hover p {
    color: #A3A394;
  }
  .p-header__drawer-item:hover::after {
    translate: 50% -50%;
  }
}
@media screen and (max-width: 767px) {
  .p-header__drawer-item {
    width: 100%;
    min-width: auto;
  }
  .p-header__drawer-item:nth-last-of-type(1) {
    border-bottom: solid 1px #F2F2F2;
  }
  .p-header__drawer-item span {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-header__drawer-item p {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.2222222222;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-header__drawer-menu {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-header__drawer-menu {
    row-gap: 1.25rem;
    width: 100%;
  }
}
.p-header__drawer-menu-item {
  position: relative;
}
.p-header__drawer-menu-item a {
  min-width: 23.75rem;
  padding-block: 1.25rem;
  padding-inline: 1.5rem;
  background: #F2F2F2;
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.p-header__drawer-menu-item img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}
.p-header__drawer-menu-item .text-wrap span {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.p-header__drawer-menu-item .text-wrap p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.p-header__drawer-menu-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  translate: 0 -50%;
  width: 0.6875rem;
  height: 0.5rem;
  background: url("data:image/svg+xml,%3csvg%20width='11'%20height='8'%20viewBox='0%200%2011%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.85435%208C6.49498%206.64161%206.98263%205.5999%207.56984%204.86527L7.77005%204.6019H0V3.4237H7.78334L7.58326%203.16033C6.99591%202.4257%206.49498%201.37226%205.85435%200H6.07278C7.3406%201.64948%209.43843%202.95242%2011%203.78409V4.21379C9.46514%205.04546%207.38072%206.32068%206.00595%207.99788L5.85435%208Z'%20fill='%23A3A394'/%3e%3c/svg%3e") no-repeat center center/contain;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .p-header__drawer-menu-item:hover a {
    opacity: 1;
    background: #ddd;
  }
  .p-header__drawer-menu-item:hover::after {
    translate: 50% -50%;
  }
}
@media screen and (max-width: 767px) {
  .p-header__drawer-menu-item a {
    width: 100%;
    min-width: auto;
    padding-block: 0.8125rem;
    padding-inline: 1.5rem 1.25rem;
  }
  .p-header__drawer-menu-item .text-wrap span {
    font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
    color: #A3A394;
  }
  .p-header__drawer-menu-item .text-wrap p {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-header__drawer-menu-item::after {
    right: 1.25rem;
  }
}
.p-header__drawer-foot {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-header__drawer-foot a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-header__drawer-foot a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .p-header__drawer-foot {
    flex-direction: column;
    row-gap: 2.0625rem;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
}
.p-header__copyright {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #888888;
}
.p-model-house-access {
  position: relative;
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
}
.p-model-house-access::before, .p-model-house-access::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
}
.p-model-house-access::before {
  width: 31.25rem;
  height: 31.25rem;
  top: -5rem;
  left: -7.5rem;
}
.p-model-house-access::after {
  width: 26.25rem;
  height: 26.25rem;
  top: 5rem;
  left: 3.75rem;
}
.p-model-house-access__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
}
.p-model-house-access__head {
  flex: 0 0 28.8125rem;
  padding-top: 3rem;
}
.p-model-house-access__body {
  flex: 1;
  min-width: 0;
}
.p-model-house-access__map {
  width: 100%;
}
.p-model-house-access__map iframe {
  display: block;
  width: 100%;
  height: 25.9375rem;
  border: none;
  filter: grayscale(1);
}
.p-model-house-access__foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  margin-top: 2rem;
}
.p-model-house-access__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-model-house-access__details {
  margin-top: 0.75rem;
}
.p-model-house-access__details p {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.p-model-house-access__map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-shrink: 0;
  width: 12.5rem;
  height: 2.25rem;
  border: 1px solid #cecece;
  background: transparent;
  text-decoration: none;
  transition: opacity 0.2s;
  margin-top: 0.5rem;
}
@media (any-hover: hover) {
  .p-model-house-access__map-link:hover {
    opacity: 0.6;
  }
}
.p-model-house-access__map-link-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #adadad;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-model-house-access__map-link-arrow {
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  border-top: 1px solid #adadad;
  border-right: 1px solid #adadad;
  rotate: 45deg;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-model-house-access {
    padding-block: 4rem 5rem;
  }
  .p-model-house-access::before {
    width: 20rem;
    height: 20rem;
    top: -3.75rem;
    left: -5rem;
  }
  .p-model-house-access::after {
    width: 17.5rem;
    height: 17.5rem;
    top: 2.5rem;
    left: 1.25rem;
  }
  .p-model-house-access__inner {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-model-house-access__head {
    flex: none;
    width: 100%;
    padding-top: 0;
  }
  .p-model-house-access__map iframe {
    height: 17.5rem;
  }
  .p-model-house-access__foot {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-model-house-access__details p {
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
  .p-model-house-access__map-link {
    align-self: flex-start;
    margin-top: 0;
  }
}
.p-model-house-banner {
  position: relative;
  height: 30rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-model-house-banner__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-model-house-banner__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-model-house-banner__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-model-house-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(90, 89, 60, 0.4) 4.41%, rgba(90, 89, 60, 0.2) 89%);
}
.p-model-house-banner__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  padding-inline: 1.25rem;
}
.p-model-house-banner__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-model-house-banner__desc {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
.p-model-house-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-width: 15rem;
  height: 3rem;
  padding-inline: 1.5rem;
  border: 1px solid #FFFFFF;
  background: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  text-decoration: none;
  margin-top: 2rem;
  transition: background 0.3s ease;
}
@media (any-hover: hover) {
  .p-model-house-banner__btn:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.25);
  }
}
.p-model-house-banner__btn-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  filter: brightness(0) invert(1);
}
.p-model-house-banner__btn-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-model-house-banner__btn-arrow {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  rotate: 45deg;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-model-house-banner {
    height: 22.5rem;
  }
  .p-model-house-banner__title {
    font-size: 1.375rem;
  }
  .p-model-house-banner__desc {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1rem;
  }
  .p-model-house-banner__desc br {
    display: none;
  }
  .p-model-house-banner__btn {
    margin-top: 1.5rem;
  }
}
.p-model-house__block {
  padding-block: 5rem;
}
.p-model-house__block:nth-child(2n) {
  background: #F6F7F1;
}
.p-model-house__block:nth-child(2n) .p-model-house__inner {
  flex-direction: row-reverse;
}
.p-model-house__block:nth-child(2n) .p-model-house__list {
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-model-house__block {
    padding-block: 3rem;
  }
  .p-model-house__block:nth-child(2n) .p-model-house__inner {
    flex-direction: column;
  }
}
.p-model-house__inner {
  display: flex;
  align-items: center;
  gap: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-model-house__inner {
    flex-direction: column;
    gap: 0;
  }
}
.p-model-house__img {
  flex: 0 0 34.75rem;
}
.p-model-house__img picture {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-model-house__img {
    flex: none;
    width: 100%;
    order: 3;
    margin-top: 1.5rem;
  }
}
.p-model-house__img-src {
  display: block;
  width: 100%;
  aspect-ratio: 558/400;
  object-fit: cover;
}
.p-model-house__text {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-model-house__text {
    display: contents;
  }
}
.p-model-house__num {
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 600;
  color: #A3A394;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-model-house__num {
    font-size: 3rem;
    order: 1;
  }
}
.p-model-house__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-model-house__title {
    font-size: 1.375rem;
    margin-top: 0.75rem;
    order: 2;
  }
}
.p-model-house__body {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-model-house__body {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1rem;
    order: 4;
  }
}
.p-model-house__list {
  list-style: none;
  padding: 1.25rem 1.5rem;
  background: #f8f8f8;
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-model-house__list {
    margin-top: 1.5rem;
    order: 5;
  }
}
.p-model-house__list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-model-house__list-dot {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #A3A394;
  flex-shrink: 0;
}
.p-model-house__list-text {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
}
.p-privacy-policy {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy {
    padding-block: 3rem 5rem;
  }
}
.p-privacy-policy__content h2 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content h2 {
    font-size: 1.25rem;
  }
}
.p-privacy-policy__content h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content h3 {
    font-size: 1.125rem;
  }
}
.p-privacy-policy__content h4 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content h4 {
    font-size: 1rem;
  }
}
.p-privacy-policy__content p {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content p {
    font-size: 0.875rem;
  }
}
.p-privacy-policy__content ul,
.p-privacy-policy__content ol {
  padding-inline-start: 1.25rem;
}
.p-privacy-policy__content ul li,
.p-privacy-policy__content ol li {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content ul li,
  .p-privacy-policy__content ol li {
    font-size: 0.875rem;
  }
}
.p-privacy-policy__content ul li + li,
.p-privacy-policy__content ol li + li {
  margin-block-start: 0.5rem;
}
.p-privacy-policy__content ul {
  list-style-type: disc;
}
.p-privacy-policy__content ol {
  list-style-type: decimal;
}
.p-privacy-policy__content * + h2,
.p-privacy-policy__content * + h3,
.p-privacy-policy__content * + h4 {
  margin-block-start: 3rem;
}
.p-privacy-policy__content h2 + p,
.p-privacy-policy__content h2 + ul,
.p-privacy-policy__content h2 + ol,
.p-privacy-policy__content h3 + p,
.p-privacy-policy__content h3 + ul,
.p-privacy-policy__content h3 + ol,
.p-privacy-policy__content h4 + p,
.p-privacy-policy__content h4 + ul,
.p-privacy-policy__content h4 + ol {
  margin-block-start: 1.25rem;
}
.p-privacy-policy__content p + p,
.p-privacy-policy__content p + ul,
.p-privacy-policy__content p + ol,
.p-privacy-policy__content ul + p,
.p-privacy-policy__content ol + p {
  margin-block-start: 1rem;
}
.p-recruit-banner__link {
  display: block;
  position: relative;
  padding-block: 7.5rem;
  overflow: hidden;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-recruit-banner__link:hover {
    opacity: 1;
  }
  .p-recruit-banner__link:hover .p-recruit-banner__bg-img {
    transform: scale(1.03);
  }
  .p-recruit-banner__link:hover .p-recruit-banner__overlay {
    left: 100%;
  }
}
.p-recruit-banner__bg {
  position: absolute;
  inset: 0;
}
.p-recruit-banner__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-recruit-banner__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(90deg, rgba(90, 89, 60, 0.4) 4.41%, rgba(90, 89, 60, 0.2) 89.06%);
  transition: left 0.8s ease;
  z-index: 1;
}
.p-recruit-banner__inner {
  position: relative;
  z-index: 2;
  text-align: center;
}
.p-recruit-banner__heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-recruit-banner__text {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 1.5rem;
}
.p-recruit-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 15rem;
  height: 3.25rem;
  margin-top: 3rem;
  border: 1px solid #FFFFFF;
  background: rgba(255, 255, 255, 0.1);
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.05em;
}
.p-recruit-banner__btn-arrow {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-banner__link {
    padding-block: 5rem;
  }
  .p-recruit-banner__heading {
    font-size: 1.375rem;
  }
  .p-recruit-banner__text {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1.25rem;
  }
  .p-recruit-banner__btn {
    margin-top: 2rem;
    width: 12.5rem;
  }
}
.p-recruit-benefits {
  background: #F6F7F1;
  padding-block: 6.25rem 7.5rem;
}
.p-recruit-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  margin-top: 3.5rem;
}
.p-recruit-benefits__item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  background: #FFFFFF;
  padding: 1.5rem;
}
.p-recruit-benefits__icon {
  flex: 0 0 4rem;
  width: 4rem;
  height: 4rem;
  background: #F6F7F1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-recruit-benefits__icon img {
  display: block;
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}
.p-recruit-benefits__icon--dashicon .dashicons {
  font-size: 1.75rem;
  width: 1.75rem;
  height: 1.75rem;
  color: #A3A394;
}
.p-recruit-benefits__body {
  flex: 1;
  min-width: 0;
}
.p-recruit-benefits__heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #A3A394;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-recruit-benefits__content {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-benefits {
    padding-block: 4rem 5rem;
  }
  .p-recruit-benefits__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2.5rem;
  }
  .p-recruit-benefits__item {
    padding: 1rem;
    column-gap: 1rem;
  }
  .p-recruit-benefits__icon {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
  }
  .p-recruit-benefits__icon img {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-recruit-benefits__icon--dashicon .dashicons {
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
  }
  .p-recruit-benefits__heading {
    font-size: 1rem;
  }
  .p-recruit-benefits__content {
    font-size: 0.8125rem;
    line-height: 1.7em;
    margin-block-start: 0.75rem;
  }
}
.p-recruit-interview {
  padding-block: 6.25rem 7.5rem;
}
.p-recruit-interview__slider-outer {
  margin-top: 3.5rem;
}
.p-recruit-interview__slider-inner {
  position: relative;
}
.p-recruit-interview__splide .splide__list {
  align-items: stretch;
}
.p-recruit-interview__splide .splide__slide {
  display: flex;
}
.p-recruit-interview__arrow {
  position: absolute;
  top: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #A3A394;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: opacity 0.2s;
}
.p-recruit-interview__arrow img {
  display: block;
  width: 1rem;
  height: 1rem;
}
.p-recruit-interview__arrow--prev {
  left: 2.5rem;
}
.p-recruit-interview__arrow--prev img {
  rotate: 180deg;
}
.p-recruit-interview__arrow--next {
  right: 2.5rem;
}
@media (any-hover: hover) {
  .p-recruit-interview__arrow:hover {
    opacity: 0.7;
  }
}
.p-recruit-interview__card {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-recruit-interview__card-photo-img {
  display: block;
  width: 100%;
  height: 15rem;
  object-fit: cover;
}
.p-recruit-interview__card-body {
  flex: 1;
  background: #fafafa;
  padding: 1.25rem 0.75rem;
}
.p-recruit-interview__card-position {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #808080;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-recruit-interview__card-name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.05em;
  margin-top: 0.25rem;
}
.p-recruit-interview__card-qa {
  background: #FFFFFF;
  padding: 0.75rem 1rem;
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-recruit-interview__card-question {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #A3A394;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-recruit-interview__card-answer {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #374151;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-interview {
    padding-block: 4rem 5rem;
  }
  .p-recruit-interview__card-photo-img {
    height: auto;
    aspect-ratio: 3/2;
  }
  .p-recruit-interview__arrow {
    top: 50%;
    width: 2.5rem;
    height: 2.5rem;
    translate: 0 -200%;
  }
  .p-recruit-interview__arrow--prev {
    left: 0.25rem;
  }
  .p-recruit-interview__arrow--next {
    right: 0.25rem;
  }
}
.p-recruit-intro {
  position: relative;
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
  text-align: center;
}
.p-recruit-intro__deco {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.avif) no-repeat center/contain;
}
.p-recruit-intro__deco--tl {
  width: 31.25rem;
  height: 31.25rem;
  top: -5rem;
  left: -7.5rem;
}
.p-recruit-intro__deco--tr {
  width: 27.5rem;
  height: 27.5rem;
  top: 3.75rem;
  right: -6.25rem;
}
.p-recruit-intro__inner {
  position: relative;
  z-index: 1;
}
.p-recruit-intro__heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #212121;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
}
.p-recruit-intro__line {
  width: 5rem;
  height: 0.125rem;
  background: #A3A394;
  margin: 1.75rem auto 0;
}
.p-recruit-intro__text {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-intro {
    padding-block: 4rem 5rem;
  }
  .p-recruit-intro__deco--tl {
    width: 18.75rem;
    height: 18.75rem;
    top: -2.5rem;
    left: -5rem;
  }
  .p-recruit-intro__deco--tr {
    width: 17.5rem;
    height: 17.5rem;
    top: 2.5rem;
    right: -3.75rem;
  }
  .p-recruit-intro__heading {
    font-size: 1.3125rem;
    line-height: 1.5454545455;
  }
  .p-recruit-intro__line {
    margin-top: 1.25rem;
  }
  .p-recruit-intro__text {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 470px) {
  .p-recruit-intro__text {
    text-align: left;
  }
}
.p-recruit-message {
  position: relative;
  padding-block: 6.25rem 7.5rem;
  overflow: hidden;
}
.p-recruit-message::before {
  content: "";
  position: absolute;
  top: 26.625rem;
  left: 18.6875rem;
  width: 27.0625rem;
  height: 21.8125rem;
  background: #F6F7F1;
  z-index: 0;
  pointer-events: none;
}
.p-recruit-message__inner {
  position: relative;
  z-index: 1;
}
.p-recruit-message__body {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 3.5rem;
}
.p-recruit-message__photo {
  flex: 0 0 24.25rem;
}
.p-recruit-message__photo-img {
  display: block;
  width: 100%;
  height: 32.375rem;
  object-fit: cover;
}
.p-recruit-message__text {
  flex: 1;
  min-width: 0;
  padding-top: 0.125rem;
}
.p-recruit-message__heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #212121;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
.p-recruit-message__desc {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 2.5rem;
}
.p-recruit-message__desc br + br {
  display: block;
  content: "";
  margin-top: 1.5rem;
}
.p-recruit-message__name {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-message {
    padding-block: 4rem 5rem;
  }
  .p-recruit-message::before {
    display: none;
  }
  .p-recruit-message__body {
    flex-direction: column;
    gap: 2rem;
    margin-top: 2.5rem;
  }
  .p-recruit-message__photo {
    flex: none;
    width: 100%;
    max-width: 23.75rem;
    margin-inline: auto;
  }
  .p-recruit-message__photo-img {
    height: auto;
    aspect-ratio: 1;
    object-position: 50% 35%;
  }
  .p-recruit-message__heading {
    font-size: 1.375rem;
  }
  .p-recruit-message__desc {
    font-size: 0.875rem;
    line-height: 1.8571428571;
    margin-top: 1.5rem;
  }
  .p-recruit-message__name {
    font-size: 0.875rem;
  }
}
.p-recruit-positions {
  background: #F6F7F1;
  padding-block: 6.25rem 7.5rem;
}
.p-recruit-positions__tabs {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3.5rem;
  column-gap: 0.5rem;
  row-gap: 0;
  justify-content: center;
  padding-inline: 1rem;
}
.p-recruit-positions__tabs.has-many {
  justify-content: flex-start;
}
.p-recruit-positions__tab {
  flex: 1 1 16.25rem;
  max-width: 16.25rem;
  height: 3.5rem;
  padding-inline: 1rem;
  background: #f3f3f3;
  border: none;
  cursor: pointer;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  text-align: center;
  transition: background 0.2s, color 0.2s;
  border-bottom: solid 1px #FFFFFF;
}
.p-recruit-positions__tab.is-active {
  background: #A3A394;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-recruit-positions__tab:not(.is-active):hover {
    background: #e6e6e6;
  }
}
.p-recruit-positions__tab-spacer {
  flex: 1 1 16.25rem;
  max-width: 16.25rem;
  height: 0;
  visibility: hidden;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-recruit-positions__tab-spacer {
    flex: 1 1 calc(33.333% - 0.375rem);
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-positions__tab-spacer--pc-only {
    display: none;
  }
}
@media (min-width: 769px) {
  .p-recruit-positions__tab-spacer--sp-only {
    display: none;
  }
}
.p-recruit-positions__panel {
  background: #FFFFFF;
  padding: 2.5rem 3.5rem 3.5rem;
}
.p-recruit-positions__panel-tag {
  display: inline-flex;
  align-items: center;
  height: 1.75rem;
  padding-inline: 0.8125rem;
  border: 1px solid #A3A394;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #A3A394;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-recruit-positions__panel-heading {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  margin-top: 0.6875rem;
}
.p-recruit-positions__panel-body {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  margin-top: 1rem;
}
.p-recruit-positions__panel-photo {
  flex: 0 0 22.4375rem;
  align-self: flex-start;
  margin-top: 1.5rem;
}
.p-recruit-positions__panel-photo-img {
  display: block;
  width: 100%;
  height: 14.9375rem;
  object-fit: cover;
}
.p-recruit-positions__table {
  flex: 1;
  min-width: 0;
}
.p-recruit-positions__row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding-block: 1.5rem;
  border-top: 1px solid #F2F2F2;
}
.p-recruit-positions__row:last-child {
  border-bottom: 1px solid #F2F2F2;
}
.p-recruit-positions__term {
  flex: 0 0 8.625rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #808080;
  letter-spacing: 0.05em;
  line-height: 2;
  padding-top: 0.125rem;
}
.p-recruit-positions__desc {
  flex: 1;
  min-width: 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.p-recruit-positions__desc--muted {
  color: #A3A394;
}
.p-recruit-positions__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.p-recruit-positions__list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-recruit-positions__list-dot {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #A3A394;
  flex-shrink: 0;
}
.p-recruit-positions__apply {
  margin-top: 3rem;
  text-align: center;
}
.p-recruit-positions__apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15rem;
  height: 3.25rem;
  border: 1px solid #A3A394;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #A3A394;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
@media (any-hover: hover) {
  .p-recruit-positions__apply-btn:hover {
    background: #A3A394;
    color: #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-positions {
    padding-block: 4rem 5rem;
  }
  .p-recruit-positions__tabs {
    margin-top: 2.5rem;
    padding-inline: 0rem;
  }
  .p-recruit-positions__tab {
    flex: 1 1 calc(33.333% - 0.375rem);
    font-size: 0.75rem;
    height: 3rem;
    line-height: 1.5em;
    padding-inline: 0.375rem;
  }
  .p-recruit-positions__panel {
    padding: 2.5rem 1.5rem;
  }
  .p-recruit-positions__panel-tag {
    font-size: 0.875rem;
  }
  .p-recruit-positions__panel-heading {
    font-size: 1.125rem;
  }
  .p-recruit-positions__panel-body {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
  .p-recruit-positions__panel-photo {
    flex: none;
    width: 100%;
    margin-top: 0;
  }
  .p-recruit-positions__panel-photo-img {
    height: 12.5rem;
  }
  .p-recruit-positions__table {
    order: 2;
  }
  .p-recruit-positions__row {
    flex-direction: column;
    gap: 0.5rem;
    padding-block: 1rem;
  }
  .p-recruit-positions__term {
    flex: none;
  }
  .p-recruit-positions__desc {
    font-size: 0.8125rem;
    line-height: 1.7em;
  }
  .p-recruit-positions__apply-btn {
    width: 12.5rem;
  }
}
.p-renovation-menu {
  position: relative;
  padding-block: 5rem 0rem;
  overflow: hidden;
}
.p-renovation-menu::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubbles.webp) no-repeat center/contain;
  top: -2.5rem;
  left: -3.75rem;
  width: 34.0625rem;
  height: 34.125rem;
}
.p-renovation-menu::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background: url(../images/pale-bubble-orenge.webp) no-repeat center/contain;
  bottom: -3.75rem;
  right: -3.75rem;
  width: 34.0625rem;
  height: 34.125rem;
}
.p-renovation-menu__deco {
  position: absolute;
  left: 0;
  top: 18.75rem;
  width: 26.0625rem;
  height: 23.75rem;
  background: #F6F7F1;
  z-index: 0;
  pointer-events: none;
}
.p-renovation-menu__inner {
  position: relative;
  z-index: 1;
}
.p-renovation-menu__head {
  margin-bottom: 3rem;
}
.p-renovation-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-renovation-menu__card {
  display: block;
  position: relative;
  width: 100%;
  height: 14.8125rem;
  overflow: hidden;
  cursor: pointer;
  border: none;
  padding: 0;
  background: transparent;
  text-align: center;
}
.p-renovation-menu__card::after {
  content: "";
  position: absolute;
  inset: 0.625rem;
  border: 1px solid #FFFFFF;
  pointer-events: none;
  z-index: 2;
}
@media (any-hover: hover) {
  .p-renovation-menu__card:hover .p-renovation-menu__overlay {
    opacity: 0.7;
  }
  .p-renovation-menu__card:hover .p-renovation-menu__card-img {
    transform: scale(1.05);
  }
}
.p-renovation-menu__thumb {
  position: absolute;
  inset: 0;
}
.p-renovation-menu__thumb picture,
.p-renovation-menu__thumb img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-renovation-menu__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-renovation-menu__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(90, 89, 60, 0.4) 4.41%, rgba(90, 89, 60, 0.2) 89.06%);
  transition: opacity 0.4s ease;
  z-index: 1;
}
.p-renovation-menu__watermark {
  position: absolute;
  top: 1rem;
  right: 1rem;
  height: auto;
  pointer-events: none;
  z-index: 2;
}
.p-renovation-menu__watermark--01 {
  width: 9.6875rem;
}
.p-renovation-menu__watermark--02 {
  width: 6.5625rem;
}
.p-renovation-menu__watermark--03 {
  width: 9.3125rem;
}
.p-renovation-menu__watermark--04 {
  width: 7.3125rem;
}
.p-renovation-menu__watermark--05 {
  width: 8.5625rem;
}
.p-renovation-menu__watermark--06 {
  width: 7.375rem;
}
.p-renovation-menu__body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
  padding-bottom: 1.75rem;
  padding-inline: 0.75rem;
}
.p-renovation-menu__title {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
}
.p-renovation-menu__subtitle {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #FFFFFF;
  margin-top: 0.5rem;
}
.p-renovation-menu__icon {
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  z-index: 3;
  pointer-events: none;
  border: solid 1px #FFFFFF;
  border-radius: 999px;
}
.p-renovation-menu__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 0.9375rem;
  height: 0.9375rem;
  background: url("data:image/svg+xml,%3csvg%20fill='none'%20height='16'%20viewBox='0%200%2016%2016'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20clip-rule='evenodd'%20d='m9.24143%201.37609c-.3678.00342-.66327.31286-.65993.69116.00333.3783.30413.68222.67193.67881l3.12357-.02895-4.4995%204.62806c-.26007.26753-.26007.70126%200%20.96873.26006.26753.68173.26753.94186%200l4.49944-4.62803-.0282%203.21276c-.0033.37834.2922.68774.66.6912.3678.0034.6686-.30053.6719-.67886l.0429-4.88776c.0016-.1838-.0687-.36056-.1951-.49054-.1263-.12998-.2982-.20226-.4769-.20061zm-7.24343.2741c-.3678%200-.66597.30669-.66597.68501v11.6452c0%20.3783.29817.685.66597.685h11.9875c.3679%200%20.666-.3067.666-.685v-3.4251c0-.3783-.2981-.685-.666-.685-.3678%200-.6659.3067-.6659.685v2.7401h-10.65562v-10.27519h2.99688c.36781%200%20.66597-.30669.66597-.68501s-.29816-.68501-.66597-.68501z'%20fill='%23fff'%20fill-rule='evenodd'/%3e%3c/svg%3e") no-repeat center center/contain;
}
.p-renovation-menu__cta {
  position: relative;
  z-index: 1;
  margin-top: 3.75rem;
  background: #e9e9db;
  padding-block: 1.75rem;
  padding-inline: 4rem;
}
.p-renovation-menu__cta-box {
  max-width: 1268px;
  margin: 0 auto;
  background: #FFFFFF;
  padding: 1.5rem 2.5rem;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  justify-content: center;
}
.p-renovation-menu__cta-text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  flex-shrink: 0;
}
.p-renovation-menu__cta-tel {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
.p-renovation-menu__cta-number {
  display: block;
  flex-shrink: 0;
}
.p-renovation-menu__cta-number img {
  display: block;
  height: 3rem;
  width: auto;
}
.p-renovation-menu__cta-hours {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #5F5F5F;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-renovation-menu {
    padding-block: 3.75rem 0rem;
  }
  .p-renovation-menu::before {
    top: -2.5rem;
    left: -2.5rem;
    width: 18.75rem;
    height: 18.75rem;
  }
  .p-renovation-menu::after {
    bottom: -2.5rem;
    right: -2.5rem;
    width: 18.75rem;
    height: 18.75rem;
  }
  .p-renovation-menu__deco {
    width: 15rem;
    height: 12.5rem;
    top: 10rem;
  }
  .p-renovation-menu__head {
    margin-bottom: 2rem;
  }
  .p-renovation-menu__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  .p-renovation-menu__card {
    height: 12.5rem;
  }
  .p-renovation-menu__watermark {
    top: 0.75rem;
    right: 0.75rem;
  }
  .p-renovation-menu__watermark--01 {
    width: 5.625rem;
  }
  .p-renovation-menu__watermark--02 {
    width: 3.875rem;
  }
  .p-renovation-menu__watermark--03 {
    width: 5.5rem;
  }
  .p-renovation-menu__watermark--04 {
    width: 4.375rem;
  }
  .p-renovation-menu__watermark--05 {
    width: 5rem;
  }
  .p-renovation-menu__watermark--06 {
    width: 4.375rem;
  }
  .p-renovation-menu__title {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.4444444444;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-renovation-menu__subtitle {
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.6363636364;
    letter-spacing: 0.03em;
    margin-right: -0.05em;
  }
  .p-renovation-menu__icon {
    width: 1.75rem;
    height: 1.75rem;
    bottom: 1rem;
    right: 1rem;
  }
  .p-renovation-menu__icon::after {
    width: 0.75rem;
    height: 0.75rem;
  }
  .p-renovation-menu__cta {
    margin-top: 2.5rem;
    padding-inline: 1rem;
  }
  .p-renovation-menu__cta-box {
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem 1.25rem;
    text-align: center;
  }
  .p-renovation-menu__cta-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-renovation-menu__cta-tel {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
  .p-renovation-menu__cta-number img {
    height: 2.5rem;
  }
  .p-renovation-menu__cta-hours {
    width: 100%;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-right: -0.05em;
  }
}
.p-renovation-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.98);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.p-renovation-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.p-renovation-modal__close {
  position: absolute;
  top: 3.75rem;
  right: 3.75rem;
  width: 3.5rem;
  height: 3.5rem;
  background: transparent;
  border: 1px solid rgba(51, 51, 51, 0.3);
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
  padding: 0;
  flex-shrink: 0;
}
.p-renovation-modal__close::before, .p-renovation-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background: #999;
}
.p-renovation-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-renovation-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (any-hover: hover) {
  .p-renovation-modal__close:hover {
    opacity: 0.6;
  }
}
.p-renovation-modal__scroll {
  height: 100%;
  overflow-y: auto;
  scrollbar-width: none;
}
.p-renovation-modal__scroll::-webkit-scrollbar {
  display: none;
}
.p-renovation-modal__body {
  max-width: 1268px;
  margin: 0 auto;
  padding-block: 6.25rem 5rem;
  padding-inline: 4rem;
  height: 100%;
  align-content: center;
}
.p-renovation-modal__header {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}
.p-renovation-modal__catchphrase {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
}
.p-renovation-modal__separator {
  width: 100%;
  height: 1px;
  background: #d0d0d0;
}
.p-renovation-modal__cols {
  display: flex;
  gap: 2.625rem;
  align-items: flex-start;
  padding-bottom: 5rem;
}
.p-renovation-modal__col-left {
  flex: 0 0 34.375rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-renovation-modal__col-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-renovation-modal__col-label {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
}
.p-renovation-modal__col-desc {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8571428571;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
}
.p-renovation-modal__col-img picture,
.p-renovation-modal__col-img img {
  display: block;
  width: 100%;
}
.p-renovation-modal__col-img img {
  object-fit: cover;
}
.p-renovation-modal__price {
  border: 1px solid #d0d0d0;
  padding: 1.5rem 1.25rem 1.25rem;
}
.p-renovation-modal__price-heading {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
}
.p-renovation-modal__price-line {
  height: 1px;
  background: #d0d0d0;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.p-renovation-modal__price-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.p-renovation-modal__price-item {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.p-renovation-modal__price-label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
}
.p-renovation-modal__price-amount {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  flex-shrink: 0;
  white-space: nowrap;
}
.p-renovation-modal__price-amount em {
  font-size: 1.25rem;
  font-style: normal;
  margin-inline: 0.25rem;
}
.p-renovation-modal__price-note {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #808080;
  margin-top: 1rem;
}
.p-renovation-modal__footer {
  margin-top: 2rem;
  text-align: center;
}
.p-renovation-modal__cases-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid #A3A394;
  height: 3rem;
  width: 15rem;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0.035em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #A3A394;
  transition: all 0.2s ease;
  position: relative;
}
@media (any-hover: hover) {
  .p-renovation-modal__cases-link:hover {
    background-color: #E5E6DE;
  }
  .p-renovation-modal__cases-link:hover .p-renovation-modal__cases-arrow {
    color: #FFFFFF;
    translate: 0.3125rem -50%;
  }
}
.p-renovation-modal__cases-arrow {
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  width: 0.75rem;
  height: auto;
  transition: translate 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-renovation-modal__close {
    top: 1rem;
    right: 1rem;
    width: 2.75rem;
    height: 2.75rem;
  }
  .p-renovation-modal__body {
    padding: 4.5rem 1rem 3.75rem;
  }
  .p-renovation-modal__catchphrase {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-renovation-modal__header {
    margin-bottom: 1.75rem;
  }
  .p-renovation-modal__cols {
    flex-direction: column;
    gap: 2rem;
  }
  .p-renovation-modal__col-left {
    flex: none;
    width: 100%;
  }
  .p-renovation-modal__col-right {
    width: 100%;
  }
  .p-renovation-modal__col-label {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-renovation-modal__price-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.p-renovation-works-archive {
  padding-block: 3.75rem 7.5rem;
}
.p-renovation-works-archive__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 3.5rem;
  scroll-margin-top: 6.25rem;
}
.p-renovation-works-archive__filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.75rem;
  min-width: 8.75rem;
  padding-inline: 1.25rem;
  border-radius: 1.375rem;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #333333;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.p-renovation-works-archive__filter-btn.is-active {
  background: #A3A394;
  border-color: #A3A394;
  color: #FFFFFF;
  font-weight: 500;
  pointer-events: none;
}
@media (any-hover: hover) {
  .p-renovation-works-archive__filter-btn:not(.is-active):hover {
    opacity: 1;
    background: #E5E6DE;
    border-color: #E5E6DE;
    color: #FFFFFF;
  }
}
.p-renovation-works-archive__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 1.875rem;
}
.p-renovation-works-archive__card {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-renovation-works-archive__card:hover {
    opacity: 1;
  }
  .p-renovation-works-archive__card:hover .p-renovation-works-archive__img-src {
    transform: scale(1.05);
  }
}
.p-renovation-works-archive__img {
  overflow: hidden;
  height: 15rem;
}
.p-renovation-works-archive__img-src {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-renovation-works-archive__info {
  margin-top: 1rem;
}
.p-renovation-works-archive__type {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #888;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-renovation-works-archive__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-renovation-works-archive__empty {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #5F5F5F;
  text-align: center;
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-renovation-works-archive {
    padding-block: 2.5rem 5rem;
  }
  .p-renovation-works-archive__filter {
    gap: 0.625rem;
    margin-bottom: 2rem;
    scroll-margin-top: 5rem;
  }
  .p-renovation-works-archive__filter-btn {
    height: 2.375rem;
    min-width: auto;
    padding-inline: 1rem;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.5384615385;
    letter-spacing: 0.04em;
    margin-right: -0.05em;
  }
  .p-renovation-works-archive__grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem 0.75rem;
  }
  .p-renovation-works-archive__img {
    height: 13.75rem;
  }
  .p-renovation-works-archive__type {
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.4545454545;
    letter-spacing: 0.03em;
    margin-right: -0.05em;
  }
  .p-renovation-works-archive__title {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5384615385;
    letter-spacing: 0.04em;
    margin-right: -0.05em;
    margin-top: 0.375rem;
  }
}
.p-single {
  padding-block: 2.5rem 10.3125rem;
}
.p-single__inner {
  max-width: 67.125rem;
}
.p-single__meta {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.p-single__meta time {
  font-size: 1rem;
  font-weight: 40;
  line-height: 1.1875;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Cormorant Garamond", "Zen Old Mincho", serif;
  color: #A3A394;
}
.p-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  list-style: none;
  padding: 0;
}
.p-single__tags li {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #A3A394;
  border: solid 1px #A3A394;
  padding: 0.0625rem 0.5rem;
}
.p-single__title {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  margin-block-start: 1.5rem;
}
.p-single__works-type {
  font-size: 0.875rem;
  font-weight: 500;
  color: #A3A394;
  margin-block-start: 0.5rem;
}
.p-single__thumb {
  margin-block-start: 2rem;
}
.p-single__body {
  margin-block-start: 3.5rem;
}
.p-single__body h2 {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #A3A394;
  padding-block-end: 1rem;
  border-bottom: solid 1px #A3A394;
}
.p-single__body h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #A3A394;
  padding-block-end: 0.5rem;
  border-bottom: solid 1px #A3A394;
  display: inline-block;
}
.p-single__body h4 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #A3A394;
}
.p-single__body p a {
  text-decoration: underline;
  color: #A3A394;
}
@media (any-hover: hover) {
  .p-single__body p a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
.p-single__body p.text-link a {
  color: #A3A394;
  position: relative;
  display: inline-block;
  padding-inline-end: 0.75rem;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-single__body p.text-link a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
.p-single__body p.text-link a[target=_blank] {
  padding-inline-end: 1.5rem;
}
.p-single__body p.text-link a[target=_blank]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  background: url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.24143%201.37609C8.87363%201.37951%208.57816%201.68895%208.5815%202.06725C8.58483%202.44555%208.88563%202.74947%209.25343%202.74606L12.377%202.71711L7.8775%207.34517C7.61743%207.6127%207.61743%208.04643%207.8775%208.3139C8.13756%208.58143%208.55923%208.58143%208.81936%208.3139L13.3188%203.68587L13.2906%206.89863C13.2873%207.27697%2013.5828%207.58637%2013.9506%207.58983C14.3184%207.59323%2014.6192%207.2893%2014.6225%206.91097L14.6654%202.02321C14.667%201.83941%2014.5967%201.66265%2014.4703%201.53267C14.344%201.40269%2014.1721%201.33041%2013.9934%201.33206L9.24143%201.37609ZM1.998%201.65019C1.6302%201.65019%201.33203%201.95688%201.33203%202.3352V13.9804C1.33203%2014.3587%201.6302%2014.6654%201.998%2014.6654H13.9855C14.3534%2014.6654%2014.6515%2014.3587%2014.6515%2013.9804V10.5553C14.6515%2010.177%2014.3534%209.8703%2013.9855%209.8703C13.6177%209.8703%2013.3196%2010.177%2013.3196%2010.5553V13.2954H2.66398V3.02021H5.66086C6.02867%203.02021%206.32683%202.71352%206.32683%202.3352C6.32683%201.95688%206.02867%201.65019%205.66086%201.65019H1.998Z'%20fill='%23A3A394'/%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single__body p.download a[target=_blank] {
  color: #A3A394;
  position: relative;
  display: inline-block;
  padding-inline-end: 1.5rem;
  text-decoration: underline;
}
.p-single__body p.download a[target=_blank]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  background: url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14.3317%203.8877L10.5811%200.137329C10.4932%200.0493164%2010.3739%200%2010.2496%200H1.96875C1.70984%200%201.5%200.209839%201.5%200.46875V15.5312C1.5%2015.7902%201.70984%2016%201.96875%2016H14.0002C14.2592%2016%2014.469%2015.7902%2014.469%2015.5312V4.21924C14.469%204.09485%2014.4197%203.97559%2014.3317%203.8877ZM10.7184%201.60046L12.8683%203.75024H10.7184V1.60046ZM2.4375%208.40503H11.6095V13.187H2.4375V8.40503ZM2.4375%2015.0625V14.1245H12.0782C12.3372%2014.1245%2012.547%2013.9147%2012.547%2013.6558V7.93628C12.547%207.67749%2012.3372%207.46753%2012.0782%207.46753H2.4375V0.9375H9.78076V4.21899C9.78076%204.47791%209.99072%204.68787%2010.2496%204.68787H13.5315V15.0625H2.4375Z'%20fill='%23A3A394'/%3e%3cpath%20d='M4.58899%209.11328H3.68347C3.53027%209.11328%203.42969%209.20947%203.42969%209.31885V12.1014C3.42969%2012.2415%203.60034%2012.3114%203.771%2012.3114C3.94153%2012.3114%204.11218%2012.2415%204.11218%2012.1014V11.1564H4.54529C5.14905%2011.1564%205.62158%2010.8765%205.62158%2010.1415V10.1195C5.62158%209.38452%205.1665%209.11328%204.58899%209.11328ZM4.93909%2010.1938C4.93909%2010.4915%204.79028%2010.6313%204.54529%2010.6313H4.11218V9.70825H4.54529C4.79028%209.70825%204.93909%209.84827%204.93909%2010.1458V10.1938Z'%20fill='%23A3A394'/%3e%3cpath%20d='M7.1012%209.11328H6.32678C6.14734%209.11328%206.0293%209.20947%206.0293%209.31885V12.1058C6.0293%2012.2152%206.14734%2012.3114%206.32678%2012.3114H7.1012C7.70496%2012.3114%208.17737%2012.0314%208.17737%2011.2789V10.1458C8.17737%209.39331%207.70496%209.11328%207.1012%209.11328ZM7.49487%2011.2789C7.49487%2011.5764%207.34619%2011.7164%207.1012%2011.7164H6.71179V9.70825H7.1012C7.34619%209.70825%207.49487%209.84827%207.49487%2010.1458V11.2789Z'%20fill='%23A3A394'/%3e%3cpath%20d='M10.5363%209.11328H9.01819C8.86938%209.11328%208.7207%209.18323%208.7207%209.32324V12.1014C8.7207%2012.2415%208.89124%2012.3115%209.06189%2012.3115C9.23254%2012.3115%209.40308%2012.2415%209.40308%2012.1014V10.9727H10.0638C10.2081%2010.9727%2010.2694%2010.8326%2010.2694%2010.7145C10.2694%2010.5746%2010.1951%2010.4476%2010.0638%2010.4476H9.40308V9.70825H10.5363C10.6675%209.70825%2010.7419%209.56824%2010.7419%209.40637C10.7419%209.26636%2010.6807%209.11328%2010.5363%209.11328Z'%20fill='%23A3A394'/%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single__body .wp-block-buttons {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.p-single__body .wp-block-button a {
  padding: 1rem;
  min-width: 20rem;
  height: 3.5rem;
  border-radius: 0;
  background: #A3A394;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.p-single__body .wp-block-button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  background: url("data:image/svg+xml,%3csvg%20width='12'%20height='8'%20viewBox='0%200%2012%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.38657%203.95343e-07C7.08543%201.35839%207.61741%202.4001%208.25801%203.13473L8.47642%203.3981L-4.02311e-07%203.3981L-2.99309e-07%204.5763L8.49091%204.5763L8.27265%204.83967C7.63191%205.5743%207.08543%206.62774%206.38657%208L6.62485%208C8.00793%206.35052%2010.2965%205.04758%2012%204.21591L12%203.78621C10.3256%202.95454%208.0517%201.67932%206.55195%200.00211897L6.38657%203.95343e-07Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single__body .wp-block-button a[target=_blank]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  background: url("data:image/svg+xml,%3csvg%20fill='none'%20height='16'%20viewBox='0%200%2016%2016'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20clip-rule='evenodd'%20d='m9.24143%201.37609c-.3678.00342-.66327.31286-.65993.69116.00333.3783.30413.68222.67193.67881l3.12357-.02895-4.4995%204.62806c-.26007.26753-.26007.70126%200%20.96873.26006.26753.68173.26753.94186%200l4.49944-4.62803-.0282%203.21276c-.0033.37834.2922.68774.66.6912.3678.0034.6686-.30053.6719-.67886l.0429-4.88776c.0016-.1838-.0687-.36056-.1951-.49054-.1263-.12998-.2982-.20226-.4769-.20061zm-7.24343.2741c-.3678%200-.66597.30669-.66597.68501v11.6452c0%20.3783.29817.685.66597.685h11.9875c.3679%200%20.666-.3067.666-.685v-3.4251c0-.3783-.2981-.685-.666-.685-.3678%200-.6659.3067-.6659.685v2.7401h-10.65562v-10.27519h2.99688c.36781%200%20.66597-.30669.66597-.68501s-.29816-.68501-.66597-.68501z'%20fill='%23fff'%20fill-rule='evenodd'/%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single__body .wp-block-button.download a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-single__body .wp-block-button.download a::after {
  content: none;
  border: none;
  background: none;
  position: static;
}
.p-single__body .wp-block-button.download a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1.5rem;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  background: url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_2092_3200'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='1'%20y='0'%20width='14'%20height='16'%3e%3cpath%20d='M14.3317%203.8877L10.5811%200.137329C10.4932%200.0493164%2010.3739%200%2010.2496%200H1.96875C1.70984%200%201.5%200.209839%201.5%200.46875V15.5312C1.5%2015.7902%201.70984%2016%201.96875%2016H14.0002C14.2592%2016%2014.469%2015.7902%2014.469%2015.5312V4.21924C14.469%204.09485%2014.4197%203.97559%2014.3317%203.8877ZM10.7184%201.60046L12.8683%203.75024H10.7184V1.60046ZM2.4375%208.40503H11.6095V13.187H2.4375V8.40503ZM2.4375%2015.0625V14.1245H12.0782C12.3372%2014.1245%2012.547%2013.9147%2012.547%2013.6558V7.93628C12.547%207.67749%2012.3372%207.46753%2012.0782%207.46753H2.4375V0.9375H9.78076V4.21899C9.78076%204.47791%209.99072%204.68787%2010.2496%204.68787H13.5315V15.0625H2.4375Z'%20fill='%23A3A394'/%3e%3cpath%20d='M4.58899%209.11328H3.68347C3.53027%209.11328%203.42969%209.20947%203.42969%209.31885V12.1014C3.42969%2012.2415%203.60034%2012.3114%203.771%2012.3114C3.94153%2012.3114%204.11218%2012.2415%204.11218%2012.1014V11.1564H4.54529C5.14905%2011.1564%205.62158%2010.8765%205.62158%2010.1415V10.1195C5.62158%209.38452%205.1665%209.11328%204.58899%209.11328ZM4.93909%2010.1938C4.93909%2010.4915%204.79028%2010.6313%204.54529%2010.6313H4.11218V9.70825H4.54529C4.79028%209.70825%204.93909%209.84827%204.93909%2010.1458V10.1938Z'%20fill='%23A3A394'/%3e%3cpath%20d='M7.1012%209.11328H6.32678C6.14734%209.11328%206.0293%209.20947%206.0293%209.31885V12.1058C6.0293%2012.2152%206.14734%2012.3114%206.32678%2012.3114H7.1012C7.70496%2012.3114%208.17737%2012.0314%208.17737%2011.2789V10.1458C8.17737%209.39331%207.70496%209.11328%207.1012%209.11328ZM7.49487%2011.2789C7.49487%2011.5764%207.34619%2011.7164%207.1012%2011.7164H6.71179V9.70825H7.1012C7.34619%209.70825%207.49487%209.84827%207.49487%2010.1458V11.2789Z'%20fill='%23A3A394'/%3e%3cpath%20d='M10.5363%209.11328H9.01819C8.86938%209.11328%208.7207%209.18323%208.7207%209.32324V12.1014C8.7207%2012.2415%208.89124%2012.3115%209.06189%2012.3115C9.23254%2012.3115%209.40308%2012.2415%209.40308%2012.1014V10.9727H10.0638C10.2081%2010.9727%2010.2694%2010.8326%2010.2694%2010.7145C10.2694%2010.5746%2010.1951%2010.4476%2010.0638%2010.4476H9.40308V9.70825H10.5363C10.6675%209.70825%2010.7419%209.56824%2010.7419%209.40637C10.7419%209.26636%2010.6807%209.11328%2010.5363%209.11328Z'%20fill='%23A3A394'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_2092_3200)'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3c/svg%3e") no-repeat center center/contain;
}
.p-single__body ul,
.p-single__body ol {
  padding-inline-start: 1.5rem;
}
.p-single__body ul {
  list-style: disc;
}
.p-single__body ul li::marker {
  color: #A3A394;
}
.p-single__body ol {
  list-style: decimal;
}
.p-single__body ol li::marker {
  font-weight: 500;
  color: #A3A394;
}
.p-single__body table:not(:has(thead)) {
  /* theadを持たない場合 */
  border-collapse: collapse;
  width: 100%;
}
.p-single__body table:not(:has(thead)) tr td {
  border: solid 1px #E1E1E1;
  border-left: none;
  padding: 1.25rem 1.5rem;
}
.p-single__body table:not(:has(thead)) tr td:nth-of-type(1) {
  background: #F6F7F1;
  border-right: none;
  border-top: solid 1px #FFFFFF;
  border-bottom: solid 1px #FFFFFF;
  width: 13.75rem;
  color: #A3A394;
  font-weight: 500;
}
.p-single__body table:not(:has(thead)) tr:nth-of-type(1) td:nth-of-type(1) {
  border-top: solid 1px #F6F7F1;
}
.p-single__body table:not(:has(thead)) tr:nth-last-of-type(1) td:nth-of-type(1) {
  border-bottom: solid 1px #F6F7F1;
}
.p-single__body table:has(thead) {
  /* theadを持つ場合 */
  border-collapse: collapse;
  width: 100%;
}
.p-single__body table:has(thead) thead {
  border-bottom: none;
}
.p-single__body table:has(thead) thead th {
  background: #F6F7F1;
  border-left: solid 1px #FFFFFF;
  border-right: solid 1px #FFFFFF;
  border-top: none;
  border-bottom: none;
  padding: 1.25rem 1.5rem;
  color: #A3A394;
  font-weight: 500;
}
.p-single__body table:has(thead) thead th:nth-of-type(1) {
  border-left: solid 1px #F6F7F1;
}
.p-single__body table:has(thead) thead th:nth-last-of-type(1) {
  border-right: solid 1px #F6F7F1;
}
.p-single__body table:has(thead) tbody tr td {
  padding: 1.25rem 1.5rem;
  border: solid 1px #E1E1E1;
  border-top: none;
}
.p-single__body .wp-block-columns {
  column-gap: 1.5rem;
}
.p-single__body .wp-block-columns .wp-block-image + *,
.p-single__body .wp-block-columns .wp-block-image + p {
  margin-block-start: 1rem;
}
.p-single__body .wp-block-columns p + p {
  margin-block-start: 0.5rem;
}
.p-single__body .wp-block-media-text {
  column-gap: 1.5rem;
}
.p-single__body .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
.p-single__body .wp-block-media-text .wp-block-media-text__content * + p {
  margin-block-start: 0.5rem;
}
.p-single__body .aligncenter figcaption {
  text-align: center;
}
.p-single__body .wp-block-video {
  text-align: center;
}
.p-single__body .wp-block-video video {
  width: 50rem;
  height: auto;
}
.p-single__body .wp-block-embed-youtube {
  text-align: center;
}
.p-single__body .wp-block-embed-youtube iframe {
  width: 50rem;
  height: auto;
  aspect-ratio: 800/462;
}
.p-single__body * + h2,
.p-single__body * + h3,
.p-single__body * + h4 {
  margin-block-start: 5rem;
}
.p-single__body * + p,
.p-single__body * + ul,
.p-single__body * + ol,
.p-single__body * + table,
.p-single__body * + img,
.p-single__body * + .wp-block-image,
.p-single__body * + .wp-block-table,
.p-single__body * + .wp-block-media-text,
.p-single__body * + .wp-block-buttons,
.p-single__body * + .wp-block-embed,
.p-single__body * + .wp-block-columns {
  margin-block-start: 2.5rem;
}
.p-single__body p + p,
.p-single__body h2 + p,
.p-single__body h3 + p,
.p-single__body h4 + p {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-single {
    padding-block: 2.5rem 10.3125rem;
  }
  .p-single__inner {
    max-width: 37.5rem;
  }
  .p-single__meta {
    column-gap: 0.75rem;
  }
  .p-single__meta time {
    font-size: 0.875rem;
    font-weight: 40;
    line-height: 1.2857142857;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single__title {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-block-start: 1rem;
  }
  .p-single__thumb {
    margin-block-start: 1.5rem;
  }
  .p-single__body {
    margin-block-start: 1.5rem;
  }
  .p-single__body h2 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
    padding-block-end: 0.5rem;
  }
  .p-single__body h3 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5555555556;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
    padding-block-end: 0.375rem;
  }
  .p-single__body h4 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
  }
  .p-single__body p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single__body .wp-block-buttons {
    flex-direction: column;
    row-gap: 1rem;
    align-items: flex-start;
  }
  .p-single__body .wp-block-button {
    width: 100%;
  }
  .p-single__body .wp-block-button a {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    width: 100%;
    padding: 0.75rem;
    min-width: 20rem;
    height: 3rem;
  }
  .p-single__body ul,
  .p-single__body ol {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single__body table {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single__body table:not(:has(thead)) {
    /* theadを持たない場合 */
  }
  .p-single__body table:not(:has(thead)) tr td {
    display: block;
    border: solid 1px #E1E1E1;
    border-left: solid 1px #E1E1E1;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
  .p-single__body table:not(:has(thead)) tr td:nth-of-type(1) {
    border-right: solid 1px #F6F7F1;
    border-left: solid 1px #F6F7F1;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
  .p-single__body table:not(:has(thead)) tr:nth-last-of-type(1) td:nth-last-of-type(1) {
    border-bottom: solid 1px #E1E1E1;
  }
  .p-single__body .wp-block-table:has(thead) {
    width: 100%;
    overflow-x: auto;
    padding-inline-end: 0.875rem;
    padding-bottom: 0.625rem;
  }
  .p-single__body .wp-block-table:has(thead) thead th {
    max-width: 12.5rem;
  }
  .p-single__body .wp-block-table:has(thead) tbody tr td {
    max-width: 12.5rem;
  }
  .p-single__body table:has(thead) {
    /* theadを持つ場合 */
    width: max-content !important;
    min-width: 100%;
  }
  .p-single__body .wp-block-columns {
    column-gap: 0.625rem;
    row-gap: 1.5rem;
  }
  .p-single__body .wp-block-columns .wp-block-image + *,
  .p-single__body .wp-block-columns .wp-block-image + p {
    margin-block-start: 0.75rem;
  }
  .p-single__body .wp-block-columns p + p {
    margin-block-start: 0.5rem;
  }
  .p-single__body .wp-block-media-text {
    row-gap: 0.75rem;
  }
  .p-single__body .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
  }
  .p-single__body .wp-block-media-text .wp-block-media-text__content * + p {
    margin-block-start: 1rem;
  }
  .p-single__body .wp-block-media-text .wp-block-media-text__content p + p {
    margin-block-start: 0.5rem;
  }
  .p-single__body figcaption {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single__body .wp-block-video {
    width: 100%;
  }
  .p-single__body .wp-block-video video {
    width: 100%;
    height: auto;
  }
  .p-single__body .wp-block-embed-youtube {
    width: 100%;
  }
  .p-single__body .wp-block-embed-youtube iframe {
    width: 100%;
  }
  .p-single__body * + h2,
  .p-single__body * + h3,
  .p-single__body * + h4 {
    margin-block-start: 2.5rem;
  }
  .p-single__body * + p,
  .p-single__body * + ul,
  .p-single__body * + ol,
  .p-single__body * + table,
  .p-single__body * + img,
  .p-single__body * + .wp-block-image,
  .p-single__body * + .wp-block-table,
  .p-single__body * + .wp-block-media-text,
  .p-single__body * + .wp-block-buttons,
  .p-single__body * + .wp-block-embed,
  .p-single__body * + .wp-block-columns {
    margin-block-start: 1.5rem;
  }
  .p-single__body p + p,
  .p-single__body h2 + p,
  .p-single__body h3 + p,
  .p-single__body h4 + p {
    margin-block-start: 1rem;
  }
}
.p-voice-archive {
  padding-block: 3.75rem 7.5rem;
}
.p-voice-archive__list {
  max-width: 47rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  list-style: none;
  padding: 0;
}
.p-voice-archive__link {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-voice-archive__link:hover {
    opacity: 1;
  }
  .p-voice-archive__link:hover .p-voice-archive__thumb-img {
    transform: scale(1.05);
  }
}
.p-voice-archive__thumb {
  position: relative;
  aspect-ratio: 752/501;
  overflow: hidden;
}
.p-voice-archive__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-voice-archive__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 9.9375rem;
  background: linear-gradient(to top, rgba(90, 89, 60, 0.6), transparent);
  padding: 4.25rem 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.1875rem;
}
.p-voice-archive__client {
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.25;
  white-space: nowrap;
}
.p-voice-archive__quote {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.p-voice-archive__empty {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.875rem;
  color: #666666;
  text-align: center;
  padding-block: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-voice-archive {
    padding-block: 2.5rem 5rem;
  }
  .p-voice-archive__list {
    gap: 2rem;
  }
  .p-voice-archive__overlay {
    height: 40%;
    padding: 20% 1.25rem 0;
    gap: 0.75rem;
  }
  .p-voice-archive__client {
    font-size: 0.8125rem;
    white-space: normal;
  }
  .p-voice-archive__quote {
    font-size: 1.125rem;
  }
}
.p-works-new-archive {
  padding-block: 3.75rem 7.5rem;
}
.p-works-new-archive__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 2.75rem;
}
.p-works-new-archive__card {
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-works-new-archive__card:hover {
    opacity: 1;
  }
  .p-works-new-archive__card:hover .p-works-new-archive__img-src {
    transform: scale(1.05);
  }
}
.p-works-new-archive__img {
  overflow: hidden;
  height: 22.8125rem;
}
.p-works-new-archive__img-src {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-works-new-archive__info {
  margin-top: 1.25rem;
}
.p-works-new-archive__type {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #878787;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-works-new-archive__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #333333;
  margin-top: 0.5rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-works-new-archive__empty {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  font-family: "Zen Old Mincho", serif;
  color: #5F5F5F;
  text-align: center;
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-works-new-archive {
    padding-block: 2.5rem 5rem;
  }
  .p-works-new-archive__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .p-works-new-archive__img {
    height: 15rem;
  }
  .p-works-new-archive__type {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-right: -0.05em;
  }
  .p-works-new-archive__title {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
    margin-right: -0.05em;
  }
}
.u-hidden {
  display: none !important;
  visibility: hidden !important;
}
.u-hidden-pc,
.u-is-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-hidden-pc,
  .u-is-sp {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .u-hidden-sp,
  .u-is-pc {
    display: none !important;
  }
}