@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: 1279px) and (min-width: 768px) {
  html {
    font-size: calc(16 / 1280 * 100svw);
  }
}
@media screen and (max-width: 390px) {
  html {
    font-size: calc(16 / 390 * 100svw);
  }
}
body {
  color: #333333;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5em;
  font-optical-sizing: auto;
  background-color: #FFFFFF;
  max-width: 100vw;
  overflow-x: clip;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA7CAMAAAAQJxn4AAAAb1BMVEXj4+P+/v7d3d3l5eX39/f////e3t7f39/6+vrn5+fi4uLm5ub5+fn8/Pzx8fH7+/vc3Nzk5OT4+Pjz8/Pg4OD9/f3t7e3u7u7y8vLo6Ojr6+vq6urs7Ozh4eHp6env7+/29vbw8PDb29v19fX09PSQ8lioAAAIq0lEQVR42h1U7dLzKghEEDCGfGBMm6axTd/m/q/x9Dk/BJnZHVxlBQhIkRiFFVKXo4Qeg+Eg45SJ55icCvZL5SqsVKLbzJ0Ek1USJJjUb3fYHtnIk9I+FIX09DJ4ISl3jcQbUYKCR8lqub2MFrfmb1A5w2eS1XFIcstlVGV8Vkygq3eLS8A84vmQRJUdzeMOfRDzWh4Qan3ecZVtxBy0e0YIyJV4d1YJhxcJiyyMw/z64/77PNvbnJt+k8Bym3viF/UrffUwPSJNG5nUCHtysfpsvBAZ3tKu5pG6/crpgLEDAzeeDSS91UjM1cCyx4+wd+kSboMJslzkJ6g14f5xhwSyMSaACMp5Dk1YeMAHy9RjAGRBBlzxSd/XC1d6DC+xsQ56/6pJZdeABLENap8M07zv8NjbevNtpBWh6G2r60u2UpMOewVTsPpqHohubzId3qChemQ8vRT6F3LX09IhNzqtmT/v3RcoOS2Ph1G5ParR95Guo1qjeAFXmzKG+kiKk6ZR0orBzQQHmcb5yVLaXrKYwAowIrsu/Q8ZVwFQidpN7Tbhuc6rhBU9SE36nORmEioG8SVW0/DWPWrKNe41KBkWgyv6mCol8J3s8aAnFX1f4KmuALvlbX4XUVMtcAGFl9uohkPRFB0i41SfX7mz3osX0pBr5PmkBHR+sLgkmE0ig64SXzi6TK4TyNUMXFk6nmvBkGUAYbwHPH4idjynemtfkx+33/QVlAm3qIOkT1VGOsFPWe7KRV6RTH5EiNTBwh1NSkXI1E24QNk8vnJSL0ivDa66Lg7mkg40L+S2iNF5uRr0nUcnI3q3wWr/fkH/PF0SY4G3eTf9poYecANuyP766HgTzjJ8MMnEmFhSEw5qsl21sbKXxZXxEZoMmvb5xuBF9k3WF/DmQbmQJ+3+QMjog7jNnoAss4BhSRpOvPF8/3gQgeJS/CP01XaKP16/it/+Gd2kj3e3HIlyoeWAyyk2Ku27kz3p/IKBIM/ru15B2c/kz9+5qBZS81oyGqmxfNDgL5tbooPbJ8j450JglpJklcYipcsXsgnfZ9b0aWJ4ngipblWZdJX+A7+RCEpmatjBXk38r818i9Sn2hU/ChWl8v8PcD07AHi4HWK6RGmRupETZhOPAMeNDxDOerIslCK8go77e6TFwArQCt1KF2EEMiiXW/Y66v93AQmkNw3yCaQsnEFZ1yajoUm+QbcJ11wSrroG7IPumbaEpsgNoQ4RKDQ683lHhvwsddKdK5jyRU/W+8NNyGaK8hlk+AJLNZnetS9A8cyhppG8UF8/0ekP+qpG5UXXmC3nElvJnEgCfTM9X731GH3bHEavLPMX4g3vrCNjPCiK2lFGMpb3KEZ/Lg46c73eeRzEKE/0ZolQlIUYahGyv8DYnZ3Y/O6wAwwiQ2rrPJpC0L6gERrW7/tlUj5AE1Lx0pzBb+xFt1PB6mv0p9EiXeo8zlAcrsxPsqOaxsvlVCoA52c56ZFqeUi5qQHZU4xso27Sckj5+QSiZeX6XuDq0Q5NAU+aUosw4zrpJZyRP7qiT7Wa1FXui/BTCwhLHuo+yE/04GoCQZRlzQV2CKdSxNfxegsM4tcCJmv0b/H4hu2T00+HUUIvxe7ZKu3ki46HfmOG8yvJh5LfTJdvie4G956uPseHfN+1EBhhJOso/lQR2FPjL35mggJYWZ8/HY5J2xnF5MZSGbl1ByvXPUkXfmxdHK2T4BIkmSJjakD8q/RWNGhYkEyWpMm7SWlVYOxj9VHXb40pm3LEHCqZB5UV/sEAh3ITCgpxb+bLQkuA403mYPkbvTdgp1HAhB6BIpW7U8xxvhJgHKtwvb32RGh14U6+1cCfa03+b7sJV/P6YbFc1oZBdfA94ETNApBJedZV5lupptzhY8IV00mV57TqMMj7qSuiNR+q/Dlu3pN+kZgUzO1FEz4LuQkNulA2pKmSyaM4PYEfraxu2hdpA23E8HL++vQlA7Jdo2sZxdwGf3I1f1huySUCmn9ajYRGr890YyoTyZpT14rrRPA3SZCIxKQlVRN7/j3WkCs3ZV0/GFgNvylrkP2SdBd24beEugMCC4ypmfBdl6IFKH0yHxQrRQnkUZop9NFNhyeNJqH5V3VSX0BD4zeJARXCCEWoPD3VdSMrbkCfCKZfo5boMooTrLmmwydfvxk46/XnpvKVxW7PK0f6Fwi7JB997HJMatDOS0KzS3sWe0kkSVWGOoOW6cimkKRP87T78OoGSZtu58xV2JrRFtRZyOBeZ5ZuGJSRDzGG97sTw8m0YyWCP/vkvIx6OPf3w7MJ2VYj8Ohe4NioNDehJbStwQPEIEVvg0x7m/rGzcwjayG5GI28EDK1BWDI0z7HCQ06VpvqAqmaDL28grBK0LpqNnjCP46yEpoMKylLuc8d51WRFVfxmEuPnAEM6X7SJCy0NhokLA4mX2jb2ewf1eiDuHm4ZNWahIpwqcB6lAHMS/SR2y5sTQuM9xMjcAUb3KgVl5G+T7AdqLttDkaavHR+ghvgHvB8y8CyZWF6fWEMuB/167PVLqBwU+b6UM5Ytp+qZRBkfUxfuwNvmPlXEc/EqOPZdco9hlJNadIWNHzbXnTqJWhjvN/t283haPZGuA96SJrdDkqwGjXLIZI1N7oVR2v42wit6IWpyM2ADIqCoTL8lnwO+uEmwtHrpNYL8Wxwpk1CtpX6VehezDESHCRcE6mNqdxh7f9UJWgDdEHCIPskoaEp8T9nvT90/+shFyHPO+Ox6r2vphe3DJbXmQu0gH5O9BT29kpk+HkDlbYVKoZcwTIVfU2TRhiaW/FV+gIeAZaI7J2Rlhy/+XO5vbw8xMjvRiAsUFhis5Mq++FsWVbA5QV3sakKi/CZWddR91XMKbUaMCZ4sHDVUOXPEfqM87moFWE1Jgeh9ZQgIRNYC4rv/pffU3HGxwL0koB1Ijpl3IRM+AATZKFIlP4Df36rkYTuqgAAAAAASUVORK5CYII=");
}
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-inner {
  width: 100%;
  max-width: 1280px;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: 600px;
    padding: 0 0.875rem;
  }
}
.l-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  transition: all 0.6s ease;
}
.l-loading.is-hidden {
  translate: 0 -100%;
  visibility: hidden;
  pointer-events: none;
}
.l-loading__logo {
  width: 9.375rem;
  height: auto;
  animation: l-loading-logo-in 0.8s ease 0.5s both;
}
.l-loading__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 12.5rem;
  height: 12.5rem;
  border: 0.1875rem solid #D1D1D2;
  border-top-color: #082B9E;
  border-radius: 50%;
  animation: l-loading-fadein 0.4s ease 0.8s both, l-loading-spin 1.9s linear 0.8s infinite;
}
@keyframes l-loading-logo-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes l-loading-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes l-loading-spin {
  to {
    transform: rotate(360deg);
  }
}
.l-main {
  margin-block-start: 0;
}
.c-breadcrumbs {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
}
.c-breadcrumbs__inner {
  padding-block: 1.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 i {
  padding-inline-end: 0.375rem;
}
.c-breadcrumbs a {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
@media (any-hover: hover) {
  .c-breadcrumbs a:hover {
    opacity: 1;
    color: #333333;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .c-breadcrumbs .slash {
    padding-inline: 0.5rem;
  }
  .c-breadcrumbs i {
    padding-inline-end: 0.25rem;
  }
}
.c-link-more {
  display: inline-block;
}
.c-link-more__link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-link-more__link:hover {
    opacity: 1;
  }
  .c-link-more__link:hover .c-link-more__text {
    transform: translateY(-1.6rem);
  }
  .c-link-more__link:hover .c-link-more__icon {
    background-color: #efefef;
  }
  .c-link-more__link:hover .c-link-more__icon::before, .c-link-more__link:hover .c-link-more__icon::after {
    background-color: #082B9E;
  }
}
.c-link-more__textWrapper {
  height: 1.6rem;
  overflow: hidden;
  text-align: right;
}
.c-link-more__text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #082B9E;
  font-family: "Noto Sans JP", sans-serif;
  margin-right: 0.75rem;
  transition: transform 0.3s ease;
}
.c-link-more__icon {
  background-color: #082B9E;
  border: 1px solid #082B9E;
  border-radius: 50%;
  width: 2.8125rem;
  height: 2.8125rem;
  flex-shrink: 0;
  position: relative;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.c-link-more__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.4375rem;
  height: 0.125rem;
  background-color: #efefef;
  transition: background-color 0.3s ease;
}
.c-link-more__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(45deg) translate(-0.1825rem, -0.3125rem);
  width: 0.625rem;
  height: 0.125rem;
  background-color: #efefef;
  transition: background-color 0.3s ease;
}
.c-link-more--white .c-link-more__text {
  color: #efefef;
}
.c-link-more--white .c-link-more__icon {
  background-color: #efefef;
  border-color: #efefef;
}
.c-link-more--white .c-link-more__icon::before, .c-link-more--white .c-link-more__icon::after {
  background-color: #082B9E;
}
@media (any-hover: hover) {
  .c-link-more--white .c-link-more__link:hover .c-link-more__icon {
    background-color: #29355A;
  }
  .c-link-more--white .c-link-more__link:hover .c-link-more__icon::before, .c-link-more--white .c-link-more__link:hover .c-link-more__icon::after {
    background-color: #efefef;
  }
}
@media screen and (max-width: 767px) {
  .c-link-more__textWrapper {
    height: 1.25rem;
  }
  .c-link-more__text {
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-right: 0.875rem;
  }
}
@media screen and (max-width: 767px) and (any-hover: hover) {
  .c-link-more .c-link-more__link:hover .c-link-more__text {
    transform: translateY(-1.25rem);
  }
}
@media screen and (max-width: 767px) {
  .c-link-more__icon {
    width: 2.25rem;
    height: 2.25rem;
  }
  .c-link-more__icon::before {
    width: 1.125rem;
  }
  .c-link-more__icon::after {
    width: 0.5rem;
  }
}
.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: 3.75rem;
    gap: 0.5rem;
  }
}
.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: #082B9E;
  color: #FFFFFF;
  pointer-events: none;
}
.c-pagination__item[data-state=page] {
  background: #FFFFFF;
  border: 1px solid #e6e6e6;
  color: #082B9E;
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=page]:hover {
    opacity: 1;
    color: #FFFFFF;
    background: #082B9E;
    border-color: #082B9E;
  }
}
.c-pagination__item[data-state=dots] {
  color: #082B9E;
  pointer-events: none;
}
.c-pagination__item[data-state=prev], .c-pagination__item[data-state=next] {
  background: #FFFFFF;
  border: 1px solid #FFFFFF;
  min-width: 2.625rem;
}
@media (any-hover: hover) {
  .c-pagination__item[data-state=prev]:hover, .c-pagination__item[data-state=next]:hover {
    opacity: 1;
    background: #082B9E;
    border-color: #082B9E;
  }
  .c-pagination__item[data-state=prev]:hover span::before, .c-pagination__item[data-state=next]:hover span::before {
    border-top: 1.5px solid #FFFFFF;
    border-right: 1.5px solid #FFFFFF;
  }
}
.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 #082B9E;
  border-right: 1.5px solid #082B9E;
}
.c-pagination__arrow--prev::before {
  left: 0.1875rem;
  translate: -0.125rem -50%;
  rotate: -135deg;
}
.c-pagination__arrow--next::before {
  right: 0.1875rem;
  translate: 0.125rem -50%;
  rotate: 45deg;
}
.c-section-title {
  height: 6.9375rem;
  background-image: url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20width='100%25'%20height='100%25'%20overflow='visible'%20viewBox='0%200%201440%20110.5'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0%200L1440%2013V79.5L0%20110.5V0Z'%20fill='%23082B9E'/%3e%3cpath%20d='M0%200L1440%2013V79.5L0%20110.5V0Z'%20fill='url(%23paint0_linear)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear'%20x1='0'%20y1='55.25'%20x2='1440'%20y2='55.25'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23082B9E'/%3e%3cstop%20offset='0.960775'%20stop-color='%23082B9E'/%3e%3cstop%20offset='0.960867'%20stop-color='white'/%3e%3cstop%20offset='0.96851'%20stop-color='white'/%3e%3cstop%20offset='0.968706'%20stop-color='%23E9BD12'/%3e%3cstop%20offset='0.975838'%20stop-color='%23E9BD12'/%3e%3cstop%20offset='0.975962'%20stop-color='%23082B9E'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}
.c-section-title__group {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.c-section-title__logo {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.3125rem;
  overflow: hidden;
}
.c-section-title__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.c-section-title__ja {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 2.25rem;
  letter-spacing: 0.2em;
  color: #efefef;
  line-height: normal;
  white-space: nowrap;
}
.c-section-title__en {
  font-family: "Purple Purse", serif;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  color: #efefef;
  line-height: normal;
  white-space: nowrap;
  padding-block-start: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-section-title {
    height: 4.5rem;
  }
  .c-section-title__group {
    gap: 0.625rem;
  }
  .c-section-title__logo {
    width: 2rem;
    height: auto;
  }
  .c-section-title__ja {
    font-size: 1.625rem;
  }
  .c-section-title__en {
    font-size: 1rem;
  }
}
.c-util-card {
  background: #F7F7F7;
  width: 25rem;
  flex-shrink: 0;
  height: 100%;
}
.c-util-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
@media (any-hover: hover) {
  .c-util-card__link:hover {
    opacity: 1;
    box-shadow: 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.25);
    translate: 0 -0.3125rem;
  }
  .c-util-card__link:hover img {
    scale: 1.05;
  }
}
.c-util-card__img-wrap {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.c-util-card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: all 0.3s ease;
}
.--news .c-util-card__img {
  aspect-ratio: 3/2;
}
.c-util-card__new {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.75rem;
  height: 3.75rem;
  pointer-events: none;
  overflow: hidden;
}
.c-util-card__new::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.75rem 3.75rem 0;
  border-color: transparent #082B9E transparent transparent;
}
.c-util-card__new-text {
  position: absolute;
  top: 0.75rem;
  right: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 900;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  line-height: 1;
  transform: rotate(45deg);
  transform-origin: center;
  white-space: nowrap;
}
.c-util-card__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.625rem 1rem 1rem;
}
.c-util-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-util-card__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  background: #29355A;
  border-radius: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1.5;
  white-space: nowrap;
}
.c-util-card__date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #29355A;
  line-height: 1.5;
  white-space: nowrap;
}
.c-util-card__info {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  color: #29355A;
}
.c-util-card__price-head {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-inline-end: 0.625rem;
}
.c-util-card__price {
  display: flex;
  align-items: baseline;
  line-height: normal;
}
.c-util-card__price-num {
  font-family: "Inter", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.c-util-card__price-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.c-util-card__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.c-util-card__excerpt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 767px) {
  .c-util-card {
    width: 17.5rem;
  }
  .c-util-card__price-num {
    font-size: 1.5rem;
  }
  .c-util-card__price-unit {
    font-size: 1rem;
  }
  .c-util-card__title {
    font-size: 0.875rem;
  }
}
.c-works-card {
  width: 22.5rem;
  flex-shrink: 0;
}
@media (any-hover: hover) {
  .c-works-card__link:hover {
    opacity: 1;
  }
  .c-works-card__link:hover .c-works-card__img-wrap::after {
    left: 100%;
  }
  .c-works-card__link:hover .c-works-card__img-wrap img {
    scale: 1.05;
  }
  .c-works-card__link:hover .c-works-card__more p {
    padding-inline: 3.125rem;
  }
}
.c-works-card__img-wrap {
  overflow: hidden;
  position: relative;
}
.c-works-card__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(5, 41, 106, 0.4) 10%, rgba(5, 41, 106, 0.2) 80%, rgba(5, 41, 106, 0.1) 100%);
  transition: all 0.3s ease;
}
.c-works-card__img {
  aspect-ratio: 570/400;
  object-fit: cover;
  transition: all 0.3s ease;
}
.c-works-card__body {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  margin-block-start: 0.75rem;
}
.c-works-card__meta {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  justify-content: space-between;
}
.c-works-card__name {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
}
.c-works-card__date {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
}
.c-works-card__title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
  color: #29355A;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.c-works-card__excerpt {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
  margin-block-start: 0.75rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.c-works-card__more {
  text-align: center;
}
.c-works-card__more p {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
  color: #29355A;
  border-bottom: solid 1px #29355A;
  display: inline-block;
  padding-inline: 2.5rem;
  position: relative;
  transition: all 0.5s ease;
}
.c-works-card__more p::after {
  content: "";
  position: absolute;
  background-color: #29355A;
  bottom: 0;
  height: 0.5rem;
  position: absolute;
  right: 0;
  transform: rotate(-45deg) translate(-0.2rem, -0.1rem);
  width: 1px;
}
@media screen and (max-width: 767px) {
  .c-works-card {
    width: 17.5rem;
  }
  .c-works-card__body {
    row-gap: 0.625rem;
    margin-block-start: 0.75rem;
  }
  .c-works-card__meta {
    flex-direction: column;
    row-gap: 0.375rem;
    align-items: flex-start;
  }
  .c-works-card__name {
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .c-works-card__date {
    font-size: 0.625rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .c-works-card__title {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .c-works-card__excerpt {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-block-start: 0.625rem;
  }
  .c-works-card__more {
    margin-block-start: -0.5rem;
  }
  .c-works-card__more p {
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-right: -0.1em;
    padding-inline: 1.875rem;
  }
}
@media (max-width: 500px) {
  .c-works-card__meta {
    flex-direction: row;
    align-items: center;
  }
}
.p-about-access {
  padding-block: 5rem;
}
.p-about-access__content {
  padding-block: 2.5rem 0;
}
.p-about-access__body {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
.p-about-access__info {
  flex: 1;
  min-width: 0;
}
.p-about-access__name-en {
  font-family: "Purple Purse", serif;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #29355A;
}
.p-about-access__name-ja {
  margin-top: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-access__details {
  display: block;
  margin-top: 1.5rem;
  font-style: normal;
}
.p-about-access__details p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #29355A;
}
.p-about-access__details p + p {
  margin-top: 1.25rem;
}
.p-about-access__details a {
  color: inherit;
  text-decoration: none;
}
.p-about-access__map {
  flex-shrink: 0;
  width: 31.9375rem;
  height: 21.875rem;
}
.p-about-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-about-access__illust {
  flex-shrink: 0;
  width: 15.9375rem;
}
.p-about-access__illust img {
  display: block;
  width: 100%;
  height: auto;
}
.p-about-access__back {
  width: 100%;
  text-align: center;
  margin-block-start: 5rem;
}
@media screen and (max-width: 767px) {
  .p-about-access {
    padding-block: 3.75rem;
  }
  .p-about-access__content {
    padding-block: 2.5rem 0;
  }
  .p-about-access__body {
    flex-direction: column;
    gap: 2rem;
    position: relative;
  }
  .p-about-access__info {
    width: 100%;
  }
  .p-about-access__map {
    width: 100%;
    height: 16.25rem;
  }
  .p-about-access__illust {
    position: absolute;
    top: 4.375rem;
    right: 0;
    width: 7.5rem;
    align-self: center;
  }
  .p-about-access__name-en {
    font-size: 1.25rem;
  }
  .p-about-access__name-ja {
    font-size: 0.75rem;
  }
  .p-about-access__details {
    margin-top: 1.3125rem;
  }
  .p-about-access__details p {
    font-size: 0.875rem;
  }
  .p-about-access__details p + p {
    margin-top: 0.875rem;
  }
}
.p-about-main {
  padding-block: 2.5rem 5rem;
}
.p-about-main__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.p-about-main__block {
  display: flex;
  align-items: center;
  gap: 3.75rem;
}
.p-about-main__block:nth-child(2n) {
  flex-direction: row-reverse;
}
.p-about-main__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.p-about-main__heading {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.p-about-main__line {
  display: block;
  flex-shrink: 0;
  width: 5rem;
  height: 0.0625rem;
  background: #29355A;
}
.p-about-main__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #29355A;
}
.p-about-main__body {
  padding-inline-start: 6.25rem;
}
.p-about-main__body p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-main__body p + p {
  margin-top: 1rem;
}
.p-about-main__img-wrap {
  flex-shrink: 0;
  width: 28.125rem;
  height: 31.25rem;
  overflow: hidden;
  box-shadow: 0.25rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
}
.p-about-main__img-wrap picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-about-main__img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about-main__img-wrap--circle {
  width: 21.875rem;
  height: 21.875rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-about-main {
    padding-block: 2rem 3.75rem;
  }
  .p-about-main__inner {
    gap: 3.75rem;
  }
  .p-about-main__block {
    flex-direction: column;
    gap: 2rem;
  }
  .p-about-main__block:nth-child(2n) {
    flex-direction: column;
  }
  .p-about-main__img-wrap {
    width: 100%;
    height: 16.25rem;
  }
  .p-about-main__img-wrap--circle {
    width: 15rem;
    height: 15rem;
    align-self: center;
  }
  .p-about-main__body {
    padding-inline-start: 0rem;
  }
  .p-about-main__heading {
    gap: 0.75rem;
  }
  .p-about-main__line {
    width: 2.5rem;
  }
  .p-about-main__title {
    font-size: 1.0625rem;
  }
  .p-about-main__body p {
    font-size: 0.875rem;
  }
}
.p-about-price {
  padding-block: 5rem;
}
.p-about-price__content {
  padding-block: 3.75rem;
}
.p-about-price__lead {
  margin-bottom: 2.5rem;
}
.p-about-price__lead p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-price__lead p + p {
  margin-top: 1rem;
}
.p-about-price__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  column-gap: 3.75rem;
}
.p-about-price__table {
  flex-shrink: 0;
  width: 42.375rem;
}
.p-about-price__row {
  display: flex;
  align-items: stretch;
}
.p-about-price__row:last-child dt {
  border-bottom: none;
}
.p-about-price__row:first-child dd {
  border-top: 0.0625rem solid #D1D1D2;
}
.p-about-price__term {
  flex-shrink: 0;
  width: 31.25rem;
  padding: 1.25rem 1.5rem;
  background: #F7F7F7;
  border-bottom: 0.0625rem solid #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-price__def {
  flex: 1;
  margin: 0;
  padding: 1.25rem 1.5rem;
  background: #FFFFFF;
  border-right: 0.0625rem solid #D1D1D2;
  border-bottom: 0.0625rem solid #D1D1D2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-price__imgs {
  position: relative;
  flex-shrink: 0;
  width: 27.9375rem;
  height: 45.3125rem;
}
.p-about-price__img-top {
  position: absolute;
  top: 0;
  left: 4rem;
  width: 23.9375rem;
  height: 24.1875rem;
  overflow: hidden;
}
.p-about-price__img-top picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-about-price__img-top img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about-price__img-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.p-about-price__img-bottom {
  position: absolute;
  top: 21.125rem;
  left: 0;
  width: 23.9375rem;
  height: 24.1875rem;
  overflow: hidden;
}
.p-about-price__img-bottom picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-about-price__img-bottom img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-about-price {
    padding-block: 3.75rem;
  }
  .p-about-price__content {
    padding-block: 2.5rem 0;
  }
  .p-about-price__lead {
    margin-bottom: 2rem;
  }
  .p-about-price__lead p {
    font-size: 0.875rem;
  }
  .p-about-price__body {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-about-price__table {
    width: 100%;
  }
  .p-about-price__term {
    flex: 1;
    width: auto;
    font-size: 0.875rem;
  }
  .p-about-price__def {
    flex-shrink: 0;
    width: 6.25rem;
    font-size: 0.875rem;
  }
  .p-about-price__imgs {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .p-about-price__img-top, .p-about-price__img-bottom {
    position: static;
    width: 100%;
    height: 13.75rem;
  }
}
.p-about-service__content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding-block: 5rem;
}
.p-about-service__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-about-service__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  list-style: none;
  gap: 1.25rem;
}
.p-about-service__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
  max-width: 17.875rem;
  padding: 1.25rem;
  background: #082B9E;
  border-radius: 0.625rem;
  position: relative;
  overflow: hidden;
}
.p-about-service__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 2.25rem 2.25rem;
  border-color: transparent transparent #E9BD12 transparent;
}
.p-about-service__icon img {
  display: block;
  width: 6.875rem;
  height: 6.875rem;
  object-fit: contain;
}
.p-about-service__name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  width: 100%;
}
.p-about-service__line {
  display: block;
  width: 1.875rem;
  height: 0.125rem;
  background: #E9BD12;
  flex-shrink: 0;
}
.p-about-service__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about-service__content {
    padding-block: 3rem 3.75rem;
    gap: 2rem;
  }
  .p-about-service__list {
    flex-direction: column;
    align-items: stretch;
  }
  .p-about-service__item {
    max-width: 100%;
  }
  .p-about-service__icon img {
    width: 6.25rem;
    height: 6.25rem;
  }
  .p-about-service__name {
    font-size: 1.25rem;
  }
}
.p-archive-news {
  padding-bottom: 5rem;
}
.p-archive-news .l-inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  padding-top: 2.5rem;
}
.p-archive-news__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
.p-archive-news__filter-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5625rem;
  padding: 0.375rem 1.5rem;
  border: 1px solid #082B9E;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #082B9E;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.p-archive-news__filter-item.--active {
  background-color: #082B9E;
  color: #FFFFFF;
}
.p-archive-news__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-archive-news__item:nth-child(2n) a {
  background: transparent;
}
.p-archive-news__item:nth-child(2n) a:hover {
  opacity: 1;
  background: #29355A;
}
.p-archive-news__link {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  padding: 1.25rem;
  background: #FFFFFF;
  text-decoration: none;
  transition: all 0.3s ease;
}
.p-archive-news__link:hover {
  opacity: 1;
  background: #29355A;
}
.p-archive-news__link:hover .p-archive-news__tag {
  background: #FFFFFF;
  color: #29355A;
}
.p-archive-news__link:hover .p-archive-news__date {
  color: #FFFFFF;
}
.p-archive-news__link:hover .p-archive-news__title {
  color: #FFFFFF;
}
.p-archive-news__link:hover .p-archive-news__excerpt {
  color: #FFFFFF;
}
.p-archive-news__link:hover .p-archive-news__more-text {
  color: #FFFFFF;
}
.p-archive-news__link:hover .p-archive-news__more-icon {
  background-color: #FFFFFF;
}
.p-archive-news__link:hover .p-archive-news__more-icon::after {
  border-top: 2px solid #29355A;
  border-right: 2px solid #29355A;
}
.p-archive-news__link:hover img {
  scale: 1.05;
}
.p-archive-news__img-wrap {
  flex-shrink: 0;
  width: 18.75rem;
  height: 12.5rem;
  overflow: hidden;
}
.p-archive-news__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.p-archive-news__content {
  display: flex;
  flex: 1 0 0;
  gap: 1.25rem;
  align-items: center;
  align-self: stretch;
  min-width: 0;
}
.p-archive-news__body {
  display: flex;
  flex-direction: column;
  flex: 1 0 0;
  gap: 1rem;
  min-width: 0;
}
.p-archive-news__meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.p-archive-news__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5625rem;
  padding: 0.375rem 0.75rem;
  background-color: #082B9E;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  white-space: nowrap;
}
.p-archive-news__date {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #29355A;
  white-space: nowrap;
}
.p-archive-news__title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #29355A;
  line-height: 1.5;
}
.p-archive-news__excerpt {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #29355A;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-archive-news__more {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.9375rem;
  align-items: center;
  justify-content: center;
  width: 4.75rem;
}
.p-archive-news__more-text {
  display: block;
  width: 100%;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #082B9E;
  text-align: right;
}
.p-archive-news__more-icon {
  position: relative;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background-color: #082B9E;
}
.p-archive-news__more-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 0.125rem);
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-archive-news__empty {
  color: #29355A;
}
.p-archive-news__back {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-archive-news {
    padding-bottom: 3rem;
  }
  .p-archive-news .l-inner {
    gap: 2.5rem;
    padding-top: 1.5rem;
  }
  .p-archive-news__link {
    flex-direction: column;
    gap: 1rem;
  }
  .p-archive-news__img-wrap {
    width: 100%;
    height: 11.25rem;
  }
  .p-archive-news__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .p-archive-news__title {
    font-size: 1rem;
  }
  .p-archive-news__excerpt {
    font-size: 0.875rem;
  }
  .p-archive-news__more {
    flex-direction: row;
    width: 100%;
    justify-content: flex-end;
  }
}
.p-archive-voice__inner {
  width: 100%;
  max-width: 60rem;
  padding-inline: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-archive-voice__inner {
    max-width: 37.5rem;
    padding-inline: 0.875rem;
  }
}
.p-archive-voice__lead-row {
  padding-block: 2.5rem;
}
.p-archive-voice__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
.p-archive-voice__row {
  padding-block: 3.75rem;
}
.p-archive-voice__row--alt {
  background: #d6dfe9;
}
.p-archive-voice__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-archive-voice__comment {
  display: flex;
  gap: 1.875rem;
  align-items: flex-start;
}
.p-archive-voice__customer-photo {
  width: 9.375rem;
  height: 9.375rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.p-archive-voice__photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-archive-voice__bubble {
  position: relative;
  flex: 1;
  background: #FFFFFF;
  border-radius: 1.25rem;
  padding: 1.875rem 1.25rem;
  min-height: 9.375rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  align-items: flex-end;
}
.p-archive-voice__bubble::before {
  content: "";
  position: absolute;
  left: -1.375rem;
  bottom: 5.3125rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.46875rem 1.375rem 0.46875rem 0;
  border-color: transparent #FFFFFF transparent transparent;
}
.p-archive-voice__bubble-text {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: normal;
}
.p-archive-voice__date {
  width: 100%;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #29355A;
  letter-spacing: 0.1em;
  line-height: 1.5rem;
}
.p-archive-voice__reply {
  display: flex;
  gap: 1.875rem;
  align-items: flex-start;
  justify-content: flex-end;
}
.p-archive-voice__reply-bubble {
  position: relative;
  flex: 1;
  max-width: 42.5rem;
  background: #F7F7F7;
  border-radius: 1.25rem;
  padding: 1.875rem 1.25rem;
  min-height: 6.25rem;
}
.p-archive-voice__reply-bubble::after {
  content: "";
  position: absolute;
  right: -1.375rem;
  bottom: 2.8125rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.46875rem 0 0.46875rem 1.375rem;
  border-color: transparent transparent transparent #F7F7F7;
}
.p-archive-voice__reply-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: normal;
}
.p-archive-voice__staff-photo {
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: #FFFFFF;
  position: relative;
}
.p-archive-voice__staff-photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 80%;
  height: auto;
}
.p-archive-voice__footer-row {
  padding-block: 2.5rem 5rem;
}
.p-archive-voice__footer-row .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}
.p-archive-voice__footer-row .c-pagination {
  margin-top: 0;
}
.p-archive-voice__empty {
  padding-block: 3.75rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .p-archive-voice__lead-row {
    padding-block: 2rem;
  }
  .p-archive-voice__lead {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
  .p-archive-voice__row {
    padding-block: 2rem;
  }
  .p-archive-voice__comment {
    flex-direction: column;
    gap: 1rem;
  }
  .p-archive-voice__customer-photo {
    width: 6.25rem;
    height: 6.25rem;
    position: relative;
    z-index: 1;
  }
  .p-archive-voice__bubble {
    margin-block-start: -1.875rem;
    padding: 1.25rem 1rem;
  }
  .p-archive-voice__bubble::before {
    display: none;
  }
  .p-archive-voice__bubble-text {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
  .p-archive-voice__reply {
    gap: 0.625rem;
  }
  .p-archive-voice__reply-bubble {
    max-width: 100%;
    padding: 1rem;
  }
  .p-archive-voice__reply-bubble::after {
    display: none;
  }
  .p-archive-voice__empty {
    font-size: 0.875rem;
  }
  .p-archive-voice__reply-text {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }
  .p-archive-voice__staff-photo {
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-archive-voice__footer-row {
    padding-block: 2.5rem 3.75rem;
  }
  .p-archive-voice__footer-row .l-inner {
    gap: 2.5rem;
  }
}
.p-news-slider {
  padding-bottom: 5rem;
}
.p-news-slider__body {
  padding-top: 2.5rem;
}
.p-news-slider__body .c-works-card__date {
  text-align: right;
}
.p-news-slider__link {
  padding-top: 2.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-news-slider {
    padding-bottom: 3rem;
  }
  .p-news-slider__body {
    padding-top: 1.5rem;
  }
  .p-news-slider__link {
    padding-top: 1.5rem;
  }
}
.p-sales-archive {
  padding-block: 2.5rem 5rem;
}
.p-sales-archive .c-pagination {
  margin-top: 0;
}
.p-sales-archive__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 3.75rem;
}
.p-sales-archive__filter-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.75rem;
  padding: 0.375rem 0.75rem;
  border: 0.0625rem solid #082B9E;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: normal;
  color: #082B9E;
  transition: background 0.2s, color 0.2s;
}
.p-sales-archive__filter-item.--active, .p-sales-archive__filter-item[aria-current=page] {
  background: #082B9E;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-sales-archive__filter-item:hover {
    opacity: 1;
    background: #082B9E;
    color: #FFFFFF;
  }
}
.p-sales-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
  margin-bottom: 3.75rem;
}
.p-sales-archive__card {
  width: 100%;
  box-shadow: 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.25);
}
@media (any-hover: hover) {
  .p-sales-archive__card .c-util-card__link:hover {
    box-shadow: none;
    translate: 0 -0.25rem;
  }
}
.p-sales-archive__empty {
  grid-column: 1/-1;
  padding-block: 3.75rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #5F5F5F;
}
.p-sales-archive__back {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
.p-sales-archive__back-link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: #082B9E;
}
@media (any-hover: hover) {
  .p-sales-archive__back-link:hover {
    opacity: 1;
  }
  .p-sales-archive__back-link:hover .p-sales-archive__back-icon {
    background: #082B9E;
  }
  .p-sales-archive__back-link:hover .p-sales-archive__back-icon::before {
    border-color: #FFFFFF;
  }
}
.p-sales-archive__back-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
.p-sales-archive__back-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
  border: 0.125rem solid #082B9E;
  transition: background 0.2s;
}
.p-sales-archive__back-icon::before {
  content: "";
  display: block;
  width: 0.5625rem;
  height: 0.5625rem;
  border-top: 0.125rem solid #082B9E;
  border-right: 0.125rem solid #082B9E;
  rotate: 45deg;
  translate: -0.125rem 0;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-sales-archive {
    padding-block: 2rem 3.75rem;
  }
  .p-sales-archive__filter {
    margin-bottom: 2rem;
  }
  .p-sales-archive__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2.5rem;
  }
  .p-sales-archive__empty {
    font-size: 0.875rem;
  }
  .p-sales-archive__back-text {
    font-size: 0.875rem;
  }
  .p-sales-archive__back-icon {
    width: 2.25rem;
    height: 2.25rem;
  }
}
@media (max-width: 599px) {
  .p-sales-archive__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-works-archive {
  padding-block: 2.5rem 5rem;
}
.p-works-archive .c-pagination {
  margin-top: 0;
}
.p-works-archive__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 3.75rem;
}
.p-works-archive__filter-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5625rem;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid #082B9E;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: normal;
  color: #082B9E;
  transition: background 0.2s, color 0.2s;
}
.p-works-archive__filter-item.--active, .p-works-archive__filter-item[aria-current=page] {
  background: #082B9E;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .p-works-archive__filter-item:hover {
    opacity: 1;
    background: #082B9E;
    color: #FFFFFF;
  }
}
.p-works-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
  margin-bottom: 3.75rem;
}
.p-works-archive__grid .c-works-card {
  width: 100%;
}
.p-works-archive__grid .c-works-card__date {
  text-align: right;
}
.p-works-archive__empty {
  grid-column: 1/-1;
  padding-block: 3.75rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  color: #5F5F5F;
}
.p-works-archive__back {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-works-archive {
    padding-block: 2rem 3.75rem;
  }
  .p-works-archive__filter {
    margin-bottom: 2rem;
  }
  .p-works-archive__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 2.5rem;
  }
  .p-works-archive__empty {
    font-size: 0.875rem;
  }
}
@media (max-width: 599px) {
  .p-works-archive__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-works-slider {
  padding-bottom: 5rem;
}
.p-works-slider__body {
  padding-top: 2.5rem;
}
.p-works-slider__body .c-works-card__date {
  text-align: right;
}
.p-works-slider__link {
  padding-top: 2.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-works-slider {
    padding-bottom: 3rem;
  }
  .p-works-slider__body {
    padding-top: 1.5rem;
  }
  .p-works-slider__link {
    padding-top: 1.5rem;
  }
}
.p-access-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.p-access-modal.is-open {
  visibility: visible;
  opacity: 1;
}
.p-access-modal.is-open .p-access-modal__box {
  transform: scale(1);
}
.p-access-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.p-access-modal__box {
  position: relative;
  z-index: 1;
  width: 68.75rem;
  max-width: calc(100vw - 2.5rem);
  max-height: calc(100vh - 2.5rem);
  overflow-y: auto;
  background: #F7F7F7;
  padding: 7.5rem 7.5rem;
  transform: scale(0.96);
  transition: transform 0.3s ease;
}
.p-access-modal__close {
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
  width: 1.75rem;
  height: 1.75rem;
  background: #D1D1D2;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.p-access-modal__close::before, .p-access-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9375rem;
  height: 0.125rem;
  background: #FFFFFF;
  border-radius: 0.0625rem;
}
.p-access-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-access-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (any-hover: hover) {
  .p-access-modal__close:hover::before, .p-access-modal__close:hover::after {
    background: #082B9E;
  }
}
.p-access-modal__content {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
}
.p-access-modal__info {
  flex: 1;
  min-width: 0;
}
.p-access-modal__name-en {
  font-family: "Purple Purse", serif;
  font-size: 1.375rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #29355A;
  line-height: normal;
}
.p-access-modal__name-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #29355A;
  margin-top: 0.25rem;
}
.p-access-modal__address {
  font-style: normal;
  margin-top: 2.5rem;
}
.p-access-modal__address-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #29355A;
}
.p-access-modal__dl {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.p-access-modal__dl-row {
  display: flex;
  gap: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #29355A;
  line-height: 1.8;
}
.p-access-modal__dl-row dt {
  white-space: nowrap;
  flex-shrink: 0;
}
.p-access-modal__dl-row dt::after {
  content: "：";
}
.p-access-modal__dl-row dd a {
  color: inherit;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-access-modal__dl-row dd a:hover {
    text-decoration: underline;
  }
}
.p-access-modal__map {
  flex-shrink: 0;
  width: 31.875rem;
  height: 21.875rem;
}
.p-access-modal__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-access-modal {
    align-items: flex-end;
  }
  .p-access-modal__box {
    width: 100%;
    max-width: 100%;
    max-height: 90vh;
    padding: 3rem 1.25rem 2rem;
  }
  .p-access-modal__content {
    flex-direction: column;
  }
  .p-access-modal__map {
    width: 100%;
    height: 15rem;
  }
}
.p-contact {
  padding-block: 2.5rem 5rem;
}
.p-contact__inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  max-width: 56.25rem;
}
.p-contact__head p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #29355A;
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    max-width: 37.5rem;
  }
  .p-contact__head p {
    font-size: 1rem;
  }
}
.p-form .wpcf7 {
  width: 100%;
}
.p-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.p-form__main {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.p-form dl {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}
.p-form dt, .p-form dd {
  margin: 0;
  padding: 0;
}
.p-form__label {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.p-form__label p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #29355A;
  margin: 0;
}
.p-form__label.--file {
  display: block;
}
.p-form__require {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  background-color: #082B9E;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  white-space: nowrap;
}
.p-form__input {
  display: block;
  width: 100%;
  padding: 1rem 1.5rem;
  background-color: #FFFFFF;
  border: 1px solid #D1D1D2;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #29355A;
  outline: none;
  transition: border-color 0.2s;
}
.p-form__input::placeholder {
  color: #D1D1D2;
}
.p-form__input:focus {
  border-color: #082B9E;
}
.p-form__textarea {
  display: block;
  width: 100%;
  height: 10rem;
  padding: 1rem 1.5rem;
  background-color: #FFFFFF;
  border: 1px solid #D1D1D2;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #29355A;
  resize: vertical;
  outline: none;
  transition: border-color 0.2s;
}
.p-form__textarea::placeholder {
  color: #D1D1D2;
}
.p-form__textarea:focus {
  border-color: #082B9E;
}
.p-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.p-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}
.p-form .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #29355A;
  line-height: 1.5;
}
.p-form .wpcf7-radio .wpcf7-list-item input[type=radio] {
  appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #FFFFFF;
  border: 1px solid #082B9E;
  border-radius: 50%;
  cursor: pointer;
  transition: border-color 0.15s;
}
.p-form .wpcf7-radio .wpcf7-list-item input[type=radio]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background-color: #082B9E;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.15s, transform 0.15s;
}
.p-form .wpcf7-radio .wpcf7-list-item input[type=radio]:checked::after {
  opacity: 1;
  transform: scale(1);
}
.p-form .wpcf7-file {
  display: block;
  width: 100%;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  color: #29355A;
  cursor: pointer;
}
.p-form .wpcf7-file::file-selector-button {
  padding: 0.5rem 1.5rem;
  height: 3.5rem;
  background-color: #D1D1D2;
  border: none;
  border-radius: 0.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #29355A;
  cursor: pointer;
  margin-right: 1.5rem;
}
.p-form__file-note {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #082B9E;
  line-height: 1.5;
}
.p-form__comment {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  display: block;
  margin-block-start: 0.5rem;
  color: #082B9E;
}
.p-form__check {
  appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #FFFFFF;
  border: 1px solid #082B9E;
  border-radius: 0.125rem;
  cursor: pointer;
  transition: background-color 0.15s;
}
.p-form__check::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0.375rem;
  height: 0.6875rem;
  border-right: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  transform: translateY(-10%) rotate(45deg);
  opacity: 0;
  transition: opacity 0.15s;
}
.p-form__check:checked {
  background-color: #082B9E;
}
.p-form__check:checked::after {
  opacity: 1;
}
.p-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.p-form .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.p-form .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #29355A;
  line-height: 1.5;
}
.p-form .wpcf7-acceptance .wpcf7-list-item-label a {
  color: #082B9E;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-form__submit {
  display: flex;
  justify-content: center;
  position: relative;
}
.p-form .wpcf7-spinner {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 20%;
  margin: 0;
}
.p-form .c-btn-square {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 20rem;
  height: 3.5rem;
  padding: 1rem;
  background-color: #082B9E;
  border: solid 1px #082B9E;
  border-radius: 0.125rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  line-height: 1.5;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
}
.p-form .c-btn-square:hover {
  opacity: 1;
  background-color: #FFFFFF;
  color: #082B9E;
}
.p-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: #E50808;
  letter-spacing: 0.04em;
}
.p-form .wpcf7-response-output {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-form .wpcf7-form {
    gap: 2.5rem;
  }
  .p-form__main {
    gap: 2.5rem;
  }
  .p-form__label p {
    font-size: 1rem;
  }
  .p-form__input {
    font-size: 0.875rem;
  }
  .p-form__textarea {
    font-size: 0.875rem;
  }
  .p-form .wpcf7-radio {
    gap: 0.75rem 1.25rem;
  }
  .p-form .wpcf7-radio label {
    font-size: 0.875rem;
  }
  .p-form .wpcf7-list-item .wpcf7-list-item-label,
  .p-form .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 0.875rem;
  }
  .p-form .c-btn-square {
    width: 100%;
    font-size: 0.875rem;
  }
}
.p-error {
  padding-block: 5rem 7.5rem;
  text-align: center;
}
.p-error__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
.p-error__number {
  font-family: "Inter", sans-serif;
  font-size: 12.5rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #C3CBE5;
}
.p-error__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.p-error__lead {
  font-family: "Noto Serif JP", serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #29355A;
}
.p-error__text {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .p-error {
    padding-block: 3rem 2.5rem;
  }
  .p-error__number {
    font-size: 7.5rem;
  }
  .p-error__lead {
    font-size: 1.375rem;
  }
  .p-error__text {
    font-size: 0.875rem;
  }
}
.p-faq-contents {
  width: 100%;
}
.p-faq-contents__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-faq-contents__item {
  border-bottom: 1px solid #29355A;
}
.p-faq-contents__question {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-block: 1.5rem;
  padding-inline: 0.5rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.p-faq-contents__q, .p-faq-contents__a {
  font-family: "Inter", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  width: 1.5rem;
  text-align: center;
}
.p-faq-contents__q {
  color: #082B9E;
  padding-top: 0.1875rem;
}
.p-faq-contents__a {
  color: #082B9E;
  padding-top: 0.375rem;
}
.p-faq-contents__question-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1.6;
  flex: 1;
  color: #29355A;
}
.p-faq-contents__arrow {
  flex-shrink: 0;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border-right: 2px solid #082B9E;
  border-bottom: 2px solid #082B9E;
  rotate: 45deg;
  translate: 0 -0.1875rem;
  transition: rotate 0.3s ease, translate 0.3s ease;
  margin-left: 0.5rem;
}
.p-faq-contents__item.is-open .p-faq-contents__arrow {
  rotate: -135deg;
  translate: 0 0.1875rem;
}
.p-faq-contents__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}
.p-faq-contents__item.is-open .p-faq-contents__answer {
  grid-template-rows: 1fr;
}
.p-faq-contents__answer-inner {
  overflow: hidden;
  display: flex;
  gap: 1.25rem;
  padding-inline: 0.5rem;
}
.p-faq-contents__answer-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #5F5F5F;
  letter-spacing: 0.05em;
  line-height: 1.8;
  max-width: 53.125rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-faq-contents__question {
    gap: 0.375rem;
    padding-block: 1.125rem;
    padding-inline: 0rem;
  }
  .p-faq-contents__q, .p-faq-contents__a {
    font-size: 1rem;
  }
  .p-faq-contents__question-text {
    font-size: 0.875rem;
  }
  .p-faq-contents__answer-inner {
    gap: 0.375rem;
    padding-inline: 0;
  }
  .p-faq-contents__answer-text {
    font-size: 0.875rem;
    padding-bottom: 1.125rem;
  }
}
.p-link-list {
  display: flex;
  list-style: none;
  height: 14.1875rem;
}
.p-link-list__item {
  flex: 1;
  min-width: 0;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.p-link-list__item::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  border: solid 0.0625rem #FFFFFF;
  z-index: 2;
}
.p-link-list__item::after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 1.25rem 1.25rem;
  border-color: transparent transparent #FFFFFF transparent;
  z-index: 3;
}
.p-link-list__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2.5rem;
  width: 100%;
  height: 100%;
  text-decoration: none;
  overflow: hidden;
}
.p-link-list__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 23, 34, 0.6);
  z-index: 1;
  transition: left 0.3s ease;
}
@media (any-hover: hover) {
  .p-link-list__card:hover {
    opacity: 1;
  }
  .p-link-list__card:hover img {
    scale: 1.05;
  }
  .p-link-list__card:hover::before {
    left: 100%;
  }
}
.p-link-list__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-link-list__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.p-link-list__title {
  position: relative;
  z-index: 2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #FFFFFF;
}
.p-link-list__desc {
  position: relative;
  z-index: 2;
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #FFFFFF;
}
.p-link-list__arrow {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  display: block;
  width: 0;
  height: 0;
  border-top: 0.3125rem solid transparent;
  border-bottom: 0.3125rem solid transparent;
  border-left: 0.5rem solid #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-link-list {
    height: auto;
    flex-wrap: wrap;
  }
  .p-link-list__item {
    flex: 1 0 50%;
  }
  .p-link-list__card {
    padding: 1.5rem 1rem;
    min-height: 9.375rem;
  }
  .p-link-list__title {
    font-size: 1rem;
  }
  .p-link-list__desc {
    font-size: 0.75rem;
  }
}
.p-privacy {
  padding-block: 2.5rem 5rem;
}
.p-privacy .l-inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  max-width: 61.25rem;
}
.p-privacy__content {
  max-width: 56.25rem;
  width: 100%;
}
.p-privacy__content > p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #29355A;
  margin: 0;
}
.p-privacy__content > h2 {
  margin-top: 5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #D1D1D2;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #29355A;
}
.p-privacy__back {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-privacy {
    padding-block: 2rem 3.75rem;
  }
  .p-privacy .l-inner {
    gap: 2.5rem;
    max-width: 37.5rem;
  }
  .p-privacy__content > p {
    font-size: 0.875rem;
  }
  .p-privacy__content > h2 {
    margin-top: 3rem;
    font-size: 1.125rem;
  }
}
.p-section-contact {
  display: block;
  position: relative;
  padding-block: 3.75rem;
  background-color: #162746;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}
.p-section-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: -6.25rem;
  right: -6.25rem;
  bottom: 0;
  background: rgba(41, 53, 90, 0.5);
  transition: all 0.3s ease;
  transform: skewX(-30deg);
}
.p-section-contact::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -6.25rem;
  right: -6.25rem;
  background: #162746;
  transform: translateX(0) skewX(-30deg);
  pointer-events: none;
  z-index: 2;
}
.p-section-contact.is-shine::after {
  animation: contact-shine 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.2s forwards;
}
@media (any-hover: hover) {
  .p-section-contact:hover {
    opacity: 1;
  }
  .p-section-contact:hover::before {
    left: calc(100% + 6.3125rem);
  }
  .p-section-contact:hover img {
    scale: 1.05;
  }
  .p-section-contact:hover .p-section-contact__btn-text {
    transform: translateY(-1.6875rem);
  }
  .p-section-contact:hover .p-section-contact__btn-icon {
    background-color: #29355A;
  }
  .p-section-contact:hover .p-section-contact__btn-icon::before, .p-section-contact:hover .p-section-contact__btn-icon::after {
    background-color: #FFFFFF;
  }
}
.p-section-contact__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-section-contact__bg img {
  transition: all 0.3s ease;
}
.p-section-contact__bg-logo {
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: 7.5rem;
  translate: 0 -50%;
  height: 28.125rem;
  width: auto;
  opacity: 0.1;
}
.p-section-contact__bg-person {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
  height: 25rem;
  width: auto;
}
.p-section-contact__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
}
.p-section-contact__title {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
}
.p-section-contact__title-logo {
  width: 2.5rem;
  height: auto;
  flex-shrink: 0;
}
.p-section-contact__title-ja {
  font-family: "Noto Serif JP", serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  white-space: nowrap;
}
.p-section-contact__title-en {
  font-family: "Purple Purse", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  white-space: nowrap;
}
.p-section-contact__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
}
.p-section-contact__lead span {
  font-size: 1.5rem;
}
.p-section-contact__btn {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-section-contact__btn-text-wrap {
  height: 1.6875rem;
  overflow: hidden;
}
.p-section-contact__btn-text {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  line-height: 1.6875rem;
  margin-right: 0.75rem;
  transition: transform 0.3s ease;
}
.p-section-contact__btn-icon {
  background-color: #efefef;
  border: 1px solid #efefef;
  border-radius: 50%;
  width: 2.8125rem;
  height: 2.8125rem;
  flex-shrink: 0;
  position: relative;
  transition: background-color 0.3s ease;
}
.p-section-contact__btn-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.4375rem;
  height: 0.125rem;
  background-color: #082B9E;
  transition: background-color 0.3s ease;
}
.p-section-contact__btn-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(45deg) translate(-0.1825rem, -0.3125rem);
  width: 0.625rem;
  height: 0.125rem;
  background-color: #082B9E;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-section-contact {
    padding-inline: 1rem;
    padding-block: 3rem;
  }
  .p-section-contact__inner {
    max-width: 100%;
  }
  .p-section-contact__bg-logo {
    height: auto;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
  }
  .p-section-contact__bg-person {
    display: none;
  }
  .p-section-contact__title {
    gap: 0.625rem;
  }
  .p-section-contact__title-logo {
    width: 2.25rem;
  }
  .p-section-contact__title-ja {
    font-size: 2.25rem;
    line-height: 2.25rem;
  }
  .p-section-contact__title-en {
    font-size: 1rem;
  }
  .p-section-contact__btn-text {
    font-size: 1rem;
  }
  .p-section-contact__lead {
    font-size: 0.875rem;
  }
  .p-section-contact__lead span {
    font-size: 1.0625rem;
  }
}
@keyframes contact-shine {
  from {
    transform: translateX(0) skewX(-30deg);
  }
  to {
    transform: translateX(130%) skewX(-30deg);
  }
}
.p-section-faq {
  padding-block: 5rem;
}
.p-section-faq__inner {
  margin-top: 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-section-faq {
    padding-block: 3rem;
  }
  .p-section-faq__inner {
    margin-top: 2.5rem;
    gap: 2.5rem;
  }
}
.p-slider__track {
  position: relative;
}
.p-slider .splide__track {
  overflow: visible;
}
.p-slider__nav {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1280px;
  padding: 0 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 10;
}
.p-slider__btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.66);
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.2s ease;
  position: relative;
}
@media (any-hover: hover) {
  .p-slider__btn:hover {
    background: rgba(255, 255, 255, 0.9);
  }
}
.p-slider__btn-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 0.625rem;
  height: 0.625rem;
  border-top: solid 1px #29355A;
  border-left: solid 1px #29355A;
  rotate: -45deg;
}
.p-slider__btn-icon.--next {
  rotate: 135deg;
}
@media screen and (max-width: 767px) {
  .p-slider__nav {
    max-width: none;
    padding: 0 0.5rem;
  }
}
.p-sub-header {
  position: relative;
  height: 18.75rem;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
}
.p-sub-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(41, 53, 90, 0.65);
  background: linear-gradient(90deg, rgba(41, 53, 90, 0.65) 70%, rgba(41, 53, 90, 0.1) 90%);
  z-index: 1;
}
.p-sub-header::after {
  content: "";
  position: absolute;
  top: 0;
  right: 2.5rem;
  height: 100%;
  width: 1.5rem;
  background: linear-gradient(to right, #FFFFFF 0.75rem, #E9BD12 0.75rem);
  z-index: 3;
}
.p-sub-header__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-sub-header__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sub-header__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3.75rem 7.5rem;
  display: flex;
  align-items: center;
  height: 90%;
}
.--is-single .p-sub-header__inner {
  width: 100%;
  max-width: 1280px;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .--is-single .p-sub-header__inner {
    max-width: 600px;
    padding: 0 0.875rem;
  }
}
.p-sub-header__title-wrap {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.--is-single .p-sub-header__title-wrap {
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-sub-header__logo {
  width: 3.875rem;
  height: auto;
  flex-shrink: 0;
  padding-top: 0.375rem;
}
.--is-single .p-sub-header__logo {
  display: none;
}
.p-sub-header__title-ja {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #efefef;
  white-space: nowrap;
}
.--is-single .p-sub-header__title-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 2.25rem;
  white-space: wrap;
}
.p-sub-header__title-en {
  font-family: "Purple Purse", serif;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #efefef;
  white-space: nowrap;
  padding-block-start: 0.75rem;
}
.--is-single .p-sub-header__title-en {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  width: 100%;
  white-space: wrap;
}
@media screen and (max-width: 767px) {
  .p-sub-header {
    height: 10rem;
    clip-path: polygon(0 0, 100% 0, 100% 83%, 0 100%);
  }
  .p-sub-header.--is-single {
    height: auto;
  }
  .p-sub-header.--is-single::after {
    display: none;
  }
  .p-sub-header::after {
    width: 1rem;
    right: 0.75rem;
    background: linear-gradient(to right, #FFFFFF 0.5rem, #E9BD12 0.5rem);
  }
  .p-sub-header__inner {
    padding: 2rem 1rem;
  }
  .--is-single .p-sub-header__inner {
    padding-block: 1.25rem 2rem;
    padding-inline: 1rem;
  }
  .p-sub-header__logo {
    width: 2.25rem;
    padding-block-start: 0.375rem;
  }
  .p-sub-header__title-wrap {
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
  }
  .--is-single .p-sub-header__title-wrap {
    row-gap: 0.25rem;
  }
  .p-sub-header__title-ja {
    font-size: 1.75rem;
  }
  .--is-single .p-sub-header__title-ja {
    font-size: 1.25rem;
  }
  .p-sub-header__title-en {
    flex-basis: 100%;
    padding-block-start: 0;
    padding-inline-start: 3.25rem;
    font-size: 1.125rem;
  }
  .--is-single .p-sub-header__title-en {
    font-size: 1rem;
    padding-inline-start: 0;
  }
}
.p-footer {
  background-color: #082B9E;
  padding-block: 5rem;
}
.p-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.p-footer__content {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
}
.p-footer__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-footer__logo {
  width: 6.25rem;
  height: 5.75rem;
  overflow: hidden;
  flex-shrink: 0;
}
.p-footer__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-footer__address-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.p-footer__shop-name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.p-footer__address {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.p-footer__address-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.p-footer__map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}
@media (any-hover: hover) {
  .p-footer__map-link:hover {
    opacity: 1;
    text-decoration: none;
  }
}
.p-footer__map-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.p-footer__nav {
  display: flex;
  gap: 1.5rem;
  flex-shrink: 0;
}
.p-footer__nav-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  min-width: 11.75rem;
}
.p-footer__nav-list--sub {
  min-width: auto;
}
.p-footer__nav-item {
  padding-block: 0.5rem;
}
.p-footer__nav-link {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (any-hover: hover) {
  .p-footer__nav-link:hover {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}
.p-footer__nav-list--sub .p-footer__nav-link {
  font-weight: 500;
}
.p-footer__credits {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-footer__divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  margin: 0;
}
.p-footer__credits-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.p-footer__copyright p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.5;
}
.p-footer__privacy-link {
  font-size: 0.75rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (any-hover: hover) {
  .p-footer__privacy-link:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-block: 3rem;
  }
  .p-footer__inner {
    gap: 3rem;
  }
  .p-footer__content {
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-footer__shop-name {
    font-size: 0.875rem;
  }
  .p-footer__nav {
    max-width: none;
    width: 100%;
  }
  .p-footer__credits-row {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-top-about {
  padding-block: 5rem;
}
.p-top-about__body {
  margin-top: 2.5rem;
}
.p-top-about__content {
  display: flex;
  gap: 5rem;
  align-items: center;
}
.p-top-about__text-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: flex-end;
}
.p-top-about__heading {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  width: 100%;
}
.p-top-about__heading-line {
  display: block;
  width: 5rem;
  height: 1px;
  background-color: #29355A;
  flex-shrink: 0;
}
.p-top-about__heading-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: normal;
}
.p-top-about__lead {
  width: 100%;
  padding-left: 6.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-top-about__lead p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #29355A;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-top-about__img-wrap {
  width: 31.25rem;
  height: 34.4375rem;
  flex-shrink: 0;
  overflow: hidden;
}
.p-top-about__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding-bottom: 3rem;
  }
  .p-top-about__body {
    margin-top: 2rem;
  }
  .p-top-about__content {
    flex-direction: column-reverse;
    gap: 2rem;
  }
  .p-top-about__text-col {
    gap: 2rem;
    align-items: flex-start;
    width: 100%;
  }
  .p-top-about__heading {
    gap: 0.75rem;
  }
  .p-top-about__heading-line {
    width: 2.5rem;
  }
  .p-top-about__heading-text {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  .p-top-about__lead {
    padding-left: 0;
    gap: 0.75rem;
  }
  .p-top-about__lead p {
    font-size: 0.875rem;
  }
  .p-top-about__img-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
}
.p-top-mv {
  display: flex;
  align-items: center;
  padding-left: 7.5rem;
  padding-bottom: 5rem;
}
.p-top-mv__scroll-wrap {
  flex-shrink: 0;
  width: 2.0625rem;
  height: 15.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-top-mv__scroll-inner {
  transform: rotate(90deg);
  position: relative;
  width: 15.625rem;
  height: 2.0625rem;
}
.p-top-mv__scroll-row {
  position: absolute;
  top: 0;
  left: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 12.5rem;
}
.p-top-mv__scroll-text {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: #082B9E;
  user-select: none;
  line-height: 1;
}
.p-top-mv__car-anim {
  animation: mv-car-bounce 2s ease-in-out infinite;
  display: flex;
  align-items: center;
}
.p-top-mv__scroll-car {
  display: block;
  width: 5rem;
  height: auto;
  transform: scaleY(-1) rotate(180deg);
}
.p-top-mv__scroll-line-wrap {
  position: absolute;
  top: 1.79625rem;
  left: 0;
  width: 15.625rem;
  line-height: 0;
}
.p-top-mv__scroll-line {
  display: block;
  width: 100%;
  height: 0.5rem;
}
.p-top-mv__media {
  flex: 1;
  min-width: 0;
  position: relative;
  border-radius: 7.5rem 0 0 0;
  overflow: hidden;
  margin-left: 2.5rem;
  height: calc(100vh - 9.875rem);
  max-height: 53.125rem;
  min-height: 31.25rem;
  align-self: flex-start;
}
.p-top-mv__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-mv__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}
.p-top-mv__logo-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.p-top-mv__logo {
  width: 50rem;
  height: auto;
  opacity: 0.2;
  translate: 50%;
}
.p-top-mv__message {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -65%;
  padding-block: 1.25rem;
  padding-inline: 2.5rem 5rem;
  opacity: 0.8;
}
.p-top-mv__message-en {
  width: 18.75rem;
  height: auto;
  object-fit: contain;
  rotate: -2deg;
}
.p-top-mv__message-main {
  font-size: 3.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
  color: #FFFFFF;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s 0.8s cubic-bezier(0.37, 0, 0.63, 1);
}
.p-top-mv__message-main.is-animated {
  clip-path: inset(0);
}
.p-top-mv__message-main span {
  font-size: 3.75rem;
}
.p-top-mv__message-sub {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  color: #29355A;
  color: #FFFFFF;
  margin-block-start: 0.625rem;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s cubic-bezier(0.37, 0, 0.63, 1);
}
.p-top-mv__message-sub.is-animated {
  clip-path: inset(0);
}
.p-top-mv__message-sub span {
  font-size: 2rem;
}
.p-top-mv__news {
  position: absolute;
  bottom: 1.25rem;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0.25rem 0.25rem 0.125rem rgba(0, 0, 0, 0.25);
  padding-block: 0.5rem;
  padding-inline: 1rem 2.5rem;
  text-decoration: none;
  min-width: 60vw;
  border-radius: 0.625rem 0 0 0;
}
@media (any-hover: hover) {
  .p-top-mv__news:hover {
    opacity: 1;
    background: rgba(209, 209, 210, 0.8);
  }
  .p-top-mv__news:hover img {
    scale: 1.1;
  }
}
.p-top-mv__news-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: normal;
}
.p-top-mv__news-content {
  display: flex;
  gap: 0.625rem;
  align-items: start;
}
.p-top-mv__news-thumb {
  width: 6.25rem;
  height: auto;
  flex-shrink: 0;
  overflow: hidden;
}
.p-top-mv__news-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3/2;
  transition: all 0.3s ease;
}
.p-top-mv__news-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 1rem 1rem;
  width: calc(100% - 7.5rem);
}
.p-top-mv__news-meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.p-top-mv__news-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  background: #29355A;
  border-radius: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
.p-top-mv__news-date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #29355A;
  letter-spacing: 0.075em;
  line-height: 1.5;
  white-space: nowrap;
}
.p-top-mv__news-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #29355A;
  letter-spacing: 0.2em;
  line-height: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .p-top-mv {
    padding-left: 0;
    padding-bottom: 2rem;
    display: block;
  }
  .p-top-mv__scroll-wrap {
    display: none;
  }
  .p-top-mv__media {
    margin-left: 0;
    border-radius: 0;
    align-self: auto;
    height: 46.875rem;
  }
  .p-top-mv__logo {
    width: 13.75rem;
    opacity: 0.5;
    translate: 0 -110%;
  }
  .p-top-mv__message {
    translate: 0 -35%;
    padding-inline: 1rem;
  }
  .p-top-mv__message-en {
    width: 12.5rem;
  }
  .p-top-mv__message-main {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-top-mv__message-main span {
    font-size: 2.5rem;
  }
  .p-top-mv__message-sub {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
    margin-block-start: 0.5rem;
  }
  .p-top-mv__message-sub span {
    font-size: 1.25rem;
  }
  .p-top-mv__news {
    gap: 0.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem 1rem;
    width: calc(100vw - 1rem);
    border-radius: 0.625rem 0 0 0;
  }
  .p-top-mv__news-label {
    font-size: 0.875rem;
  }
  .p-top-mv__news-thumb {
    width: 5rem;
  }
  .p-top-mv__news-info {
    gap: 0.5rem;
    padding: 0;
    width: calc(100% - 6.25rem);
  }
  .p-top-mv__news-title {
    font-size: 0.875rem;
  }
}
@media (max-width: 599px) {
  .p-top-mv__news-thumb {
    display: none;
  }
  .p-top-mv__news-info {
    width: 100%;
  }
}
@keyframes mv-car-bounce {
  0%, 100% {
    transform: translateX(0);
  }
  95% {
    transform: translateX(1.875rem);
  }
}
.p-top-news {
  padding-block: 5rem;
}
.p-top-news__body {
  margin-top: 3.75rem;
}
.p-top-news__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-news {
    padding-bottom: 3rem;
  }
  .p-top-news__body {
    margin-top: 2.5rem;
  }
  .p-top-news__more-wrap {
    margin-top: 2.5rem;
  }
}
.p-top-sales {
  padding-bottom: 5rem;
  position: relative;
}
.p-top-sales::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 51.9375rem;
  height: 47.875rem;
  background: url(../images/logo-bg.webp) no-repeat center center/contain;
}
.p-top-sales__lead-wrap {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.p-top-sales__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #29355A;
  line-height: 1.5;
}
.p-top-sales__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-sales {
    padding-bottom: 3rem;
  }
  .p-top-sales::before {
    display: none;
  }
  .p-top-sales__lead-wrap {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .p-top-sales__lead {
    font-size: 0.875rem;
  }
  .p-top-sales__more-wrap {
    margin-top: 2rem;
  }
}
.p-top-voice {
  position: relative;
  padding-block: 5rem;
  background: url(../images/voice-bg.webp) no-repeat center center/cover;
}
.p-top-voice::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 0;
}
.p-top-voice > * {
  position: relative;
  z-index: 1;
}
.p-top-voice__inner {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
}
.p-top-voice__lead {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-top-voice__list {
  display: flex;
  gap: 3.75rem;
  align-items: flex-start;
  list-style: none;
}
.p-top-voice__item {
  width: 20.4375rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.p-top-voice__img-wrap {
  width: 9.375rem;
  height: 9.375rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.p-top-voice__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-voice__comment {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.2em;
  line-height: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.p-top-voice__date {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 0.075em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-top-voice {
    padding-bottom: 3rem;
  }
  .p-top-voice__inner {
    margin-top: 2rem;
    gap: 2.5rem;
  }
  .p-top-voice__lead {
    font-size: 0.875rem;
  }
  .p-top-voice__list {
    flex-direction: column;
    gap: 2.5rem;
    width: 100%;
  }
  .p-top-voice__item {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .p-top-voice__img-wrap {
    width: 5rem;
    height: 5rem;
  }
  .p-top-voice__comment {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
  .p-top-voice__date {
    width: 100%;
  }
}
.p-top-works {
  padding-block: 5rem;
}
.p-top-works__body {
  margin-block-start: 3.75rem;
}
.p-top-works__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.75rem;
  row-gap: 3.75rem;
}
.p-top-works__list .c-works-card {
  width: 100%;
}
.p-top-works__more-wrap {
  margin-block-start: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-works {
    padding-block: 3.75rem;
  }
  .p-top-works__body {
    margin-block-start: 2.5rem;
  }
  .p-top-works__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 0.75rem;
    row-gap: 1.5rem;
  }
  .p-top-works__more-wrap {
    margin-block-start: 2.5rem;
  }
}
@media (max-width: 500px) {
  .p-top-works__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-header-sticky__nav-list, .p-header__nav-list {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-header-sticky__nav-item, .p-header__nav-item {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.p-header-sticky__nav-item::after, .p-header__nav-item::after {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1.1875rem;
  background: #082B9E;
  flex-shrink: 0;
}
.p-header-sticky__nav-item:last-child::after, .p-header__nav-item:last-child::after {
  display: none;
}
.p-header-sticky__nav-link, .p-header__nav-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #082B9E;
  white-space: nowrap;
  line-height: 1.5;
  position: relative;
}
.p-header-sticky__nav-link::after, .p-header__nav-link::after {
  content: "";
  position: absolute;
  bottom: -0.25rem;
  left: 50%;
  translate: -50%;
  width: 80%;
  height: 0.125rem;
  background: #082B9E;
  opacity: 0;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-header-sticky__nav-link:hover, .p-header__nav-link:hover {
    opacity: 1;
  }
  .p-header-sticky__nav-link:hover::after, .p-header__nav-link:hover::after {
    opacity: 1;
  }
}
.p-header-sticky__access-btn, .p-header__access-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  background: #082B9E;
  border-radius: 62.4375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  white-space: nowrap;
  line-height: 1;
  cursor: pointer;
  border: none;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .p-header-sticky__access-btn:hover, .p-header__access-btn:hover {
    opacity: 1;
    background: #D1D1D2;
    color: #082B9E;
  }
}
.p-header {
  position: relative;
  z-index: 100;
  width: 100%;
}
.p-header__inner {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  width: 100%;
  margin-inline: auto;
  padding: 0.625rem 2.5rem;
}
.p-header__logo {
  flex-shrink: 0;
  width: 9.375rem;
  display: block;
}
.p-header__logo img {
  width: 100%;
  height: auto;
}
.p-header__sp-title {
  display: none;
}
.p-header__sp-title-sub {
  display: none;
}
.p-header__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.p-header__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
}
.p-header__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.p-header__subtitle {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #082B9E;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.p-header__subtitle-name {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
.p-header__subtitle-desc {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
.p-header__title {
  font-family: "Purple Purse", serif;
  font-weight: 400;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  color: #082B9E;
  line-height: 1;
}
.p-header__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}
.p-header__tel {
  font-family: "Purple Purse", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #082B9E;
  line-height: 1;
  white-space: nowrap;
}
.p-header__btns {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.p-header__instagram-link {
  display: block;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
}
.p-header__instagram-link img {
  width: 100%;
  height: auto;
}
.p-header__nav {
  display: flex;
  justify-content: flex-end;
}
.p-header__hamburger {
  display: none;
}
.p-header__hamburger-line {
  display: block;
  width: 1.5rem;
  height: 0.125rem;
  background: #082B9E;
  border-radius: 0.125rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.p-header__drawer {
  position: fixed;
  inset: 0;
  z-index: 99;
  pointer-events: none;
}
.p-header__drawer.is-open {
  pointer-events: auto;
}
.p-header__drawer-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.p-header__drawer.is-open .p-header__drawer-bg {
  opacity: 1;
}
.p-header__drawer-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 31.25rem;
  background: #082B9E;
  transform: translateX(100%);
  overflow-y: auto;
  padding: 6.25rem 1.5rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-header__drawer.is-open .p-header__drawer-content {
  transform: translateX(0);
}
.p-header__drawer-logo {
  width: 5rem;
  height: auto;
  object-fit: contain;
  margin-inline: auto;
}
.p-header__drawer-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.p-header__drawer-item {
  border-bottom: 1px solid #D1D1D2;
}
.p-header__drawer-item:nth-last-of-type(1) {
  border-bottom: none;
}
.p-header__drawer-link {
  display: block;
  padding: 1.125rem 0.5rem 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-header__drawer-link {
    font-size: 0.875rem;
  }
}
.p-header__drawer-link::after {
  content: "";
  position: absolute;
  top: 60%;
  right: 1rem;
  translate: 0 -50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.3125rem solid transparent;
  border-bottom: 0.3125rem solid transparent;
  border-left: 0.5rem solid #FFFFFF;
  border-right: 0;
}
@media (any-hover: hover) {
  .p-header__drawer-link:hover {
    opacity: 0.7;
  }
}
.p-header__drawer-tel a {
  font-family: "Purple Purse", serif;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  line-height: 1;
}
.p-header__drawer-instagram {
  display: block;
  width: fit-content;
}
.p-header__drawer-instagram img {
  width: 1.75rem;
  height: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
  }
  .p-header__logo {
    width: 2.75rem;
    flex-shrink: 0;
  }
  .p-header__sp-title {
    display: block;
    flex: 1;
    min-width: 0;
    font-family: "Purple Purse", serif;
    font-weight: 400;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    color: #082B9E;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .p-header__sp-title-sub {
    display: block;
    min-width: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: #082B9E;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-block-start: 0.25rem;
  }
  .p-header__body {
    display: none;
  }
  .p-header__hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    z-index: 100;
    touch-action: manipulation;
  }
  .p-header__hamburger.is-open .p-header__hamburger-line:nth-child(1) {
    background: #FFFFFF;
    transform: translateY(0.5rem) rotate(45deg);
  }
  .p-header__hamburger.is-open .p-header__hamburger-line:nth-child(2) {
    opacity: 0;
  }
  .p-header__hamburger.is-open .p-header__hamburger-line:nth-child(3) {
    background: #FFFFFF;
    transform: translateY(-0.5rem) rotate(-45deg);
  }
}
.p-header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.8);
  transform: translateY(-100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  visibility: hidden;
}
.p-header-sticky.is-visible {
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}
.p-header-sticky__inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  max-width: 100%;
  margin-inline: auto;
  padding: 0.625rem 2.5rem;
}
.p-header-sticky__logo {
  flex-shrink: 0;
  width: 5rem;
  display: block;
}
.p-header-sticky__logo img {
  width: 100%;
  height: auto;
}
.p-header-sticky__sp-title {
  display: none;
}
.p-header-sticky__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 4.625rem;
}
.p-header-sticky__top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.p-header-sticky__tel {
  font-family: "Purple Purse", serif;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #082B9E;
  line-height: 1;
  white-space: nowrap;
}
.p-header-sticky__nav {
  display: flex;
  justify-content: flex-end;
}
.p-header-sticky__hamburger {
  display: none;
}
.p-header-sticky__hamburger-line {
  display: block;
  width: 1.5rem;
  height: 0.125rem;
  background: #082B9E;
  border-radius: 0.125rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header-sticky__inner {
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
  }
  .p-header-sticky__logo {
    width: 2.75rem;
    flex-shrink: 0;
  }
  .p-header-sticky__sp-title {
    display: block;
    flex: 1;
    min-width: 0;
    font-family: "Purple Purse", serif;
    font-weight: 400;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    color: #082B9E;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .p-header-sticky__body {
    display: none;
  }
  .p-header-sticky__hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    touch-action: manipulation;
  }
  .p-header-sticky__hamburger.is-open {
    z-index: 1;
  }
  .p-header-sticky__hamburger.is-open .p-header-sticky__hamburger-line:nth-child(1) {
    transform: translateY(0.5rem) rotate(45deg);
  }
  .p-header-sticky__hamburger.is-open .p-header-sticky__hamburger-line:nth-child(2) {
    opacity: 0;
  }
  .p-header-sticky__hamburger.is-open .p-header-sticky__hamburger-line:nth-child(3) {
    transform: translateY(-0.5rem) rotate(-45deg);
  }
}
body.is-drawer-open.is-drawer-from-top .p-header-sticky {
  transform: translateY(-100%);
  pointer-events: none;
  visibility: hidden;
}
body.is-drawer-open:not(.is-drawer-from-top) .p-header-sticky {
  z-index: 101;
}
body.is-drawer-open:not(.is-drawer-from-top) .p-header-sticky .p-header-sticky__hamburger.is-open .p-header-sticky__hamburger-line:nth-child(1), body.is-drawer-open:not(.is-drawer-from-top) .p-header-sticky .p-header-sticky__hamburger.is-open .p-header-sticky__hamburger-line:nth-child(3) {
  background: #FFFFFF;
}
.grecaptcha-badge {
  visibility: hidden;
}
.p-news-single {
  padding-block: 2.5rem 5rem;
}
.p-news-single__wrap {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
}
.p-news-single__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.p-news-single__thumb {
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.p-news-single__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-news-single__content {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-news-single__sidebar {
  flex-shrink: 0;
  width: 21.25rem;
  border-left: 0.0625rem solid #8B93AD;
  padding-left: 2.5rem;
  padding-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  position: sticky;
  top: 6.25rem;
  align-self: flex-start;
}
.p-news-single__sidebar-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-news-single__sidebar-title {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #082B9E;
  line-height: 1.5;
}
.p-news-single__cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.p-news-single__cat-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border: 1px solid #082B9E;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #082B9E;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.5;
}
.p-news-single__related-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-news-single__related-item {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  text-decoration: none;
}
.p-news-single__related-img-wrap {
  flex-shrink: 0;
  width: 6.25rem;
  height: auto;
  overflow: hidden;
}
.p-news-single__related-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.p-news-single__related-title {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #29355A;
  line-height: 1.2;
}
.p-news-single__back {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-single {
    padding-block: 2rem 3.75rem;
  }
  .p-news-single__wrap {
    flex-direction: column;
  }
  .p-news-single__content {
    font-size: 0.875rem;
  }
  .p-news-single__sidebar {
    display: none;
  }
  .p-news-single__back {
    margin-top: 2.5rem;
  }
}
.p-sales-related {
  padding-bottom: 5rem;
}
.p-sales-related__body {
  padding-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-sales-related {
    padding-bottom: 3rem;
  }
  .p-sales-related__body {
    padding-top: 1.5rem;
  }
}
.p-sales-single {
  padding-block: 2.5rem 5rem;
}
.p-sales-single__wrap {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
.p-sales-single__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}
.p-sales-single__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-sales-single__title-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.p-sales-single__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  width: max-content;
  background: #082B9E;
  border-radius: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #FFFFFF;
  white-space: nowrap;
}
.p-sales-single__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #082B9E;
}
.p-sales-single__price {
  display: flex;
  align-items: baseline;
  line-height: 1.5;
  color: #082B9E;
}
.p-sales-single__price-head {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-inline-end: 0.625rem;
}
.p-sales-single__price-num {
  font-family: "Inter", sans-serif;
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.p-sales-single__price-unit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.p-sales-single__gallery {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-sales-single__main-img-wrap {
  position: relative;
}
.p-sales-single__main-img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.p-sales-single__main-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sales-single__gallery-prev, .p-sales-single__gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  background: rgba(0, 0, 0, 0.4);
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.p-sales-single__gallery-prev::before, .p-sales-single__gallery-next::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #FFFFFF;
  border-right: 0.125rem solid #FFFFFF;
}
@media (any-hover: hover) {
  .p-sales-single__gallery-prev:hover, .p-sales-single__gallery-next:hover {
    background: rgba(0, 0, 0, 0.65);
  }
}
.p-sales-single__gallery-prev {
  left: 0.75rem;
}
.p-sales-single__gallery-prev::before {
  transform: rotate(-135deg) translate(-0.125rem, 0.125rem);
}
.p-sales-single__gallery-next {
  right: 0.75rem;
}
.p-sales-single__gallery-next::before {
  transform: rotate(45deg) translate(-0.125rem, 0.125rem);
}
.p-sales-single__thumb-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-sales-single__thumb-item {
  position: relative;
  width: 5.025rem;
  height: 5.025rem;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  border: none;
  background: none;
  flex-shrink: 0;
  transition: opacity 0.2s;
}
.p-sales-single__thumb-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-sales-single__thumb-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.p-sales-single__thumb-item.--active::after {
  opacity: 1;
}
@media (any-hover: hover) {
  .p-sales-single__thumb-item:hover {
    opacity: 1;
  }
  .p-sales-single__thumb-item:hover::after {
    opacity: 0.15;
  }
  .p-sales-single__thumb-item:hover.--active::after {
    opacity: 1;
  }
}
.p-sales-single__content {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #29355A;
}
.p-sales-single__content p + p {
  margin-top: 1rem;
}
.p-sales-single__sidebar {
  flex-shrink: 0;
  width: 21.25rem;
  border-left: 0.0625rem solid #8B93AD;
  padding-left: 2.5rem;
  padding-block: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 6.25rem;
  align-self: flex-start;
}
.p-sales-single__info {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}
.p-sales-single__info-row {
  display: flex;
  align-items: stretch;
  gap: 0.0625rem;
}
.p-sales-single__info-label {
  flex-shrink: 0;
  width: 6.25rem;
  padding: 0.375rem;
  background: #082B9E;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  text-align: center;
  white-space: nowrap;
}
.p-sales-single__info-value {
  flex: 1;
  padding: 0.375rem;
  background: #F7F7F7;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #082B9E;
}
.p-sales-single__equipment {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  list-style: none;
}
.p-sales-single__equip-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border: 0.0625rem solid #082B9E;
  border-radius: 0.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #082B9E;
  white-space: nowrap;
}
.p-sales-single__main-img {
  position: relative;
  cursor: zoom-in;
  display: block;
  border: none;
  padding: 0;
  background: none;
}
.p-sales-single__main-img-icon {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0.25rem;
  pointer-events: none;
}
.p-sales-single__main-img-icon::before, .p-sales-single__main-img-icon::after {
  content: "";
  position: absolute;
  background: #FFFFFF;
}
.p-sales-single__main-img-icon::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.875rem;
  height: 0.125rem;
}
.p-sales-single__main-img-icon::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.125rem;
  height: 0.875rem;
}
.p-sales-single__modal {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border: none;
  padding: 0;
  background: transparent;
}
.p-sales-single__modal::backdrop {
  background: rgba(0, 0, 0, 0.85);
  cursor: zoom-out;
}
.p-sales-single__modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-sales-single__modal-inner {
  position: relative;
  max-width: min(90vw, 112.5rem);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-sales-single__modal-close {
  position: absolute;
  top: -2.75rem;
  right: 0;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}
.p-sales-single__modal-close::before, .p-sales-single__modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.75rem;
  height: 0.125rem;
  background: #FFFFFF;
}
.p-sales-single__modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-sales-single__modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-sales-single__modal-img {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.p-sales-single__modal-prev, .p-sales-single__modal-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background: rgba(255, 255, 255, 0.15);
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.p-sales-single__modal-prev::before, .p-sales-single__modal-next::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 0.125rem solid #FFFFFF;
  border-right: 0.125rem solid #FFFFFF;
}
@media (any-hover: hover) {
  .p-sales-single__modal-prev:hover, .p-sales-single__modal-next:hover {
    background: rgba(255, 255, 255, 0.3);
  }
}
.p-sales-single__modal-prev {
  left: 1.25rem;
}
.p-sales-single__modal-prev::before {
  transform: rotate(-135deg) translate(-0.125rem, 0.125rem);
}
.p-sales-single__modal-next {
  right: 1.25rem;
}
.p-sales-single__modal-next::before {
  transform: rotate(45deg) translate(-0.125rem, 0.125rem);
}
.p-sales-single__back {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-sales-single {
    padding-block: 2rem 3.75rem;
  }
  .p-sales-single__wrap {
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-sales-single__main {
    display: contents;
  }
  .p-sales-single__head {
    order: -3;
  }
  .p-sales-single__title {
    font-size: 1.375rem;
  }
  .p-sales-single__price-head {
    font-size: 1rem;
  }
  .p-sales-single__price-num {
    font-size: 2.25rem;
  }
  .p-sales-single__price-unit {
    font-size: 1.125rem;
  }
  .p-sales-single__main-img {
    cursor: default;
  }
  .p-sales-single__main-img-icon {
    display: none;
  }
  .p-sales-single__thumb-list {
    gap: 0.5rem;
  }
  .p-sales-single__thumb-item {
    width: 3.3125rem;
    height: 3.3125rem;
  }
  .p-sales-single__sidebar {
    display: contents;
  }
  .p-sales-single__info {
    order: -2;
    width: 100%;
  }
  .p-sales-single__equipment {
    order: -1;
  }
  .p-sales-single__content {
    font-size: 0.875rem;
  }
  .p-sales-single__info-label {
    font-size: 0.875rem;
    min-width: 6.25rem;
  }
  .p-sales-single__info-value {
    font-size: 0.875rem;
  }
  .p-sales-single__back {
    margin-top: 2.5rem;
  }
}
.p-single-content {
  width: 100%;
}
.p-single-content h2 {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #FFFFFF;
  padding: 0.5rem 1rem;
  background: #082B9E;
}
.p-single-content h3 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.4545454545;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #082B9E;
  padding-block-end: 0.5rem;
  border-bottom: solid 1px #082B9E;
  padding-inline: 1.5rem 0;
  position: relative;
}
.p-single-content h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.625rem;
  background: #082B9E;
}
.p-single-content h4 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.44;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #082B9E;
  padding-inline: 1rem 0;
  position: relative;
}
.p-single-content h4::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.5rem;
  background: #8B93AD;
}
.p-single-content h5 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0.08em;
  margin-right: -0.08em;
  color: #082B9E;
}
.p-single-content p a {
  text-decoration: underline;
  color: #082B9E;
}
@media (any-hover: hover) {
  .p-single-content p a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
.p-single-content p a {
  color: #082B9E;
  position: relative;
  display: inline-block;
  padding-inline-end: 0.75rem;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-single-content p a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
.p-single-content p a[target=_blank] {
  padding-inline-end: 1.875rem;
}
.p-single-content p a[target=_blank]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.625rem;
  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_764_12420'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='16'%20height='16'%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.02866%203.02021%206.32683%202.71352%206.32683%202.3352C6.32683%201.95688%206.02866%201.65019%205.66086%201.65019H1.998Z'%20fill='%23A3A394'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_764_12420)'%3e%3crect%20width='16'%20height='16'%20fill='%23082B9E'/%3e%3c/g%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single-content p.download a {
  color: #082B9E;
  position: relative;
  display: inline-block;
  padding-inline-end: 1.875rem;
  text-decoration: underline;
}
.p-single-content p.download a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.625rem;
  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_764_12422'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='16'%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_764_12422)'%3e%3crect%20width='16'%20height='16'%20fill='%23082B9E'/%3e%3c/g%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single-content .wp-block-buttons {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.p-single-content .wp-block-button a {
  padding: 1rem;
  min-width: 20rem;
  height: 3.5rem;
  border-radius: 0;
  background: #082B9E;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.p-single-content .wp-block-button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  translate: 0 -50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 0.3125rem solid transparent;
  border-bottom: 0.3125rem solid transparent;
  border-left: 0.375rem solid #FFFFFF;
  border-right: 0;
}
.p-single-content .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%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_682_709'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='1'%20y='1'%20width='15'%20height='14'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.67672%201.30771C9.30505%201.31116%209.00648%201.62385%209.00984%202.00614C9.01321%202.38842%209.31718%202.69554%209.68885%202.69209L12.8453%202.66284L8.29844%207.3396C8.03563%207.60995%208.03563%208.04825%208.29844%208.31853C8.56124%208.58888%208.98734%208.58888%209.25021%208.31853L13.797%203.64179L13.7685%206.88837C13.7652%207.27068%2014.0637%207.58334%2014.4354%207.58684C14.8071%207.59028%2015.1111%207.28315%2015.1144%206.90083L15.1577%201.96164C15.1594%201.7759%2015.0883%201.59728%2014.9606%201.46593C14.833%201.33459%2014.6593%201.26154%2014.4787%201.26321L9.67672%201.30771ZM2.35706%201.58469C1.98539%201.58469%201.68408%201.89461%201.68408%202.27691V14.0446C1.68408%2014.4269%201.98539%2014.7368%202.35706%2014.7368H14.4707C14.8425%2014.7368%2015.1437%2014.4269%2015.1437%2014.0446V10.5835C15.1437%2010.2012%2014.8425%209.89131%2014.4707%209.89131C14.099%209.89131%2013.7978%2010.2012%2013.7978%2010.5835V13.3524H3.03005V2.96912H6.05847C6.43014%202.96912%206.73145%202.65921%206.73145%202.27691C6.73145%201.89461%206.43014%201.58469%206.05847%201.58469H2.35706Z'%20fill='%23157FB5'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_682_709)'%3e%3crect%20y='0.5'%20width='16'%20height='16'%20fill='white'/%3e%3c/g%3e%3c/svg%3e") no-repeat center center/contain;
  border: none;
}
.p-single-content .wp-block-button.download a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-single-content .wp-block-button.download a::after {
  content: none;
  border: none;
  background: none;
  position: static;
}
.p-single-content .wp-block-button.download a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1.5rem;
  translate: 0 -50%;
  width: 1.25rem;
  height: 1.25rem;
  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'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cmask%20id='a'%20height='16'%20maskUnits='userSpaceOnUse'%20width='16'%20x='0'%20y='0'%3e%3cpath%20d='m14.3317%203.8877-3.7506-3.750371c-.0879-.0880126-.2072-.137329-.3315-.137329h-8.28085c-.25891%200-.46875.209839-.46875.46875v15.06245c0%20.259.20984.4688.46875.4688h12.03145c.259%200%20.4688-.2098.4688-.4688v-11.31196c0-.12439-.0493-.24365-.1373-.33154zm-3.6133-2.28724%202.1499%202.14978h-2.1499zm-8.2809%206.80457h9.172v4.78197h-9.172zm0%206.65747v-.938h9.6407c.259%200%20.4688-.2098.4688-.4687v-5.71952c0-.25879-.2098-.46875-.4688-.46875h-9.6407v-6.53003h7.34326v3.28149c0%20.25892.20996.46888.46884.46888h3.2819v10.37463z'%20fill='%23a3a394'/%3e%3cpath%20d='m4.58899%209.11328h-.90552c-.1532%200-.25378.09619-.25378.20557v2.78255c0%20.1401.17065.21.34131.21.17053%200%20.34118-.0699.34118-.21v-.945h.43311c.60376%200%201.07629-.2799%201.07629-1.0149v-.022c0-.73498-.45508-1.00622-1.03259-1.00622zm.3501%201.08052c0%20.2977-.14881.4375-.3938.4375h-.43311v-.92305h.43311c.24499%200%20.3938.14002.3938.43755z'%20fill='%23a3a394'/%3e%3cpath%20d='m7.1012%209.11328h-.77442c-.17944%200-.29748.09619-.29748.20557v2.78695c0%20.1094.11804.2056.29748.2056h.77442c.60376%200%201.07617-.28%201.07617-1.0325v-1.1331c0-.75249-.47241-1.03252-1.07617-1.03252zm.39367%202.16562c0%20.2975-.14868.4375-.39367.4375h-.38941v-2.00815h.38941c.24499%200%20.39367.14002.39367.43755z'%20fill='%23a3a394'/%3e%3cpath%20d='m10.5363%209.11328h-1.51811c-.14881%200-.29749.06995-.29749.20996v2.77816c0%20.1401.17054.2101.34119.2101s.34119-.07.34119-.2101v-1.1287h.66072c.1443%200%20.2056-.1401.2056-.2582%200-.1399-.0743-.2669-.2056-.2669h-.66072v-.73935h1.13322c.1312%200%20.2056-.14001.2056-.30188%200-.14001-.0612-.29309-.2056-.29309z'%20fill='%23a3a394'/%3e%3c/mask%3e%3cg%20mask='url(%23a)'%3e%3cpath%20d='m0%200h16v16h-16z'%20fill='%23fff'/%3e%3c/g%3e%3c/svg%3e") no-repeat center center/contain;
}
.p-single-content ul,
.p-single-content ol {
  padding-inline-start: 1.5rem;
}
.p-single-content ul {
  list-style: disc;
}
.p-single-content ul li::marker {
  color: #082B9E;
}
.p-single-content ol {
  list-style: decimal;
}
.p-single-content ol li::marker {
  font-weight: 500;
  color: #082B9E;
}
.p-single-content table:not(:has(thead)) {
  /* theadを持たない場合 */
  border-collapse: collapse;
  width: 100%;
}
.p-single-content table:not(:has(thead)) tr td {
  border: solid 1px #D1D1D2;
  border-left: none;
  padding: 1.25rem 1.5rem;
}
.p-single-content table:not(:has(thead)) tr td:nth-of-type(1) {
  background: #D1D1D2;
  border-right: none;
  border-top: solid 1px #FFFFFF;
  border-bottom: solid 1px #FFFFFF;
  width: 13.75rem;
  color: #082B9E;
  font-weight: 500;
}
.p-single-content table:not(:has(thead)) tr:nth-of-type(1) td:nth-of-type(1) {
  border-top: solid 1px #D1D1D2;
}
.p-single-content table:not(:has(thead)) tr:nth-last-of-type(1) td:nth-of-type(1) {
  border-bottom: solid 1px #D1D1D2;
}
.p-single-content table:has(thead) {
  /* theadを持つ場合 */
  border-collapse: collapse;
  width: 100%;
}
.p-single-content table:has(thead) thead {
  border-bottom: none;
}
.p-single-content table:has(thead) thead th {
  background: #D1D1D2;
  border-left: solid 1px #FFFFFF;
  border-right: solid 1px #FFFFFF;
  border-top: none;
  border-bottom: none;
  padding: 1.25rem 1.5rem;
  color: #082B9E;
  font-weight: 500;
}
.p-single-content table:has(thead) thead th:nth-of-type(1) {
  border-left: solid 1px #D1D1D2;
}
.p-single-content table:has(thead) thead th:nth-last-of-type(1) {
  border-right: solid 1px #D1D1D2;
}
.p-single-content table:has(thead) tbody tr td {
  padding: 1.25rem 1.5rem;
  border: solid 1px #D1D1D2;
  border-top: none;
}
.p-single-content .wp-block-columns {
  column-gap: 1.5rem;
}
.p-single-content .wp-block-columns .wp-block-image + *,
.p-single-content .wp-block-columns .wp-block-image + p {
  margin-block-start: 1rem;
}
.p-single-content .wp-block-columns p + p {
  margin-block-start: 0.5rem;
}
.p-single-content .wp-block-media-text {
  column-gap: 1.5rem;
}
.p-single-content .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
.p-single-content .wp-block-media-text .wp-block-media-text__content * + p {
  margin-block-start: 0.5rem;
}
.p-single-content .aligncenter figcaption {
  text-align: center;
}
.p-single-content .wp-block-video {
  text-align: center;
}
.p-single-content .wp-block-video video {
  width: 50rem;
  height: auto;
}
.p-single-content .wp-block-embed-youtube {
  text-align: center;
}
.p-single-content .wp-block-embed-youtube iframe {
  width: 50rem;
  height: auto;
  aspect-ratio: 800/462;
}
.p-single-content * + h2,
.p-single-content * + h3,
.p-single-content * + h4,
.p-single-content * + h5 {
  margin-block-start: 5rem;
}
.p-single-content * + p,
.p-single-content * + ul,
.p-single-content * + ol,
.p-single-content * + table,
.p-single-content * + img,
.p-single-content * + .wp-block-image,
.p-single-content * + .wp-block-table,
.p-single-content * + .wp-block-media-text,
.p-single-content * + .wp-block-buttons,
.p-single-content * + .wp-block-embed,
.p-single-content * + .wp-block-columns {
  margin-block-start: 2.5rem;
}
.p-single-content p + p,
.p-single-content h2 + p,
.p-single-content h3 + p,
.p-single-content h4 + p,
.p-single-content h5 + p {
  margin-block-start: 1rem;
}
@media screen and (max-width: 767px) {
  .p-single-content 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-content 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-content h4 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
  }
  .p-single-content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single-content .wp-block-buttons {
    flex-direction: column;
    row-gap: 1rem;
    align-items: flex-start;
  }
  .p-single-content .wp-block-button {
    width: 100%;
  }
  .p-single-content .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-content ul,
  .p-single-content ol {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single-content table {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single-content table:not(:has(thead)) {
    /* theadを持たない場合 */
  }
  .p-single-content table:not(:has(thead)) tr td {
    display: block;
    border: solid 1px #D1D1D2;
    border-left: solid 1px #D1D1D2;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
  .p-single-content table:not(:has(thead)) tr td:nth-of-type(1) {
    border-right: solid 1px #D1D1D2;
    border-left: solid 1px #D1D1D2;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
  .p-single-content table:not(:has(thead)) tr:nth-last-of-type(1) td:nth-last-of-type(1) {
    border-bottom: solid 1px #D1D1D2;
  }
  .p-single-content .wp-block-table:has(thead) {
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 0.625rem;
  }
  .p-single-content table:has(thead) {
    /* theadを持つ場合 */
    width: max-content !important;
    min-width: 100%;
  }
  .p-single-content table:has(thead) th {
    max-width: 11.25rem;
  }
  .p-single-content .wp-block-columns {
    column-gap: 0.625rem;
    row-gap: 1.5rem;
  }
  .p-single-content .wp-block-columns .wp-block-image + *,
  .p-single-content .wp-block-columns .wp-block-image + p {
    margin-block-start: 0.75rem;
  }
  .p-single-content .wp-block-columns p + p {
    margin-block-start: 0.5rem;
  }
  .p-single-content .wp-block-media-text {
    row-gap: 0.75rem;
  }
  .p-single-content .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
  }
  .p-single-content .wp-block-media-text .wp-block-media-text__content * + p {
    margin-block-start: 1rem;
  }
  .p-single-content .wp-block-media-text .wp-block-media-text__content p + p {
    margin-block-start: 0.5rem;
  }
  .p-single-content figcaption {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-right: -0.05em;
  }
  .p-single-content .wp-block-video {
    width: 100%;
  }
  .p-single-content .wp-block-video video {
    width: 100%;
    height: auto;
  }
  .p-single-content .wp-block-embed-youtube {
    width: 100%;
  }
  .p-single-content .wp-block-embed-youtube iframe {
    width: 100%;
  }
  .p-single-content * + h2,
  .p-single-content * + h3,
  .p-single-content * + h4,
  .p-single-content * + h5 {
    margin-block-start: 2.5rem;
  }
  .p-single-content * + p,
  .p-single-content * + ul,
  .p-single-content * + ol,
  .p-single-content * + table,
  .p-single-content * + img,
  .p-single-content * + .wp-block-image,
  .p-single-content * + .wp-block-table,
  .p-single-content * + .wp-block-media-text,
  .p-single-content * + .wp-block-buttons,
  .p-single-content * + .wp-block-embed,
  .p-single-content * + .wp-block-columns {
    margin-block-start: 1.5rem;
  }
  .p-single-content p + p,
  .p-single-content h2 + p,
  .p-single-content h3 + p,
  .p-single-content h4 + p,
  .p-single-content h5 + p {
    margin-block-start: 1rem;
  }
}
.p-works-related {
  padding-bottom: 5rem;
}
.p-works-related__body {
  padding-top: 2.5rem;
}
.p-works-related__body .c-works-card__date {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-works-related {
    padding-bottom: 3rem;
  }
  .p-works-related__body {
    padding-top: 1.5rem;
  }
}
.p-works-single {
  padding-block: 2.5rem 5rem;
}
.p-works-single__inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}
.p-works-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-works-single__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5625rem;
  padding: 0.375rem 1.5rem;
  border: 0.0625rem solid #082B9E;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: normal;
  color: #082B9E;
  transition: background 0.2s, color 0.2s;
}
@media (any-hover: hover) {
  .p-works-single__tag:hover {
    opacity: 1;
    background: #082B9E;
    color: #FFFFFF;
  }
}
.p-works-single__gallery-area {
  width: 100%;
}
.p-works-single__gallery-wrap {
  display: flex;
  align-items: flex-start;
  gap: 3.75rem;
}
.p-works-single__gallery-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.p-works-single__main-img-wrap {
  position: relative;
}
.p-works-single__main-img {
  display: block;
  width: 100%;
  aspect-ratio: 862/647;
  overflow: hidden;
  padding: 0;
  border: none;
  background: none;
  cursor: zoom-in;
}
.p-works-single__main-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.3s ease;
}
@media (any-hover: hover) {
  .p-works-single__main-img:hover img {
    scale: 1.02;
  }
}
.p-works-single__gallery-prev, .p-works-single__gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  background: rgba(0, 0, 0, 0.4);
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.p-works-single__gallery-prev::before, .p-works-single__gallery-next::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #FFFFFF;
  border-right: 0.125rem solid #FFFFFF;
}
@media (any-hover: hover) {
  .p-works-single__gallery-prev:hover, .p-works-single__gallery-next:hover {
    background: rgba(0, 0, 0, 0.65);
  }
}
.p-works-single__gallery-prev {
  left: 0.75rem;
}
.p-works-single__gallery-prev::before {
  transform: rotate(-135deg) translate(-0.125rem, 0.125rem);
}
.p-works-single__gallery-next {
  right: 0.75rem;
}
.p-works-single__gallery-next::before {
  transform: rotate(45deg) translate(-0.125rem, 0.125rem);
}
.p-works-single__caption {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-works-single__thumb-grid {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: repeat(3, 5rem);
  gap: 1.1875rem;
  align-content: start;
}
.p-works-single__thumb-item {
  position: relative;
  width: 5rem;
  height: 5rem;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  border: none;
  background: none;
  flex-shrink: 0;
}
.p-works-single__thumb-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-works-single__thumb-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.p-works-single__thumb-item.--active::after {
  opacity: 1;
}
@media (any-hover: hover) {
  .p-works-single__thumb-item:hover {
    opacity: 1;
  }
  .p-works-single__thumb-item:hover::after {
    opacity: 0.15;
  }
  .p-works-single__thumb-item:hover.--active::after {
    opacity: 1;
  }
}
.p-works-single__modal {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border: none;
  padding: 0;
  background: transparent;
}
.p-works-single__modal::backdrop {
  background: rgba(0, 0, 0, 0.85);
  cursor: zoom-out;
}
.p-works-single__modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-works-single__modal-inner {
  position: relative;
  max-width: min(90vw, 112.5rem);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-works-single__modal-close {
  position: absolute;
  top: -2.75rem;
  right: 0;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}
.p-works-single__modal-close::before, .p-works-single__modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.75rem;
  height: 0.125rem;
  background: #FFFFFF;
}
.p-works-single__modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-works-single__modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-works-single__modal-img {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.p-works-single__modal-prev, .p-works-single__modal-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background: rgba(255, 255, 255, 0.15);
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.p-works-single__modal-prev::before, .p-works-single__modal-next::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-top: 0.125rem solid #FFFFFF;
  border-right: 0.125rem solid #FFFFFF;
}
@media (any-hover: hover) {
  .p-works-single__modal-prev:hover, .p-works-single__modal-next:hover {
    background: rgba(255, 255, 255, 0.3);
  }
}
.p-works-single__modal-prev {
  left: 1.25rem;
}
.p-works-single__modal-prev::before {
  transform: rotate(-135deg) translate(-0.125rem, 0.125rem);
}
.p-works-single__modal-next {
  right: 1.25rem;
}
.p-works-single__modal-next::before {
  transform: rotate(45deg) translate(-0.125rem, 0.125rem);
}
.p-works-single__body {
  width: 100%;
  max-width: 53.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #29355A;
}
.p-works-single__body p + p {
  margin-top: 1rem;
}
.p-works-single__back {
  width: 100%;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-works-single {
    padding-block: 2rem 3.75rem;
  }
  .p-works-single__inner {
    gap: 2.5rem;
  }
  .p-works-single__gallery-wrap {
    flex-direction: column;
    gap: 1.25rem;
  }
  .p-works-single__main-img {
    cursor: default;
  }
  .p-works-single__thumb-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
  }
  .p-works-single__thumb-item {
    width: 4.375rem;
    height: 4.375rem;
  }
  .p-works-single__caption {
    font-size: 0.875rem;
  }
  .p-works-single__body {
    font-size: 0.875rem;
    max-width: 100%;
  }
}
.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;
  }
}