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

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

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

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

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

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

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

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

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

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

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

  /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
  text-autospace: no-autospace;
}
/* ======================================================
//  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;
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a) {
  /*
  * The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance.
  * In Firefox on iOS, the user agent stylesheet’s text color is applied even when the text is not a link.
  * @see https://github.com/darkreader/darkreader/issues/9836
  */
  color: unset;
}
:where(a:-moz-any-link) {
  /*
  * While link underlines can be useful, they are often obstructive.
  * They are disabled by default.
  * If needed, restore them using `text-decoration-line: revert;`.
  */
  text-decoration-line: unset;

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

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

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

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

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

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

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

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

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

  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
  * These elements can be easily displayed by explicitly setting their `display` property.
  * To prevent them from appearing when not in an open state, they are forcibly hidden.
  */
  display: none !important;
}
:where(dialog) {
  /*
  * The max width and height of a `<dialog>` element are typically determined by the design.
  * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
  */
  max-inline-size: unset;
  max-block-size: unset;
}
:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg / 30%);
}
:where([popover]) {
  /*
  * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
  * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
  */
  margin: unset;
}
/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}
[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}
/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled="true" i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}
[hidden]:not([hidden="until-found" i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}
img {
  /* 低解像度ディスプレイでのジャギー防止 */
  overflow-clip-margin: unset;
  display: block;
  width: 100%;
}
button {
  border-width: 0;
  padding: 0;
}
h1 {
  margin-block: unset;
}
/* デザインカンプ */
/* FVサイズ
PC 1600 * 768
SP 375 * 700
*/
/* インナー幅設定
XD コンテンツ幅の目安: functions≈1194 / download=1200 / issuesカード=1220 / aboutカード=1300
→ 多い 1200 を既定。about など広い塊は __inner で --inner のみ上書き
*/
/* 余白 */
/* リキッドレイアウトの範囲
$inner-pc + $padding-pc * 2 = 1300
 → 1300 〜 768px
*/
/* 使い方
・「標準ボタン」の配色反転。通常 白地×紺枠×紺文字 → ホバー 紺地×白文字×白枠。
・_base の a:hover opacity（--hover-opacity 0.7）も打ち消す。
・枠のないタブ等は $border に currentColor 以外を渡すか、呼び出し側で border を持たせる。
.c-button-more {
  @include hover-color-invert();
}
・色を差し替えたい場合は引数で
.p-foo__tab {
  @include hover-color-invert($bg: var(--color-brand), $fg: var(--color-white));
}
正本: wiki/coding-sass.md「ホバーはインタラクティブ要素だけ」
*/
/* 使い方
・_base の a:hover opacity を打ち消す（動きは別 mixin）
.c-link-arrow {
  @include hover-opacity-cancel();
}
*/
/* 使い方
・本体
.c-link-arrow {
  @include hover-scale(); // 初期値
  @include hover-scale(1.2); // 拡大率を上げる
  }

・子要素のimg
.p-card {
  @include hover-scale-img();
}

・テキスト左のアイコン（移動ではなく拡大）
.c-button-pill {
  @include hover-scale-child("img");
}
*/
/* ホバーで下線を引くスタイル
・下線をふわっと表示
・下線を右から左へ表示して左に消える
使い方
.d-hover-text-underline-slide {
  @include hover-text-underline-slide(); // デフォルト
}
.p-nav a {
  @include hover-text-underline-slide($height: 2px, $offset: -2px);
}
.p-link--accent {
  @include hover-text-underline-slide($color: #3b5bff);
}
*/
/* ふわっと表示 */
/* 左から右へ */
/*
 * テキスト省略
 *
 * 使い方（padding は親・省略は子）:
 * .p-card__box { padding: …; }
 * .p-card__box .p-card__title { @include text-truncate(); }   // 1行
 * .p-card__box .p-card__excerpt { @include line-clamp(2); }  // 複数行
 *
 * line-clamp / text-truncate を付ける要素に padding を置かない。
 * 同一要素だと行数クリップがずれ、次行が半分見えることがある。
 * 索引: 静的テンプレ demo-document の .p-demo__box > .p-demo__line-clamp-*
 */
/* フォントの読み込みとカスタムプロパティ定義 */
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("../fonts/ZenKakuGothicNew-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --base-font-family: "Zen Kaku Gothic New", sans-serif;
  --font-family-en: "Fira Sans", sans-serif;
  --color-black: #000;
  --color-white: #fff;
  --color-brand: #002680;
  --color-brand-blue: #306cd3;
  --color-cta-band: #68a0ff;
  --color-accent-yellow: #ffff00;
  --color-surface-gray: #f5f5f5;
  --header-nav-height: 4.5rem;
  --header-height: 4.5rem;
  --inner: 33.75rem;
  --inner-padding: 1.25rem;
  --hover-transition: 0.3s ease-in-out;
  --hover-opacity: 0.7;
}
:root[data-info-count="1"] {
  --header-height: 6.75rem;
}
:root[data-info-count="2"] {
  --header-height: 9rem;
}
:root {
  --wp-admin-bar-height: 0px;
}
:root:has(.admin-bar) {
  --wp-admin-bar-height: 32px;
}
/* 小さい画面では #wpadminbar を固定 */
/* リキッドレイアウト */
html {
  font-size: 16px;
}
body {
  container-type: inline-size;
  display: grid;
  /* headerは浮いているので、行数にカウントしない */
  grid-template-rows: 1fr auto;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  font-family: var(--base-font-family);
  line-height: 1.5;
}
body > * {
  min-width: 0; /* gridの副作用防止 */
}
a {
  transition: opacity var(--hover-transition);
}
/* pcの電話番号発信対応 */
a:focus-visible {
  opacity: var(--hover-opacity);
}
iframe[src*="youtube.com"] {
  width: 100%;
  aspect-ratio: 16/9;
}
.l-about-auto {
  margin-block-start: 3rem;
}
.l-about-change {
  margin-block-start: 2.5rem;
}
.l-about-copilot {
  margin-block-start: 3rem;
}
.l-about-flow {
  margin-block-start: 3.5rem;
}
.l-about-issues {
  margin-block-start: 3.5rem;
}
.l-about-more {
  margin-block-start: 3rem;
  margin-block-end: 4rem;
}
.l-about-mv {
  margin-block-start: 2rem;
}
.l-about-reason {
  margin-block-start: 3.5rem;
}
.l-auto-summary {
  margin-block-start: 2.5rem;
}
.l-day-change {
  margin-block-start: 2rem;
}
.l-feature-panel {
  margin-block-start: 2rem;
}
.l-feature-spotlight {
  margin-block-start: 3.5rem;
}
.l-footer {
  margin-top: 0;
}
/* --inner = コンテンツ幅（max-width）。padding は外側に付く（content-box） */
.l-inner {
  margin-inline: auto;
  box-sizing: content-box;
  max-width: var(--inner);
  padding-inline: var(--inner-padding);
}
.l-lower-hero {
  margin-block-start: 2rem;
  margin-block-end: 1.5rem;
}
.l-other-issues {
  margin-block-start: 4rem;
  margin-block-end: 4rem;
}
.l-related-features {
  margin-block-start: 4rem;
}
.l-salesforce {
  margin-block-start: 3.5rem;
}
.l-theme-cards {
  margin-block-start: 2rem;
}
.l-top-about {
  margin-block-start: 2.5rem;
}
.l-top-cases {
  margin-block-start: 3rem;
}
.l-top-download {
  margin-block-start: 2.5rem;
}
.l-top-functions {
  margin-block-start: 2.5rem;
}
.l-top-issues {
  margin-block-start: 3rem;
}
.l-top-links {
  margin-block-start: 3rem;
}
.l-top-mv {
  margin-block-start: 2.5rem;
}
.l-top-reason {
  margin-block-start: 5.5rem;
}
.l-top-topics {
  margin-block-start: 3rem;
}
.c-badge-phase {
  display: grid;
  place-items: center;
  width: 4.125rem;
  height: 1.875rem;
  font-family: var(--font-family-en);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857142857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.c-badge-phase[data-phase=after] {
  width: 3.5625rem;
  background-color: var(--color-brand-blue);
}
:is(.p-case-detail__main, .p-doc-detail__body, .p-seminar-detail__content) a:not(.c-button-more, .c-link-arrow, .c-button-pill, .p-case-anchor__lead) {
  color: #242e4d;
  text-decoration-line: underline;
}
.c-button-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  max-width: 100%;
  min-height: 3rem;
  padding-block: 0.625rem;
  padding-inline: 1.625rem;
  border: 0;
  border-radius: 100vh;
  background-color: var(--color-brand);
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.8666666667;
  color: var(--color-white);
  text-align: center;
}
.c-button-more:is(a, button) {
  --hover-opacity: 0.7;
}
.c-button-more__text {
  min-width: 0;
}
.c-button-outline-pill {
  --button-outline-pill-min-height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  min-height: var(--button-outline-pill-min-height);
  padding-block: 0.625rem;
  padding-inline: 1rem 0.875rem;
  border: 0;
  border-radius: 1.9375rem;
  background-color: var(--color-brand);
  color: var(--color-white);
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.5;
}
.c-button-outline-pill:is(a, button) {
  --hover-opacity: 0.7;
}
.c-button-outline-pill__text {
  min-width: 0;
}
.c-button-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: var(--button-pill-width, auto);
  max-width: 100%;
  min-height: 3.25rem;
  padding-block: 0.75rem;
  padding-inline: 1.25rem;
  border-radius: 100vh;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.c-button-pill > span {
  min-width: 0;
}
.c-button-pill img {
  flex-shrink: 0;
  width: 1rem;
}
.c-button-pill[data-color=contact] {
  min-width: 11.375rem;
  color: var(--color-black);
  background-color: var(--color-accent-yellow);
}
.c-button-pill[data-color=login] {
  min-width: 7.875rem;
  border: 2px solid var(--color-brand);
  color: var(--color-brand);
  background-color: var(--color-white);
}
.c-button-pill[data-color=login]:is(a, button) {
  --hover-opacity: 1;
  transition: color var(--hover-transition), background-color var(--hover-transition), border-color var(--hover-transition);
}
.c-button-pill[data-color=login]:is(a, button):focus-visible {
  border-color: var(--color-white);
  background-color: var(--color-brand);
  color: var(--color-white);
}
.c-button-pill[data-color=nav] {
  min-width: 7.875rem;
  border: 2px solid var(--color-brand);
  color: var(--color-white);
  background-color: var(--color-brand);
}
.c-button-pill[data-color=nav]:is(a, button) {
  --hover-opacity: 0.7;
}
.c-button-pill[data-color=download] {
  min-width: 7.875rem;
  border: 2px solid var(--color-brand-blue);
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.c-button-pill[data-color=download]:is(a, button) {
  --hover-opacity: 0.8;
}
.c-form-embed {
  width: 100%;
}
.c-form-embed__frame {
  display: block;
  width: 100%;
  height: var(--form-embed-height, 75rem);
  border: 0;
}
.c-heading-dots {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.c-heading-dots::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.c-icon-arrow-circle {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.3125rem;
  aspect-ratio: 1;
  color: inherit;
}
.c-icon-arrow-circle::before {
  width: 0.5rem;
  height: 0.5rem;
  border-block-end: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  rotate: -45deg;
  content: "";
}
.c-image-zoom {
  position: relative;
  display: block;
  align-self: start;
  width: 100%;
  padding: 0;
  cursor: zoom-in;
  border: 0;
  background: none;
}
.c-image-zoom:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 4px;
}
.c-image-zoom__icon {
  position: absolute;
  inset-block-end: 0.625rem;
  inset-inline-end: 0.625rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--color-brand-blue);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  transition: scale 0.2s ease;
}
.c-image-zoom__icon::before {
  position: absolute;
  inset-block-start: 0.625rem;
  inset-inline-start: 0.625rem;
  width: 0.9375rem;
  height: 0.9375rem;
  content: "";
  border: 2px solid var(--color-white);
  border-radius: 50%;
}
.c-image-zoom__icon::after {
  position: absolute;
  inset-block-start: 1.5625rem;
  inset-inline-start: 1.4375rem;
  width: 0.5rem;
  height: 2px;
  content: "";
  border-radius: 2px;
  background-color: var(--color-white);
  rotate: 45deg;
}
.c-image-zoom--icon-top .c-image-zoom__icon {
  inset-block: -0.5rem auto;
  inset-inline-end: -0.5rem;
  width: 1.75rem;
  height: 1.75rem;
}
.c-image-zoom--icon-top .c-image-zoom__icon::before {
  inset-block-start: 0.34375rem;
  inset-inline-start: 0.34375rem;
  width: 0.75rem;
  height: 0.75rem;
  border-width: 2px;
}
.c-image-zoom--icon-top .c-image-zoom__icon::after {
  inset-block-start: 1.09819375rem;
  inset-inline-start: 0.91069375rem;
  width: 0.5rem;
  height: 2px;
}
.c-image-zoom--fit {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
.c-image-zoom__large {
  display: none;
}
body.is-image-zoom-open {
  overflow: hidden;
}
.c-image-zoom-dialog {
  opacity: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  transition: opacity 0.24s ease;
}
.c-image-zoom-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 0.24s ease;
}
.c-image-zoom-dialog.is-open {
  opacity: 1;
}
.c-image-zoom-dialog.is-open::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}
.c-image-zoom-dialog__scroller {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 4rem 1rem;
  touch-action: pan-x pan-y pinch-zoom;
}
.c-image-zoom-dialog__image {
  display: block;
  width: min(100%, 47.25rem);
  max-width: calc(100vw - 2rem);
  height: auto;
  margin-inline: auto;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  transition: opacity 0.24s ease;
}
.c-image-zoom-dialog.is-mobile-page .c-image-zoom-dialog__image {
  box-sizing: border-box;
  width: auto;
  max-width: calc((100vw - 2rem) * 0.9);
  max-block-size: calc(100dvh - 8rem);
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
.c-image-zoom-dialog.is-padded .c-image-zoom-dialog__image {
  box-sizing: border-box;
  padding-block: 1.25rem;
}
.c-image-zoom-dialog.is-tight .c-image-zoom-dialog__image {
  box-sizing: border-box;
  aspect-ratio: var(--zoom-ratio, auto);
  height: auto;
  padding: 0;
  border-radius: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--zoom-position, 50% 50%);
     object-position: var(--zoom-position, 50% 50%);
  background-color: transparent;
}
.c-image-zoom-dialog.is-feature-flow .c-image-zoom-dialog__image.is-portrait {
  width: auto;
  max-inline-size: calc(100vw - 2rem);
  max-width: calc(100vw - 2rem) !important;
  max-block-size: calc(100dvh - 8rem);
}
.c-image-zoom-dialog__close {
  position: fixed;
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  border-radius: 50%;
  background-color: var(--color-surface-gray);
}
.c-image-zoom-dialog__close::before,
.c-image-zoom-dialog__close::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 1.125rem;
  height: 2px;
  content: "";
  background-color: var(--color-black);
}
.c-image-zoom-dialog__close::before {
  translate: -50% -50%;
  rotate: 45deg;
}
.c-image-zoom-dialog__close::after {
  translate: -50% -50%;
  rotate: -45deg;
}
.c-image-zoom-dialog__close:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
.c-image-zoom-dialog.is-tight .c-image-zoom-dialog__image.c-image-zoom-dialog__image {
  width: min(100%, 47.25rem, 100vw - 2rem, (100dvh - 8rem) * var(--zoom-ratio, 1));
  max-width: none !important;
  max-height: none;
  max-block-size: none;
}
.c-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--link-arrow-gap, 0.875rem);
  max-width: 100%;
  font-size: var(--link-arrow-font-size, max(0.9375rem, 10px));
  font-weight: 700;
  line-height: 2;
  color: var(--color-brand);
}
.c-link-arrow__text {
  min-width: 0;
}
.c-menu-button {
  position: relative;
  width: 2.4375rem;
  height: var(--header-nav-height);
}
.c-menu-button span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 2.5rem;
  height: 2px;
  background-color: var(--color-black);
  transition: background-color 0.3s ease-in-out;
}
.c-menu-button span:before,
.c-menu-button span::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-black);
  border-radius: 100vw;
  content: "";
  transition: transform 0.3s ease-in-out;
}
.c-menu-button span::before {
  transform: translateY(-0.5rem);
}
.c-menu-button span::after {
  transform: translateY(0.5rem);
}
/* ドロワーメニュー展開時 */
.c-menu-button[aria-expanded=true] span {
  background-color: transparent;
}
.c-menu-button[aria-expanded=true] span::before {
  transform: translateY(0) rotate(45deg);
}
.c-menu-button[aria-expanded=true] span::after {
  transform: translateY(0) rotate(-45deg);
}
.c-scroll-table {
  position: relative;
  min-inline-size: 0;
  max-inline-size: 100%;
}
.c-scroll-table__scroller {
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.c-scroll-table.is-scrollable {
  padding-block-end: 2rem;
}
.c-scroll-table__hint {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 3.25rem;
  display: none;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.4375rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: var(--color-brand);
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  pointer-events: none;
}
.c-scroll-table > .c-scroll-table__hint {
  margin: 0;
  font-size: max(0.75rem, 10px);
  line-height: 1.4;
}
.c-scroll-table__arrow {
  display: block;
  inline-size: 1.5rem;
  block-size: 0.75rem;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2097.31%2050.18'%3e%3cg%20transform='translate(-741%20-4435.85)'%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23000'%20d='M813.22%204435.85v9.81H741v30.55h72.22v9.82l25.09-25.1z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23002680'%20d='M741%204435.85h97.31v50.18H741z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") no-repeat center/contain;
}
.c-scroll-table.is-scrollable:not(.is-at-end) .c-scroll-table__hint {
  display: flex;
}
.c-scroll-table--content:has(> .table-wrap) {
  margin-block-end: 40px;
}
.c-scroll-table--content > .table-wrap {
  margin-block-end: 0;
}
.single-seminar .p-doc-detail__main {
  min-inline-size: 0;
}
.c-section-head-bar {
  position: relative;
  padding-inline-start: 1rem;
}
.c-section-head-bar::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  width: 0.3125rem;
  height: 3.75rem;
  background-color: var(--color-brand-blue);
  translate: 0 -50%;
  content: "";
}
.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.1621621622;
  color: var(--color-black);
}
.c-section-head-bar__accent {
  color: var(--color-brand);
}
.c-section-head-bar__lead {
  margin-block-start: 0.5rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.c-section-head {
  --section-head-rule-margin-block-start: 0.75rem;
  --section-head-logo-width: 6rem;
  display: grid;
  justify-items: center;
}
.c-section-head__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.375rem 0.5rem;
  font-size: max(1.5rem, 10px);
  font-weight: 900;
  line-height: 1.075;
  text-align: center;
}
.c-section-head__logo {
  width: var(--section-head-logo-width);
}
.c-section-head__title-text {
  display: inline-block;
}
.c-section-head__rule {
  display: block;
  width: 7.5rem;
  height: 0.25rem;
  margin-block-start: var(--section-head-rule-margin-block-start);
  border-radius: 6.25rem;
  background-color: var(--color-brand);
}
.p-404 {
  padding-block: 1.5rem 3rem;
}
.p-404__heading {
  color: var(--color-brand);
  font-family: var(--font-family-en);
  font-weight: 700;
}
.p-404__code {
  display: block;
  font-size: max(4.5rem, 10px);
  line-height: 1.0967741935;
}
.p-404__label {
  display: block;
  margin-block-start: 0.25rem;
  font-size: max(1.75rem, 10px);
  line-height: 1.4347826087;
}
.p-404__text {
  margin-block-start: 1.75rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
.p-about-auto {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-about-auto__table {
  margin-block-start: 1.75rem;
}
.p-about-auto__row {
  display: grid;
  gap: 0.5rem;
}
.p-about-auto__row + .p-about-auto__row {
  margin-block-start: 1.125rem;
}
.p-about-auto__label {
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-inline: 0.75rem;
  background-color: var(--color-white);
  border-radius: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-about-auto__before {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding-inline: 0.75rem;
  background-color: var(--color-white);
  border-radius: 0.5rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
  text-align: center;
}
.p-about-auto__arrow {
  width: 2.25rem;
  aspect-ratio: 97.31/50.18;
  margin-inline: auto;
  background-color: var(--color-brand);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2097.31%2050.18'%3e%3cg%20transform='translate(-741%20-4435.85)'%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23000'%20d='M813.22%204435.85v9.81H741v30.55h72.22v9.82l25.09-25.1z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23002680'%20d='M741%204435.85h97.31v50.18H741z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2097.31%2050.18'%3e%3cg%20transform='translate(-741%20-4435.85)'%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23000'%20d='M813.22%204435.85v9.81H741v30.55h72.22v9.82l25.09-25.1z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23002680'%20d='M741%204435.85h97.31v50.18H741z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") no-repeat center/contain;
  rotate: 90deg;
}
.p-about-auto__conclusion-arrow {
  width: 2.25rem;
  aspect-ratio: 3/1;
  margin-inline: auto;
  background-color: var(--color-brand);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-about-auto__after {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4rem;
  padding-inline: 1rem 3rem;
  background-color: var(--color-white);
  border: 0.1875rem solid var(--color-brand-blue);
  border-radius: 1.5rem;
}
.p-about-auto__after-text {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923076923;
  color: var(--color-black);
  text-align: center;
}
.p-about-auto__em {
  white-space: nowrap;
  color: var(--color-brand-blue);
}
.p-about-auto__after-illust {
  position: absolute;
  display: block;
}
.p-about-auto__after-illust[data-illust] {
  inset-block-start: -0.625rem;
  inset-inline-end: 0.5rem;
  width: 2.125rem;
}
.p-about-auto__conclusion-arrow {
  margin-block-start: 1.5rem;
}
.p-about-auto__conclusion {
  margin-block-start: 0.875rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.6981132075;
  color: var(--color-brand-blue);
  text-align: center;
}
.p-about-change__lead {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  text-align: center;
}
.p-about-change__title {
  margin-block-start: 0.1875rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333333333;
  color: var(--color-black);
  text-align: center;
}
.p-about-change__title-em {
  color: var(--color-brand);
}
.p-about-change__marker {
  padding: 0;
  background: linear-gradient(var(--color-accent-yellow), var(--color-accent-yellow)) 0 100%/100% 0.625rem no-repeat;
  color: inherit;
}
.p-about-change__collage {
  display: grid;
  gap: 3rem;
  margin-block-start: 2rem;
}
.p-about-change__group {
  display: grid;
  justify-items: center;
}
.p-about-change__bubbles {
  display: grid;
  gap: 0.75rem;
  width: 100%;
  margin-block-start: 1.5rem;
}
.p-about-change__bubble {
  display: grid;
  place-items: center;
  padding: 1rem 1.25rem;
  background-color: #e2edff;
  border-radius: 1.5rem;
}
.p-about-change__bubble-text {
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
}
.p-about-change__bubble::after {
  display: none;
}
.p-about-change__person {
  position: relative;
  width: 10rem;
  margin-block-end: 0.875rem;
}
.p-about-change__person-illust {
  display: block;
}
.p-about-change__person-label {
  position: absolute;
  inset-block-end: -0.75rem;
  inset-inline-start: 50%;
  display: grid;
  place-items: center;
  min-width: 4.75rem;
  padding-inline: 0.625rem;
  background-color: var(--color-white);
  border: 0.0625rem solid #707070;
  translate: -50% 0;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.4545454545;
  color: var(--color-black);
  white-space: nowrap;
}
.p-about-copilot {
  padding-block-start: 2.5rem;
  background-color: var(--color-surface-gray);
}
.p-about-copilot__cards {
  display: grid;
  gap: 3.5rem 1.875rem;
  margin-block-start: 2rem;
}
.p-about-copilot__card {
  --hover-opacity: 1;
}
.p-about-copilot__card .p-about-copilot__illust {
  transition: scale 0.3s ease-in-out;
}
.p-about-copilot__card:focus-visible .p-about-copilot__illust {
  scale: 1.1;
}
.p-about-copilot__card {
  position: relative;
  display: grid;
  align-content: start;
  padding: 2rem 1.5rem;
  background-color: var(--color-white);
  border-radius: 3.75rem 3.75rem 0 0;
}
.p-about-copilot__illust {
  display: block;
  width: 10rem;
  margin-block-end: 1rem;
  margin-inline: auto;
}
.p-about-copilot__label {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
  color: var(--color-brand-blue);
}
.p-about-copilot__title {
  margin-block-start: 0.25rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4583333333;
  color: var(--color-black);
}
.p-about-copilot__desc {
  margin-block-start: 0.875rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-copilot__card .c-link-arrow {
  justify-self: center;
  margin-block-start: 1.25rem;
}
.p-about-flow {
  position: relative;
}
.p-about-flow__inner {
  position: relative;
}
.p-about-flow__steps {
  display: grid;
  gap: 1.75rem;
  margin-block-start: 1.75rem;
}
.p-about-flow__step {
  display: grid;
  justify-items: center;
}
.p-about-flow__step-illust {
  display: block;
  width: 11.25rem;
}
.p-about-flow__step-body {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  margin-block-start: 1rem;
}
.p-about-flow__step-no {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 2.125rem;
  height: 2.125rem;
  background-color: var(--color-brand-blue);
  border-radius: 50%;
  font-family: var(--font-family-en);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
}
.p-about-flow__step-text {
  display: grid;
}
.p-about-flow__step-title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
  color: var(--color-black);
}
.p-about-flow__step-sub {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-flow__arrow {
  display: none;
}
.p-about-flow__defs {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 2.5rem;
}
.p-about-flow__def {
  padding: 1.5rem 1.25rem 1.75rem;
  border: 0.125rem solid var(--color-brand-blue);
  border-radius: 1rem;
  background-color: var(--color-white);
}
.p-about-flow__def-term {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
  color: var(--color-brand);
  text-align: center;
}
.p-about-flow__def-desc {
  word-break: auto-phrase;
  margin-block-start: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  text-align: center;
}
.p-about-flow__def-em {
  font-weight: 700;
  color: var(--color-brand);
}
.p-about-flow__deco {
  display: none;
}
.p-about-issues__cards {
  display: grid;
  gap: 3.5rem 1.8125rem;
  margin-block-start: 4rem;
}
.p-about-issues__card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-about-issues__illust {
  position: absolute;
  inset-block-start: -1.75rem;
  inset-inline-end: 0.75rem;
  display: block;
  width: 7.5rem;
  margin-block-end: 0;
}
.p-about-issues__label {
  align-self: start;
  padding-block: 0.1875rem;
  padding-inline: 0.4375rem;
  background-color: var(--color-brand);
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.6666666667;
  color: var(--color-white);
}
.p-about-issues__title {
  margin-block-start: 0.625rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-about-issues__desc {
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-issues__target-label {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-black);
}
.p-about-issues__target {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-issues__card .c-link-arrow {
  align-self: end;
  margin-block-start: auto;
}
.p-about-more__frame {
  padding: 1.75rem 1.25rem 2rem;
  border-radius: 1rem;
  background-color: var(--color-surface-gray);
}
.p-about-more__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4333333333;
  color: var(--color-black);
}
.p-about-more__cards {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.25rem;
}
.p-about-more__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-about-more__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem;
}
.p-about-more__label {
  padding-block: 0.1875rem;
  padding-inline: 0.4375rem;
  background-color: var(--color-brand);
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.6666666667;
  color: var(--color-white);
}
.p-about-more__card-title {
  min-width: 0;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-about-more__desc {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-more__card .c-link-arrow {
  align-self: end;
  margin-block-start: auto;
}
.p-about-mv__inner {
  display: grid;
  gap: 2rem;
}
.p-about-mv__body {
  min-width: 0;
}
.p-about-mv__title {
  display: grid;
  justify-items: start;
}
.p-about-mv__title-brand {
  display: flex;
  align-items: flex-start;
  gap: 0.125rem;
}
.p-about-mv__logo {
  display: block;
  width: 5.25rem;
}
.p-about-mv__title-then {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.4230769231;
  letter-spacing: -0.034em;
  color: var(--color-black);
}
.p-about-mv__title-main {
  display: grid;
  justify-items: start;
  margin-block-start: 0.5rem;
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2363636364;
}
.p-about-mv__title-line {
  color: var(--color-black);
  margin-inline-start: -0.041em;
}
.p-about-mv__title-line[data-color=brand] {
  margin-inline-start: -0.164em;
  color: var(--color-brand);
}
.p-about-mv__title-sub {
  margin-block-start: 0.375rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923076923;
  font-feature-settings: "palt";
  color: var(--color-brand);
  margin-inline-start: -0.125em;
}
.p-about-mv__lead {
  margin-block-start: 1.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.p-about-mv__marker {
  padding: 0;
  background: linear-gradient(transparent 60%, #ffff5c 60%);
  color: inherit;
}
.p-about-reason__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 2rem;
}
.p-about-reason__item {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  min-width: 0;
  text-align: center;
  padding-block-end: 1.5rem;
  border-block-end: 1px solid var(--color-brand-blue);
}
.p-about-reason__item:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}
.p-about-reason__label {
  display: inline-grid;
  place-items: center;
  min-height: 2rem;
  padding-block: 0.25rem;
  padding-inline: 0.625rem;
  border: 1px solid var(--color-brand);
  background-color: var(--color-white);
  overflow-wrap: normal;
  white-space: nowrap;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.3888888889;
  color: var(--color-brand);
}
.p-about-reason__stat {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  margin-block-start: 0.75rem;
}
.p-about-reason__value {
  flex-shrink: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-size: max(3.5rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-brand-blue);
}
.p-about-reason__unit {
  flex-shrink: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  margin-block-start: 0.875rem;
  font-size: max(1.875rem, 10px);
  font-weight: 900;
  line-height: 1.1052631579;
  color: var(--color-black);
}
.p-about-reason__heading {
  max-width: 21.25rem;
  margin-block-start: 0.75rem;
  font-size: max(1.375rem, 10px);
  font-weight: 900;
  line-height: 1.45;
  color: var(--color-black);
  text-align: center;
}
.p-about-reason__text {
  max-width: 21.5rem;
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-about-reason__lead {
  margin-block-start: 2rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
  color: var(--color-black);
  text-align: center;
}
.p-about-reason__logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  align-items: center;
  justify-items: center;
  margin-block-start: 1.5rem;
}
.p-about-reason__logo-item {
  display: grid;
  place-items: center;
  width: 100%;
  height: 3.875rem;
}
.p-about-reason__logo-item img {
  min-width: 0;
  min-height: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-about-reason__button {
  display: flex;
  justify-content: center;
  margin-block-start: 2rem;
}
.p-about-reason__list {
  gap: 1rem;
}
.p-about-reason__item {
  padding-block-end: 1rem;
}
.p-about-reason__item:last-child {
  padding-block-end: 1rem;
}
.p-about-reason__value {
  font-size: max(4rem, 10px);
}
.p-about-reason__unit {
  margin-block-start: 1rem;
  font-size: max(2rem, 10px);
}
.p-about-reason__heading {
  margin-block-start: 1rem;
}
.p-about-reason__text {
  margin-block-start: 0;
}
.p-about-reason__heading + .p-about-reason__text {
  margin-block-start: 0.75rem;
}
.p-about-reason__em {
  font-size: 1.2em;
  font-weight: 700;
}
.p-ai-figures__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-ai-figures__item {
  width: 100%;
  height: auto;
}
.p-ai-figures__link {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-brand);
}
.p-archive-hero {
  margin-block-start: 1.5rem;
}
.p-archive-hero__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.5rem;
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2364;
  color: var(--color-black);
}
.p-archive-hero__logo {
  width: 6.875rem;
  height: auto;
  translate: 0 0.1875rem;
}
.p-archive-hero__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-archive-grid {
  display: grid;
  gap: 1.25rem;
}
.p-archive-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-archive-card__media {
  display: block;
  line-height: 0;
}
.p-archive-card__thumb {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 380/214;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem 0.5rem 0 0;
}
.p-archive-card__body {
  padding: 1rem 1.25rem 1.25rem;
}
.p-archive-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
}
.p-archive-card__title {
  display: block;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-archive-card__tags + .p-archive-card__title {
  margin-block-start: 0.3125rem;
}
.p-archive-card__title + .p-archive-card__tags,
.p-archive-card__tags + .p-archive-card__date {
  margin-block-start: 0.5rem;
}
.p-archive-card__date {
  display: block;
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-auto-summary__group {
  margin-block-start: 1.75rem;
}
.p-auto-summary__group + .p-auto-summary__group {
  margin-block-start: 1.75rem;
}
.p-auto-summary__subtitle {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
  color: var(--color-black);
}
.p-auto-summary__pair {
  display: grid;
  margin-block-start: 1.375rem;
  gap: 0;
}
.p-auto-summary__card {
  position: relative;
  z-index: 1;
  display: grid;
  border-radius: 0.5rem;
  padding: 1.5rem 1.25rem;
}
.p-auto-summary__card[data-side=before] {
  align-content: start;
  background-color: var(--color-surface-gray);
}
.p-auto-summary__card[data-side=after] {
  align-content: start;
  gap: 0.75rem;
  border: 3px solid var(--color-brand-blue);
  background-color: var(--color-white);
}
.p-auto-summary__badge {
  position: absolute;
  inset-block-start: -0.75rem;
  inset-inline-end: 1.0625rem;
}
.p-auto-summary__card[data-side=after] .p-auto-summary__badge {
  inset-block-start: -0.9375rem;
  inset-inline-end: 0.875rem;
}
.p-auto-summary__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-auto-summary__card[data-side=after] .p-auto-summary__text {
  font-size: max(1rem, 10px);
  line-height: 1.5;
  color: var(--color-brand-blue);
}
.p-auto-summary__more {
  justify-self: end;
}
.p-auto-summary__arrow {
  display: grid;
  place-items: center;
  height: 3rem;
}
.p-auto-summary__arrow img {
  width: 3rem;
  rotate: 90deg;
}
.page-billing .p-page-hero__title {
  margin-block-start: 0;
}
.l-billing-intro {
  margin-block-start: 1.75rem;
}
.p-billing-intro__lead {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-billing-intro__notice {
  margin-block-start: 1.75rem;
  padding: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.l-billing-flow {
  margin-block-start: 2rem;
}
.p-billing-flow__body {
  display: grid;
  gap: 1.75rem;
}
.p-billing-flow__list {
  display: grid;
  row-gap: 1.3125rem;
}
.p-billing-flow__step {
  position: relative;
  padding-block-start: 1.25rem;
}
.p-billing-flow__badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 1.5625rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding-inline-end: 0.25rem;
  background-color: var(--color-white);
}
.p-billing-flow__badge-label {
  font-family: var(--font-family-en);
  font-size: max(1.125rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-brand-blue);
}
.p-billing-flow__badge-num {
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  border-radius: 50%;
  background-color: var(--color-brand-blue);
  font-family: var(--font-family-en);
  font-size: max(1.5625rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
}
.p-billing-flow__box {
  padding: 1.6625rem 1.25rem 1.75rem;
  border: 3px solid var(--color-brand-blue);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-billing-flow__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-billing-flow__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-billing-flow__figure img,
.p-billing-flow__figure > svg {
  display: block;
  width: 100%;
  height: auto;
}
/* インライン化した図版。ページのフォント・文字設定をSVG内部にも効かせる */
.p-billing-flow__illust text {
  font-family: var(--base-font-family);
  font-weight: 500;
  letter-spacing: normal;
  line-height: normal;
  white-space: normal;
}
/* 9/2カンプで追加された「お客様」「株式会社ネットプロテクションズ」のラベル。カンプはBold */
.p-billing-flow__illust text.p-billing-flow__illust-label {
  font-weight: 700;
}
.p-billing-flow__note {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.l-billing-terms {
  margin-block-start: 3rem;
}
.p-billing-terms__list {
  margin-block-start: 1.5rem;
}
.p-billing-terms__row {
  display: grid;
  grid-template-columns: 7.625rem minmax(0, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-block-start: 1.375rem;
}
.p-billing-terms__row:first-child {
  margin-block-start: 0;
}
.p-billing-terms__term {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 3px solid var(--color-brand-blue);
}
.p-billing-terms__desc {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 1px solid #9ea0a2;
}
.l-billing-notes {
  margin-block-start: 3rem;
}
.p-billing-notes__list {
  margin-block-start: 1.25rem;
}
.p-billing-notes__item {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-billing-notes__item + .p-billing-notes__item {
  margin-block-start: 0.5rem;
}
.p-billing-notes__item::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
}
.l-billing-related {
  margin-block-start: 3rem;
  margin-block-end: 3rem;
}
.p-billing-related__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-billing-related__card {
  display: grid;
  height: 100%;
  padding: 1.5rem 1.25rem 1.75rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-billing-related__name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-billing-related__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block-start: 0.75rem;
}
.p-billing-related__text {
  min-width: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-billing-related__card .c-icon-arrow-circle {
  color: var(--color-brand);
}
.l-blog-detail-head {
  margin-block-start: 1.75rem;
}
.p-blog-detail-head__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-block-start: 0.875rem;
}
.p-blog-detail-head__title {
  margin-block-start: 1.25rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  color: var(--color-black);
}
.p-blog-detail-head__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 1.5rem;
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-blog-detail-head__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.p-blog-detail-head__meta-item img {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.l-blog-detail-body {
  margin-block-start: 1.5rem;
}
.p-blog-detail__layout {
  display: grid;
  gap: 2.5rem;
}
.p-blog-detail__hero {
  width: 100%;
  height: auto;
  aspect-ratio: 833/469;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
.p-blog-detail__content {
  margin-block-start: 1.5rem;
}
.p-blog-detail-download {
  margin-block-start: 2.5rem;
  padding: 1.25rem 0.75rem 1.375rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-blog-detail-download__list {
  display: grid;
  gap: 0.5rem;
  margin-block-start: 1rem;
}
.p-blog-detail-download__more {
  display: flex;
  justify-content: center;
  margin-block-start: 1.25rem;
}
.p-blog-detail-download__card {
  height: 100%;
  display: grid;
  grid-template-columns: 3.625rem minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem 0.625rem;
  padding: 0.625rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-blog-detail-download__thumb {
  grid-column: 1;
  grid-row: 1/3;
  width: 3.625rem;
  height: auto;
  aspect-ratio: 724/1024;
  -o-object-fit: contain;
     object-fit: contain;
  justify-self: start;
}
.p-blog-detail-download__body {
  display: contents;
}
.p-blog-detail-download__title {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-blog-detail-download__lead {
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
  display: none;
}
.p-blog-detail-download__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  min-height: 1.875rem;
  padding-inline: 0.75rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 100vh;
  background-color: var(--color-brand-blue);
  box-shadow: none;
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
}
.p-blog-detail-download__button img {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}
.p-blog-detail-author {
  display: grid;
  gap: 1rem;
  margin-block-start: 2.5rem;
}
.p-blog-detail-author__avatar {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-blog-detail-author__body {
  position: relative;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-blog-detail-author__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  color: var(--color-brand);
}
.p-blog-detail-author__text {
  margin-block-start: 0.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-blog-detail-meta {
  display: grid;
  gap: 1rem;
  margin-block-start: 2rem;
  padding-block: 1.25rem;
  border-block-start: 1px solid #d2d2d2;
}
.p-blog-detail-meta + .p-blog-detail-meta {
  margin-block-start: 0;
}
.p-blog-detail-meta__label {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-blog-detail-meta__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-blog-detail-meta__tag {
  display: inline-grid;
  place-items: center;
  min-height: 2.75rem;
  padding-inline: 1.25rem;
  border: 2px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
}
.p-blog-detail-meta__share {
  display: flex;
  flex-wrap: wrap;
  gap: 0.1875rem;
}
.p-blog-detail-meta__share a {
  display: grid;
  place-items: center;
  width: 3.9375rem;
  height: 3.9375rem;
  background-color: var(--color-surface-gray);
}
.p-blog-detail-meta__share img {
  width: 1.4375rem;
  height: 1.4375rem;
}
.p-blog-side {
  display: grid;
  gap: 1.5rem;
}
.p-blog-side__box {
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-blog-side__box--card {
  position: relative;
  padding-block-start: 2rem;
  border: 1px solid #9ea0a2;
  background-color: var(--color-white);
}
.p-blog-side__ribbon {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: grid;
  place-items: center;
  min-width: 8.125rem;
  min-height: 1.6875rem;
  padding-inline: 0.3125rem;
  border-start-start-radius: calc(0.5rem - 1px);
  background-color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
}
.p-blog-side__title {
  position: relative;
  padding-inline-start: 1.3125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-blog-side__title::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.25rem;
  height: 1.5625rem;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-blog-side__thumb {
  display: block;
  width: 12rem;
  height: auto;
  margin-inline: auto;
}
.p-blog-side__doc-title {
  margin-block-start: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-blog-side__doc-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.7rem;
  margin-block-start: 1.125rem;
  padding-inline: 1rem;
  border: 2px solid var(--color-accent-yellow);
  border-radius: 100vh;
  background-color: var(--color-accent-yellow);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-blog-side__doc-button img {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}
.p-blog-side__text {
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-blog-side__contact-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 3.25rem;
  margin-block-start: 1.125rem;
  border-radius: 100vh;
  background-color: var(--color-accent-yellow);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-blog-side__contact-button img {
  flex-shrink: 0;
  width: 1rem;
  height: 0.75rem;
}
.p-blog-side__form {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.125rem;
  justify-items: start;
}
.p-blog-side__input {
  width: 100%;
  min-height: 3.125rem;
  padding-inline: 0.875rem;
  border: 1px solid #cdd6dd;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-blog-side__input::-moz-placeholder {
  color: #9ea0a2;
}
.p-blog-side__input::placeholder {
  color: #9ea0a2;
}
.p-blog-side__submit {
  display: grid;
  place-items: center;
  min-width: 5.125rem;
  min-height: 2.375rem;
  padding-inline: 1rem;
  border-radius: 100vh;
  background-color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-white);
}
.p-blog-side__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-block-start: 1.125rem;
}
.p-blog-side__chip {
  display: inline-grid;
  place-items: center;
  min-height: 2.5625rem;
  padding-inline: 0.9375rem;
  border: 1px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
}
.p-blog-side__chip--muted {
  font-weight: 400;
  color: #9ea0a2;
}
.p-blog-side__rec {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.125rem;
}
.p-blog-side__rec-link {
  display: grid;
  gap: 0.5rem;
}
.p-blog-side__rec-media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.5rem;
  line-height: 0;
}
.p-blog-side__rec-thumb {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 380/214;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
.p-blog-side__rec-title {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
}
.p-blog-side__rec-cat {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  max-width: calc(100% - 0.75rem);
  margin: 0.375rem;
  line-height: normal;
  justify-self: start;
}
.p-blog-side__rec--compact {
  gap: 0.875rem;
}
.p-blog-side__rec--compact .p-blog-side__rec-link {
  grid-template-columns: 5.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}
.p-blog-side__rec--compact .p-blog-side__rec-thumb {
  width: 5.5rem;
  border-radius: 0.25rem;
}
.p-blog-side__rec--compact .p-blog-side__rec-title {
  font-size: max(0.875rem, 10px);
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.l-blog-detail-related {
  margin-block-start: 2.5rem;
  margin-block-end: 2.5rem;
}
.p-blog-detail-posts {
  margin-block-start: 2.5rem;
}
.single-post .p-blog-detail-posts .p-archive-card__title {
  font-size: max(1rem, 10px);
  font-weight: 500;
}
.p-blog-detail-related .p-feature-related__list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.p-blog-detail-related .p-feature-related__card {
  grid-template-rows: auto auto minmax(0, 1fr);
}
.p-blog-detail-related__desc {
  display: none;
  padding: 0.5rem 0.875rem 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.l-blog-detail-cases {
  margin-block-start: 2.5rem;
  margin-block-end: 2.5rem;
}
.p-blog-detail-cases__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-blog-detail-cases__card {
  height: 100%;
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-blog-detail-cases__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 225.4/126.9;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
.p-blog-detail-cases__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.p-blog-detail-cases__cat {
  display: block;
  margin-block-start: 0.3125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-brand-blue);
}
.p-blog-detail-cases__title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-blog-detail-cases__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-blog-detail-cases__link {
  justify-self: end;
}
.p-blog-side__doc-button {
  border-color: var(--color-brand-blue);
  background-color: var(--color-brand-blue);
  box-shadow: none;
  color: var(--color-white);
  --hover-opacity: 0.8;
}
.p-blog-side__doc-button img {
  filter: brightness(0) invert(1);
}
.p-blog-side__box--card:not(.p-blog-side__box--doc) {
  padding-block-start: 1.25rem;
}
.p-blog-side__submit {
  margin-inline: auto;
}
.p-blog-detail__content.p-post-content > h3 {
  padding-inline-start: 0;
}
.p-blog-detail__content.p-post-content > h3::before {
  content: none;
}
.single-post .p-blog-detail-download__title {
  font-weight: 500;
}
.p-blog-search-panel {
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-blog-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.875rem;
  width: 100%;
  min-height: 3.375rem;
  padding: 0.625rem 1rem;
  text-align: start;
  cursor: pointer;
  list-style: none;
}
.p-blog-search::-webkit-details-marker {
  display: none;
}
.p-blog-search--static {
  cursor: auto;
}
.p-blog-search-panel__body {
  display: grid;
  gap: 1.25rem;
  padding: 0 1rem 1.25rem;
}
.p-blog-search-panel__title {
  position: relative;
  padding-inline-start: 1.3125rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-blog-search-panel__title::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.25rem;
  height: 1.5625rem;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-blog-search-form {
  display: grid;
  justify-items: start;
  gap: 0.75rem;
  margin-block-start: 0.75rem;
}
.p-blog-search-form__input {
  width: 100%;
  min-height: 3.125rem;
  padding-inline: 0.875rem;
  border: 1px solid #cdd6dd;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-blog-search-form__input::-moz-placeholder {
  color: #9ea0a2;
}
.p-blog-search-form__input::placeholder {
  color: #9ea0a2;
}
.p-blog-search-form__submit {
  display: grid;
  place-items: center;
  min-width: 5.125rem;
  min-height: 2.375rem;
  padding-inline: 1rem;
  border-radius: 100vh;
  background-color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-white);
  cursor: pointer;
}
.p-blog-search-panel__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 0.75rem;
}
.p-blog-search-panel__chip {
  display: inline-grid;
  place-items: center;
  min-height: 2.5625rem;
  padding-inline: 0.9375rem;
  border: 1px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
}
.p-blog-search-panel__chip.is-current {
  background-color: var(--color-brand);
  color: var(--color-white);
}
.p-blog-search__title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-blog-search__note {
  min-width: 0;
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  color: var(--color-black);
}
.p-blog-search__mark {
  flex-shrink: 0;
  margin-inline-start: auto;
  width: 1.3125rem;
  height: 1.3125rem;
  rotate: 90deg;
  transition: rotate 0.3s ease-out;
}
.p-blog-search-panel[open]:not([data-anim-status=running]) .p-blog-search__mark,
.p-blog-search-panel.is-opened .p-blog-search__mark {
  rotate: -90deg;
}
/* 動きを抑えたい人への配慮 */
.p-blog-doc {
  position: relative;
  overflow: hidden;
  padding-block: 2rem 2.25rem;
  background-color: var(--color-cta-band);
}
.p-blog-doc::before,
.p-blog-doc::after {
  position: absolute;
  z-index: 0;
  display: none;
  content: "";
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-blog-doc::before {
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 19.875rem;
  height: 24.0625rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='318'%20height='385'%20viewBox='0%200%20317.615%20385.17'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoL'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M%20298.8367004394531%20362.5874938964844%20C%20294.7439575195312%20358.6290588378906%20290.4790649414062%20354.8414611816406%20286.1568298339844%20351.111572265625%20C%20268.7828063964844%20336.1250305175781%20250.4631805419922%20322.1055908203125%20238.5908050537109%20301.96044921875%20C%20223.8071746826172%20276.8736267089844%20220.4624328613281%20244.4354858398438%20202.0089263916016%20222.4022979736328%20C%20168.9842987060547%20182.9752044677734%20106.7600250244141%20196.4360809326172%2066.59963989257812%20165.8028717041016%20C%2044.26163482666016%20148.7644348144531%2031.76238059997559%20120.0308074951172%2025.4213809967041%2091.19330596923828%20C%2019.69025421142578%2065.13478088378906%2018.06037902832031%2037.64060974121094%207.473626613616943%2013.44010734558105%20C%205.431501388549805%208.775423049926758%202.909125566482544%204.242301464080811%200%200%20L%200%20385.1700134277344%20L%20317.6153259277344%20385.1700134277344%20C%20312.1030578613281%20376.6692504882812%20305.4730529785156%20369.0063171386719%20298.8367004394531%20362.5874938964844'%20fill='url(%23footerDecoL)'/%3e%3c/svg%3e");
}
.p-blog-doc::after {
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.5rem;
  height: 22.875rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20376.407%20366.187'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoR'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20transform='translate(0%20366.187)%20rotate(-90)'%3e%3cpath%20d='M%2021.65008735656738%20354.3388671875%20C%2026.36786842346191%20350.4714050292969%2031.28414344787598%20346.7675476074219%2036.2696647644043%20343.1231384277344%20C%2056.29946136474609%20328.4798278808594%2077.42099761962891%20314.77783203125%2091.10808563232422%20295.0918579101562%20C%20108.1511764526367%20270.5757751464844%20112.0103530883789%20238.8750915527344%20133.2865142822266%20217.3446197509766%20C%20171.3588256835938%20178.8120727539062%20243.0995330810547%20191.9679107666016%20289.402587890625%20162.0309600830078%20C%20315.1564636230469%20145.3795013427734%20329.5660095214844%20117.3019332885742%20336.8781127929688%2089.12022399902344%20C%20343.4862670898438%2063.65426635742188%20345.3650512695312%2036.78369140625%20357.5703735351562%2013.13672733306885%20C%20359.9246520996094%208.576485633850098%20362.8328552246094%204.145868301391602%20366.1865234375%200%20L%20366.1865234375%20376.406982421875%20L%200%20376.406982421875%20C%206.354230880737305%20368.1003723144531%2013.99869823455811%20360.6118774414062%2021.65008735656738%20354.3388671875'%20fill='url(%23footerDecoR)'/%3e%3c/g%3e%3c/svg%3e");
}
.p-blog-doc__inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 1.25rem;
}
.p-blog-doc__visual {
  width: 8.75rem;
}
.p-blog-doc__visual img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-blog-doc__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
}
.p-blog-doc__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-white);
}
.p-blog-doc__button {
  min-height: 3.5rem;
  padding-inline: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
}
.l-blog-search {
  margin-block-start: 1.5rem;
}
.l-blog-latest {
  margin-block-start: 2rem;
}
.l-blog-grid {
  margin-block-start: 1.5rem;
}
.p-blog-latest .p-archive-card {
  position: relative;
  grid-template-columns: minmax(0, 6.25rem) minmax(0, 1fr);
  grid-template-rows: none;
  gap: 0.5rem;
  align-items: stretch;
  padding: 1rem 2rem 1rem 0.625rem;
  color: var(--color-brand);
}
.p-blog-latest .p-archive-card::after {
  position: absolute;
  inset-block-end: 0.875rem;
  inset-inline-end: 0.75rem;
  width: 0.5rem;
  height: 0.5rem;
  border-block-end: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  rotate: -45deg;
  content: "";
  pointer-events: none;
}
.p-blog-latest .p-archive-card__thumb {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-blog-latest .p-archive-card__media {
  position: static;
  width: 100%;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-blog-latest .p-archive-card__body.p-archive-card__body {
  padding: 2rem 1.375rem 0 0;
}
.l-blog-doc {
  margin-block-start: 2.25rem;
}
.l-blog-banner {
  margin-block-start: 2rem;
}
.l-blog-archive {
  margin-block-start: 2.25rem;
  margin-block-end: 2.5rem;
}
.p-blog-archive__pagination {
  margin-block-start: 0.5rem;
}
:is(.blog, .category, .tag, .single-post) .p-archive-card {
  border: 0;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
:is(.blog, .category, .tag, .single-post) .p-archive-card__body {
  padding-inline: 1.25rem;
}
.p-blog-latest .p-archive-card__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
}
:is(.blog, .category, .tag, .single-post) .p-archive-card__media {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem 0.5rem 0 0;
}
.p-blog-latest .p-archive-card__media {
  position: static;
  border-radius: 0.5rem;
}
:is(.blog, .category, .tag, .single-post) .p-archive-card__media .p-archive-card__tags {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  align-items: flex-end;
  max-width: 100%;
  padding: 0.375rem;
  line-height: normal;
}
:is(.blog, .category, .tag, .single-post) .p-archive-card__media .p-tag {
  max-width: 100%;
}
.p-blog-latest .p-archive-card__media .p-archive-card__tags {
  inset-block-start: 1rem;
  inset-block-end: auto;
  inset-inline-start: 7.375rem;
  max-width: calc(100% - 9.5rem);
  padding: 0;
  flex-wrap: nowrap;
}
.p-blog-latest .p-archive-card__title {
  font-size: max(1rem, 10px);
  font-weight: 500;
}
:is(.blog, .category, .tag, .single-post) .p-tag {
  border-radius: 0;
}
.p-breadcrumb {
  box-sizing: border-box;
  min-height: 2.5625rem;
  padding-block: 0.5rem;
  background-color: var(--color-surface-gray);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.6666666667;
  color: var(--color-black);
}
.p-breadcrumb .aioseo-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.p-breadcrumb .aioseo-breadcrumbs a {
  color: inherit;
}
.p-breadcrumb .aioseo-breadcrumb-separator {
  margin-inline: 0.35em;
}
:is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumbs {
  flex-wrap: nowrap;
  min-width: 0;
}
:is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumb:not(:last-child) {
  flex-shrink: 0;
}
:is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumb:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumb-separator {
  flex-shrink: 0;
}
.l-case-detail-head {
  margin-block-start: 1.75rem;
}
.p-case-detail-head__tags {
  gap: 0.375rem;
}
.p-case-detail-head__title {
  margin-block-start: 0.875rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  color: var(--color-black);
}
.l-case-detail-body {
  margin-block-start: 1.5rem;
  margin-block-end: 2.5rem;
}
.p-case-detail__hero {
  margin: 0;
}
.p-case-detail__hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.p-case-detail-company {
  margin-block-start: 1.5rem;
  margin-block-end: 2.25rem;
  padding: 1.5rem 1.25rem 1.25rem;
  border: 1px solid #9ea0a2;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-case-detail-company__logo {
  background-color: var(--color-white);
}
.p-case-detail-company__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.p-case-detail-company__title {
  margin-block-start: 1rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.65;
  color: var(--color-brand);
}
.p-case-detail-company__list {
  margin-block-start: 0.5rem;
}
.p-case-detail-company__row {
  padding-block-end: 0.5rem;
  border-block-end: 1px solid var(--color-brand);
}
.p-case-detail-company__row + .p-case-detail-company__row {
  margin-block-start: 0.5rem;
}
.p-case-detail-company__label {
  position: relative;
  padding-inline-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-case-detail-company__label::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-case-detail-company__value {
  margin-block-start: 0.1875rem;
  margin-inline-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black);
}
.p-case-detail__main {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-case-detail__main > :is(p, h2, h3, h4, ul, ol, figure, blockquote, table, .c-scroll-table) + :is(p, h2, h3, h4, ul, ol, figure, blockquote, table, .c-scroll-table) {
  margin-block-start: 1.25rem;
}
.p-case-detail__main > p {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-case-detail__main > h2 {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-case-detail__main > h2 {
  color: var(--color-black);
}
.p-case-detail__main > h2::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-case-detail__main > h3 {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-case-detail__main > h3::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-case-detail__main > :is(p, ul, ol, figure, blockquote, table, .c-scroll-table) + h2 {
  margin-block-start: 3rem;
}
.p-case-detail__main > :is(p, ul, ol, figure, blockquote, table, .c-scroll-table) + h3 {
  margin-block-start: 2.25rem;
}
.p-case-detail__main > :is(h2, h3) + :is(p, h4, ul, ol, figure, blockquote, table, .c-scroll-table) {
  margin-block-start: 0.75rem;
}
.p-case-detail__main > :is(ul, ol) {
  display: grid;
}
.p-case-detail__main > ul {
  gap: 0.125rem;
}
.p-case-detail__main > ol {
  gap: 0.3125rem;
  counter-reset: case-ol;
}
.p-case-detail__main > :is(ul, ol) > li {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-case-detail__main > ul:not(.l-case-anchor__list) > li::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-case-detail__main > ol > li {
  counter-increment: case-ol;
}
.p-case-detail__main > ol > li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  color: var(--color-brand-blue);
  content: counter(case-ol) ".";
}
.l-case-detail-section {
  margin-block-start: 2.25rem;
}
.p-case-detail__text {
  margin-block-start: 1.5rem;
}
.p-case-detail__text.p-post-content > * + * {
  margin-block-start: 1.5625rem;
}
.p-case-detail-stats {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-case-detail-stat {
  display: grid;
  justify-items: center;
  padding-block: 1.5rem 1.75rem;
  border: 1px solid var(--color-brand);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-case-detail-stat__label {
  padding: 0.4375rem 0.4375rem 0.4375rem;
  background-color: #1a48b5;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
}
.p-case-detail-stat__value {
  margin-block-start: 0.75rem;
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-brand);
}
.p-case-detail-stat__num {
  font-size: max(2.5rem, 10px);
  line-height: 0;
}
.p-case-detail__text--stats {
  margin-block-start: 1.25rem;
}
.l-case-detail-voice {
  margin-block-start: 2.5rem;
}
.p-case-detail-voice {
  display: grid;
  justify-items: center;
  gap: 1rem;
  margin: 0;
}
.p-case-detail-voice > p:empty {
  display: none;
}
.p-case-detail-voice__avatar {
  width: 6.875rem;
  height: 6.875rem;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-case-detail-voice__bubble {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 1.5rem 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-case-detail-voice__text {
  font-size: max(1.0625rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-case-detail-voice__name {
  margin-block-start: 0.375rem;
  margin-inline-start: 0.3125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  color: var(--color-brand);
}
.l-case-detail-features {
  margin-block-start: 3rem;
}
.p-case-detail-features__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.25rem;
}
.p-case-detail-features__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 3.75rem;
  padding: 0.75rem 1.125rem 0.75rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  color: var(--color-black);
}
.p-case-detail-features__link--outline {
  border: 2px solid var(--color-brand);
  background-color: var(--color-white);
}
.p-case-detail-features__link .c-icon-arrow-circle {
  color: var(--color-brand);
}
.l-case-detail-next {
  margin-block-start: 2.75rem;
  margin-block-end: 3rem;
}
.p-case-detail-next__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-case-detail-next__button {
  margin-block-start: 1.25rem;
}
.p-case-detail__main .p-case-section__head {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-case-detail__main .p-case-section__head {
  display: flex;
  align-items: baseline;
  gap: 0;
  color: var(--color-black);
  font-size: max(1.625rem, 10px);
  line-height: 1.1621621622;
}
.p-case-detail__main .p-case-section__head::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-case-detail__main .p-case-section__head .num {
  flex-shrink: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin-inline-end: 0.5em;
}
.p-case-detail__main .p-case-section__head .num::after {
  content: ".";
}
.p-case-detail__main .p-case-section__ttl {
  margin-block-start: 0.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
.p-case-detail__main .l-column-content__section {
  display: flow-root;
  margin-block-start: 3rem;
}
.p-case-detail__main .l-case-section__block {
  margin-block-start: 1.5rem;
}
.p-case-detail__main .p-case-section__ttl + .p-case-section__img {
  margin-block-start: 1.5rem;
}
.p-case-detail__main .p-case-section__txt + div {
  margin-block-start: 1.5625rem;
}
.p-case-detail__main .p-case-section__txt {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-case-detail__main .p-case-section__img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.p-case-detail__main .p-case-anchor__head > span {
  margin-inline-end: 0.5em;
}
.p-case-detail__main .p-case-anchor__head > span::after {
  content: ".";
}
.l-case-related {
  margin-block-start: 2.5rem;
  margin-block-end: 2.5rem;
}
.p-case-related__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-case-doc {
  inline-size: min(var(--inner), 100% - var(--inner-padding) * 2);
  margin-inline: auto;
  padding-block: 2rem 2.25rem;
  border-radius: 1rem;
  background-color: var(--color-surface-gray);
}
.p-case-doc__inner {
  display: grid;
  justify-items: center;
  gap: 1.25rem;
}
.p-case-doc__visual {
  width: 8.75rem;
}
.p-case-doc__visual img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-case-doc__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-black);
}
.p-case-doc__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-case-doc__button {
  justify-self: center;
}
.l-case-doc {
  margin-block: 3rem;
}
.p-case-detail__main .p-case-section__img.left,
.p-case-detail__main .p-case-section__img.right {
  margin-block-end: 1.5625rem;
}
.p-case-detail__main .p-case-section__img-caption {
  margin-block-start: 0.9375rem;
  font-size: max(0.75rem, 10px);
  text-align: start;
}
.p-case-detail__main .p-case-section__img.left .p-case-section__img-caption,
.p-case-detail__main .p-case-section__img.right .p-case-section__img-caption {
  text-align: center;
}
.p-case-detail__main .mt-0 {
  margin-block-start: 0 !important;
}
.p-case-detail__main .mt-10 {
  margin-block-start: 0.625rem !important;
}
.p-case-detail__main .mt-30 {
  margin-block-start: 1.875rem !important;
}
.p-case-detail__main .mt-50 {
  margin-block-start: 3.125rem !important;
}
.p-case-detail__main .mb-0 {
  margin-block-end: 0 !important;
}
.p-case-detail__main .mb-10 {
  margin-block-end: 0.625rem !important;
}
.p-case-detail__main .mb-30 {
  margin-block-end: 1.875rem !important;
}
.p-case-detail__main .mb-50 {
  margin-block-end: 3.125rem !important;
}
.p-case-detail__main .p-case-section__img:is(.left, .right):is(.mb-0, .mb-10, .mb-30, .mb-50) {
  margin-block-end: 1.5625rem !important;
}
.p-case-detail__main .l-case-anchor__list {
  margin-block-end: 2.5rem;
  background-color: #edeff4;
}
.p-case-detail__main .p-case-anchor__item {
  display: block;
  padding: 0.9375rem 1.5625rem;
}
.p-case-detail__main .p-case-anchor__item:not(:last-child) {
  border-block-end: 1px solid var(--color-white);
}
.p-case-detail__main .p-case-anchor__head {
  display: flex;
  align-items: center;
  margin-block-end: 0.375rem;
  font-weight: 700;
  color: #242e4d;
}
.p-case-detail__main .p-case-anchor__head span {
  margin-inline-end: 0.3125rem;
}
.p-case-detail__main .p-case-anchor__lead {
  display: block;
  color: #242e4d;
}
.p-case-detail__main .ttl-paragraph {
  margin-block-end: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: #242e4d;
}
.p-case-detail__main .p-case-anchor__item > p {
  margin: 0;
}
.p-case-detail-company__purpose {
  margin-block-start: 1.25rem;
}
.p-case-detail-company__badges {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: start;
  gap: 0.3125rem;
  margin-block-start: 0.625rem;
}
.p-case-detail-company__badge .p-tag {
  width: 100%;
  padding-inline: 0.375rem;
}
.p-case-detail-head__tags .p-tag,
.p-case-detail-company__badge .p-tag {
  border-radius: 0;
}
.p-case-detail-company__badge .p-tag[data-state=off] {
  opacity: 0.4;
}
.p-case-detail__main .p-case-section__img > img ~ p > img,
.p-case-detail__main .p-case-section__img > p:has(> img) ~ p > img {
  margin-block-start: 0.625rem;
}
.p-case-detail__main .p-case-section__img:has(> img[src*="/case-yoshu03."]) > .p-case-section__img-caption {
  text-align: end;
}
.p-case-pickup {
  padding-block: 2.25rem 2.5rem;
  background-color: var(--color-surface-gray);
}
.p-case-pickup__grid {
  margin-block-start: 1.5rem;
}
.p-case-card__media {
  position: relative;
  display: block;
}
.p-case-card__badge {
  position: absolute;
  inset-block-start: 0.625rem;
  inset-inline-start: 0.625rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 1.75rem;
  padding-inline: 0.4375rem 0.625rem;
  background-color: var(--color-accent-yellow);
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-case-card__badge img {
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.875rem;
}
.p-case-card__industry {
  display: block;
  margin-block-start: 0.4375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-brand-blue);
}
.p-case-card__title {
  display: block;
  margin-block-start: 0.625rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-case-card__industry + .p-case-card__title {
  margin-block-start: 0.1875rem;
}
.p-case-card__meta {
  display: block;
  margin-block-start: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-case-card__link {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-block-start: 0.75rem;
}
.p-case-card--pickup .p-case-card__body {
  padding-block-start: 1.75rem;
}
.p-case-search__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 0.625rem;
  margin-block-start: 1.75rem;
}
.p-case-search__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.p-case-search__tab {
  order: -1;
  padding: 0.625rem 1.125rem 1.375rem;
  border: 1px solid #d2d2d2;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
  cursor: pointer;
}
.p-case-search__radio:checked + .p-case-search__tab {
  padding-block: 0.75rem 1.5rem;
  border-color: transparent;
  background-color: var(--color-surface-gray);
  font-size: max(1.0625rem, 10px);
}
.p-case-search__radio:focus-visible + .p-case-search__tab {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.p-case-search__panel {
  order: 1;
  display: none;
  width: 100%;
  margin-block-start: -1.28125rem;
  padding: 1.5rem 1.25rem 1.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
#case-tab-issue:checked ~ .p-case-search__panel[data-panel=issue],
#case-tab-fleet:checked ~ .p-case-search__panel[data-panel=fleet] {
  display: block;
}
.p-case-search__label {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-case-search__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.5rem;
}
.p-case-search__options .p-case-search__pill {
  --button-outline-pill-min-height: 1.6875rem;
  min-height: 1.6875rem;
  gap: 0;
  padding: 0.3125rem 0.9375rem;
  border: 1px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
}
.p-case-search__options .p-case-search__pill[aria-current=page] {
  background-color: var(--color-brand);
  color: var(--color-white);
}
.p-case-result__count {
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--color-brand);
  font-size: max(1.0625rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-case-result__count-num {
  margin-inline-end: 0.125rem;
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 0;
  color: var(--color-brand);
}
.p-case-result__grid {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-case-result__grid .p-case-card--list,
.p-case-related__list .p-case-card--list {
  border: 0;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-case-card--list .p-case-card__body {
  padding-block-start: 1.375rem;
}
.p-case-card--list .p-case-card__link {
  margin-inline-start: 0;
}
.l-case-pickup {
  margin-block-start: 2rem;
}
.l-case-search {
  margin-block-start: 3rem;
}
.l-case-result {
  margin-block-start: 2rem;
  margin-block-end: 3rem;
}
:is(.post-type-archive-case, .tax-case_purpose, .tax-case_volume, .tax-case_industry, .tax-case_use, .tax-case_info, .tax-case_exercise, .single-case) .p-case-card__body .p-tag {
  border-radius: 0;
}
.p-case-card__body {
  display: flex;
  flex-direction: column;
}
.p-case-card__body > :has(+ .p-case-card__link) {
  margin-block-end: auto;
}
.l-company-mission {
  margin-block-start: 2rem;
}
.p-company-mission__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 0.75rem;
  padding-inline: var(--inner-padding);
}
.p-company-mission__body {
  grid-column: 1/-1;
  grid-row: 1;
}
.p-company-mission__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 370/400;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-company-mission__label {
  font-family: var(--font-family-en);
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  letter-spacing: 0.2em;
  text-align: center;
  color: var(--color-brand-blue);
}
.p-company-mission__title {
  margin-block-start: 0.375rem;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.26;
  text-align: center;
  color: var(--color-black);
}
.p-company-mission__lead {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  text-align: center;
  color: var(--color-black);
}
.p-company-mission__lead br,
.p-company-recruit__lead br {
  display: none;
}
.l-company-info {
  margin-block-start: 3.5rem;
}
.p-company-info__list {
  margin-block-start: 1.5rem;
}
.p-company-info__row {
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-block-start: 1.375rem;
}
.p-company-info__row:first-child {
  margin-block-start: 0;
}
.p-company-info__term {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 3px solid var(--color-brand-blue);
}
.p-company-info__desc {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 1px solid #9ea0a2;
}
.l-company-access {
  margin-block-start: 3.5rem;
}
.p-company-access__map {
  margin-block-start: 1.5rem;
}
.p-company-access__map img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1200/577;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-company-access__frame {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1200/577;
  border: 0;
}
.p-company-access__cols {
  display: grid;
  gap: 1.75rem;
  margin-block-start: 1.5rem;
}
.p-company-access__label {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 3px solid var(--color-brand-blue);
}
.p-company-access__col > .p-company-access__label {
  display: inline-block;
}
.p-company-access__address {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-company-access__list {
  margin-block-start: 0.75rem;
}
.p-company-access__item {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-company-access__item + .p-company-access__item {
  margin-block-start: 0.1875rem;
}
.p-company-access__item::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
}
.l-company-recruit {
  margin-block-start: 3rem;
  margin-block-end: 3rem;
}
.p-company-recruit__card {
  display: grid;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-company-recruit__body {
  padding: 1.75rem 1.25rem 2rem;
}
.p-company-recruit__label {
  font-family: var(--font-family-en);
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0.4em;
  color: var(--color-black);
}
.p-company-recruit__title {
  margin-block-start: 0.25rem;
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.375;
  color: var(--color-brand);
}
.p-company-recruit__lead {
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-company-recruit__button {
  min-width: 11.875rem;
  max-width: 11.875rem;
  margin-block-start: 1.25rem;
}
.p-company-recruit__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 524/349;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-company-info__list {
  border-block-start: 2px solid var(--color-brand);
}
.p-company-info__row,
.p-company-info__row:first-child {
  -moz-column-gap: 0;
       column-gap: 0;
  margin-block-start: 0;
  border-block-end: 1px solid #dbdbdb;
}
.p-company-info__term {
  padding: 0.75rem;
  border-block-end: 0;
  background-color: var(--color-surface-gray);
}
.p-company-info__desc {
  padding: 0.75rem 0.5rem 0.75rem 0.75rem;
  border-block-end: 0;
}
.p-company-info__list {
  border-inline: 1px solid #dbdbdb;
  background-color: var(--color-white);
}
.p-company-info__row,
.p-company-info__row:first-child {
  display: block;
}
.p-company-info__term {
  padding: 0.625rem 0.875rem;
}
.p-company-info__desc {
  padding: 0.75rem 0.875rem 1rem;
}
.p-company-recruit__button {
  margin-inline: auto;
}
.p-components-catalog {
  padding-block-end: 5rem;
  background-color: var(--color-surface-gray);
}
.p-components-catalog__inner {
  display: grid;
  gap: 2.5rem;
  padding-block-start: 3rem;
}
.p-components-catalog__intro {
  display: grid;
  gap: 0.5rem;
}
.p-components-catalog__page-title {
  margin: 0;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
.p-components-catalog__lead {
  margin: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-components-catalog__section {
  display: grid;
  gap: 1rem;
  padding: 1.75rem 1.5rem;
  border-radius: 0.75rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.08);
}
.p-components-catalog__heading {
  margin: 0;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-brand);
}
.p-components-catalog__note {
  margin: 0;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.6;
  color: #3b4043;
}
.p-components-catalog__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.p-components-catalog__swatch {
  display: grid;
  gap: 0.5rem;
  min-width: 10rem;
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.p-components-catalog__swatch[data-surface=light] .p-components-catalog__swatch-body {
  color: var(--color-brand);
}
.p-components-catalog__swatch[data-surface=brand] {
  background-color: var(--color-brand);
  border-color: transparent;
}
.p-components-catalog__swatch[data-surface=brand] .p-components-catalog__swatch-label,
.p-components-catalog__swatch[data-surface=brand] .p-components-catalog__swatch-body {
  color: var(--color-white);
}
.p-components-catalog__row[data-demo=link-arrow-compact] {
  --link-arrow-gap: 0.5rem;
  --link-arrow-font-size: 0.9375rem;
}
.p-components-catalog__row[data-demo=button-pill-stack] {
  --button-pill-width: 100%;
  flex-direction: column;
  align-items: stretch;
  max-width: 20rem;
}
.p-components-catalog__row[data-demo=button-outline-pill] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 16.875rem));
  gap: 1.25rem 1.6875rem;
}
.p-components-catalog__row[data-demo=long-text] {
  max-width: 17.5rem;
}
.p-components-catalog__row[data-demo=section-head],
.p-components-catalog__row[data-demo=section-head-rule-tight] {
  flex-direction: column;
  align-items: stretch;
}
.p-components-catalog__row[data-demo=section-head-rule-tight] {
  --section-head-rule-margin-block-start: 0.5rem;
}
.p-components-catalog__swatch-label {
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.4;
  color: #3b4043;
}
.p-components-catalog__swatch-body {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
}
.p-contact .c-form-embed__frame {
  min-height: 1380px;
}
/* the_contentで出力した要素のスタイル
## プロパティごと
- margin-block
- font-family
- font-size
- font-wight
- letter-spacing
- line-height
## 要素ごと
- h
- ul
- ol
- a
- table
 */
/* 要素間の余白 */
.p-content h2 {
  margin-block: 5rem 2rem;
}
.p-content :is(h3, h4, p) {
  margin-block: 1.5rem;
}
.p-content :is(ul, ol) {
  margin-block: 2.125rem 1.5rem;
}
.p-content .wp-block-button {
  margin-block: 1.5rem 3.5rem;
}
/* font-family */
/* font-size */
.p-content h2 {
  font-size: max(1.5rem, 10px);
}
.p-content h3 {
  font-size: max(1.25rem, 10px);
}
.p-content h4 {
  font-size: max(1.125rem, 10px);
}
.p-content :is(ul, ol, p) {
  font-size: max(1rem, 10px);
}
/* font-weight */
.p-content :is(h2, h3, h4) {
  font-weight: 600;
}
.p-content :is(ul, ol, p) {
  font-weight: 400;
}
/* letter-spacing */
/* line-height */
.p-content :is(p, ul, ol) {
  line-height: 2;
}
/* その他スタイル
 * ・h, ul, ol, p, a
 */
.p-content h2 {
  padding-bottom: 0.625rem;
  border-bottom: 1px solid;
  color: var(--color-brand);
}
.p-content h3 {
  --heading-deco-size: 1rem;
  --heading-deco-gap: 0.625rem;
  position: relative;
  padding-inline-start: calc(var(--heading-deco-size) + var(--heading-deco-gap));
  display: grid;
  grid-template-columns: 1fr;
  align-items: flex-start;
  color: var(--color-brand);
}
.p-content h3::before {
  position: absolute;
  inset-block-start: calc((1lh - var(--heading-deco-size)) / 2);
  inset-inline-start: 0;
  inline-size: var(--heading-deco-size);
  block-size: var(--heading-deco-size);
  aspect-ratio: 1;
  background-color: var(--color-brand);
  content: "";
}
.p-content h4 {
  color: var(--color-brand);
}
.p-content ul {
  --_marker-size: 0.5rem;
  --_marker-color: var(--color-brand);
  --_row-gap: 0.5rem;
  --_column-gap: 0.625rem;
  display: grid;
  gap: var(--_row-gap);
}
.p-content ul li {
  position: relative;
  padding-inline-start: calc(var(--_marker-size) + var(--_column-gap));
  display: grid;
  grid-template-columns: 1fr;
  align-items: flex-start;
}
.p-content ul li::before {
  position: absolute;
  inset-block-start: calc((1lh - var(--_marker-size)) / 2);
  inset-inline-start: 0;
  inline-size: var(--_marker-size);
  block-size: var(--_marker-size);
  aspect-ratio: 1;
  background-color: var(--_marker-color, currentColor);
  border-radius: 50%;
  content: "";
}
.p-content ol {
  list-style: decimal;
  padding-inline-start: 1em;
}
.p-content ol li::marker {
  color: var(--color-brand);
}
.p-content a:not(.wp-block-button *) {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}
.p-content a[href^="tel:"] {
  text-decoration: none;
}
.p-content img {
  width: auto;
}
.p-content figure.aligncenter,
.p-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
}
.p-content figure.alignright,
.p-content img.alignright {
  margin-left: auto;
}
.p-content .wp-block-button {
  margin-inline: auto;
}
.p-correspondence {
  padding-block: 2.5rem 3.75rem;
}
.p-correspondence__lead {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-correspondence__note {
  margin-block-start: 2rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-correspondence__table {
  margin-block: 2rem 0;
  margin-inline: 0;
}
.p-correspondence__table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.75rem 0;
}
.p-correspondence__table :is(th, td) {
  padding: 0.5rem 0 0.625rem;
  border: none;
  border-bottom: 1px solid var(--color-brand);
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: start;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.p-correspondence__table th {
  border-bottom-width: 3px;
  font-weight: 700;
  background-color: transparent;
}
.l-cost-hero .p-lower-hero__visual {
  width: 17.5rem;
}
.l-cost-simulator {
  margin-block-start: 5rem;
}
.p-cost-simulator__box {
  max-width: 75rem;
  margin-inline: auto;
  padding: 2rem var(--inner-padding);
  background-color: var(--color-surface-gray);
}
.p-cost-simulator__title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  color: var(--color-black);
  text-align: center;
}
.p-cost-simulator__title br {
  display: none;
}
.p-cost-simulator__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  text-align: center;
}
.p-cost-simulator__input-area {
  margin-block-start: 1.75rem;
}
.p-cost-simulator__panel {
  margin-block-start: 1.25rem;
  border: 2px solid var(--color-brand);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-cost-simulator__panel-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.125rem;
  cursor: pointer;
  list-style: none;
}
.p-cost-simulator__panel-summary::-webkit-details-marker {
  display: none;
}
.p-cost-simulator__panel-title {
  flex-grow: 1;
  min-width: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-cost-simulator__panel-icon {
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--color-brand);
  border-radius: 50%;
}
.p-cost-simulator__panel-icon::before {
  position: absolute;
  inset-block-start: 42%;
  inset-inline-start: 50%;
  width: 0.4375rem;
  height: 0.4375rem;
  content: "";
  border-block-end: 1.5px solid var(--color-brand);
  border-inline-end: 1.5px solid var(--color-brand);
  rotate: 45deg;
  translate: -50% -50%;
}
.p-cost-simulator__panel[open] .p-cost-simulator__panel-icon::before {
  inset-block-start: 58%;
  rotate: -135deg;
}
.p-cost-simulator__fields {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 0;
  padding: 0 1.125rem 1.25rem;
}
.p-cost-simulator__label {
  display: block;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.4375;
  color: var(--color-black);
}
.p-cost-simulator__label-sub {
  display: block;
}
.p-cost-simulator__control {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  margin-block-start: 0.625rem;
}
.p-cost-simulator__input {
  width: 100%;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  min-width: 0;
  padding: 0.625rem 0.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid #c9ccd1;
}
.p-cost-simulator__input::-webkit-inner-spin-button {
  opacity: 1;
}
.p-cost-simulator__unit {
  flex-shrink: 0;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-black);
}
.p-cost-simulator__result {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 0;
  padding: 0 1.125rem 1.25rem;
}
.p-cost-simulator__result-title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.0714;
  color: var(--color-black);
}
.p-cost-simulator__result-note {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-cost-simulator__amounts {
  display: grid;
  gap: 0.75rem;
}
.p-cost-simulator__amount {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 5rem;
  padding-inline: 1rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-cost-simulator__amount-label {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  min-width: 3.6875rem;
  min-height: 2.8125rem;
  padding-inline: 0.75rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.0417;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-cost-simulator__amount-value {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-brand-blue);
}
.p-cost-simulator__amount-unit {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-cost-simulator__note {
  margin-block-start: 1.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  color: var(--color-black);
}
.l-cost-scale {
  margin-block-start: 3rem;
}
.p-cost-scale__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-cost-scale__item {
  position: relative;
  display: grid;
  justify-items: center;
  padding: 1.5rem 1.25rem 1.75rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-cost-scale__arrow {
  display: none;
}
.p-cost-scale__badge {
  display: grid;
  place-items: center;
  min-width: 7rem;
  min-height: 2rem;
  padding-inline: 0.75rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-cost-scale__heading {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  text-align: center;
  color: var(--color-black);
}
.p-cost-scale__hours {
  margin-block-start: 1rem;
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
.p-cost-scale__hours-unit {
  font-size: max(1.375rem, 10px);
}
.p-cost-scale__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.l-cost-insight {
  margin-block-start: 3.25rem;
}
.p-cost-insight__title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  text-align: center;
  color: var(--color-black);
}
.p-cost-insight__title-em {
  color: var(--color-brand-blue);
}
.p-cost-insight__title-marker {
  background: linear-gradient(transparent 60%, #fff7a8 60%);
}
.p-cost-insight__subtitle {
  margin-block-start: 1.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-cost-insight__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-cost-insight__list {
  display: grid;
  gap: 2rem;
  margin-block-start: 2.5rem;
}
.p-cost-insight__item {
  position: relative;
  padding: 2rem 1.25rem 1.5rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-cost-insight__item:nth-child(2) {
  border-color: var(--color-brand);
}
.p-cost-insight__item-title {
  position: absolute;
  inset-block-start: -0.875rem;
  inset-inline-start: 1.25rem;
  display: grid;
  place-items: center;
  min-height: 2.4375rem;
  padding-inline: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-cost-insight__item:nth-child(2) .p-cost-insight__item-title {
  background-color: var(--color-brand);
}
.p-cost-insight__item-body {
  display: grid;
  gap: 1rem;
}
.p-cost-insight__item-illust {
  justify-self: center;
  width: 6.875rem;
  height: auto;
}
.p-cost-insight__item-text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-cost-insight__em {
  color: var(--color-brand-blue);
}
.l-cost-reduce {
  margin-block-start: 5rem;
}
.p-cost-reduce__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.75rem;
}
.p-cost-reduce__item {
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-cost-reduce__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.p-cost-reduce__num {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  font-size: max(1.25rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
}
.p-cost-reduce__name {
  padding-block: 1.53125rem;
  min-width: 0;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-black);
}
.p-cost-reduce__illust {
  flex-shrink: 0;
  width: 4.5rem;
  height: auto;
  margin-inline-start: auto;
}
.p-cost-reduce__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-cost-cta {
  margin-block: 3rem;
}
.l-cost-flow {
  margin-block-start: 0;
}
.l-cost-related {
  margin-block-start: 3.5rem;
}
.l-cost-salesforce {
  margin-block-start: 3.5rem;
}
.l-cost-issues {
  margin-block-start: 3.5rem;
  margin-block-end: 3.5rem;
}
.l-cost-related .p-related-features__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-cost-related .p-related-features__card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.l-cost-related .p-related-features__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 380/242;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-cost-related .p-related-features__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 0.875rem;
}
.l-cost-related .p-related-features__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-cost-salesforce .p-salesforce__inner {
  display: grid;
  gap: 1.75rem;
}
.l-cost-salesforce .p-salesforce__title {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.2558;
  color: var(--color-black);
}
.l-cost-salesforce .p-salesforce__title-logo {
  display: inline-block;
  width: 5rem;
  height: auto;
  vertical-align: -0.125rem;
}
.l-cost-salesforce .p-salesforce__intro {
  display: grid;
  align-items: start;
  gap: 0.75rem;
}
.l-cost-salesforce .p-salesforce__logo {
  width: 5rem;
  height: auto;
}
.l-cost-salesforce .p-salesforce__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-cost-salesforce .p-salesforce__points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5625rem;
  margin-block-start: 1rem;
}
.l-cost-salesforce .p-salesforce__point {
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  padding-block: 0.5rem;
  padding-inline: 2.125rem 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
}
.l-cost-salesforce .p-salesforce__point::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.875rem;
  width: 0.6875rem;
  height: 0.375rem;
  content: "";
  border-inline-start: 2px solid var(--color-brand-blue);
  border-block-end: 2px solid var(--color-brand-blue);
  rotate: -45deg;
  translate: 0 -70%;
}
.l-cost-salesforce .p-salesforce__actions {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.l-cost-salesforce .p-salesforce__button {
  min-height: 3.18125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 100vw;
}
.l-cost-issues .p-other-issues__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-cost-issues .p-other-issues__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  height: 100%;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.l-cost-issues .p-other-issues__body {
  display: grid;
  justify-items: start;
  min-width: 0;
}
.l-cost-issues .p-other-issues__badge {
  display: grid;
  place-items: center;
  min-width: 4.625rem;
  min-height: 1.9375rem;
  padding-inline: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.l-cost-issues .p-other-issues__name {
  margin-block-start: 0.5625rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-cost-issues .p-other-issues__desc {
  margin-block-start: 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-cost-issues .p-other-issues__illust {
  flex-shrink: 0;
  width: 6.25rem;
  height: auto;
}
.l-cost-issues .p-other-issues__back {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-block-start: 1.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-cost-salesforce .p-salesforce__intro {
  grid-template-columns: none;
}
.l-cost-salesforce .p-salesforce__title {
  margin-block-start: 0;
}
.l-cost-salesforce .p-salesforce__logo {
  position: static;
  inset-block-start: auto;
  justify-self: center;
  margin-inline-end: 0;
}
.l-cost-salesforce .p-salesforce__actions {
  margin-inline-start: 0;
}
.l-cost-issues .p-other-issues__illust {
  display: block;
}
.p-cta-band {
  position: relative;
  overflow: hidden;
  padding-block: 2rem 2.5rem;
  color: var(--color-white);
  background-image: linear-gradient(90deg, #46cefc 0%, #1f53b5 100%);
}
.p-cta-band__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-cta-band__deco-item {
  position: absolute;
  display: none;
}
.p-cta-band__deco-item img {
  height: 100%;
}
.p-cta-band__deco-item[data-deco=left] {
  inset-block-start: 1.1875rem;
  inset-inline-start: 0;
  width: 19.875rem;
  height: 20.0625rem;
}
.p-cta-band__deco-item[data-deco=right] {
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.5rem;
  height: 19.0625rem;
}
.p-cta-band__inner {
  position: relative;
  z-index: 1;
}
.p-cta-band__title {
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.6981132075;
  text-align: center;
}
.p-cta-band__lead {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
  text-align: center;
}
.p-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-cta-band__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4375rem;
  width: auto;
  max-width: 17.8125rem;
  min-width: min(100%, 15rem);
  min-height: 4rem;
  padding-inline: 1.5rem;
  border: 2px solid var(--color-accent-yellow);
  border-radius: 100vh;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.9090909091;
  color: var(--color-black);
  background-color: var(--color-accent-yellow);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-cta-band__button-icon {
  flex-shrink: 0;
  width: 1.5625rem;
}
.p-cta-band__button[data-action=download] .p-cta-band__button-icon {
  width: 1.125rem;
}
.cta_blog_ban .p-button.p-button {
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 100vh;
}
.cta_blog_ban .p-button.p-button::before {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background: url(../images/header_icon-download.svg) no-repeat center/contain;
  content: "";
}
.p-blog-banner-dl.c-button-pill {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-decoration: none;
}
.p-blog-banner-dl.c-button-pill img {
  width: 1rem;
  height: auto;
}
.cta_ban_l.cta_blog_ban .box-wrap p {
  font-size: 0.9375rem;
  line-height: 1.5;
}
.cta_blog_ban .p-blog-banner-dl.c-button-pill {
  min-height: 2.5rem; /* 40px */
  margin-block-start: 0.625rem; /* 10px */
  padding-block: 0.375rem; /* 6px */
}
.l-cta-demo {
  margin-block: 3rem;
}
.p-cta-demo {
  position: relative;
  overflow: hidden;
  inline-size: min(var(--inner), 100% - var(--inner-padding) * 2);
  margin-inline: auto;
  padding-block: 2rem;
  border-radius: 1rem;
  background-color: var(--color-cta-band);
}
.p-cta-demo::before,
.p-cta-demo::after {
  position: absolute;
  z-index: 0;
  display: none;
  content: "";
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-cta-demo::before {
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 19.875rem;
  height: 24.0625rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='318'%20height='385'%20viewBox='0%200%20317.615%20385.17'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoL'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M%20298.8367004394531%20362.5874938964844%20C%20294.7439575195312%20358.6290588378906%20290.4790649414062%20354.8414611816406%20286.1568298339844%20351.111572265625%20C%20268.7828063964844%20336.1250305175781%20250.4631805419922%20322.1055908203125%20238.5908050537109%20301.96044921875%20C%20223.8071746826172%20276.8736267089844%20220.4624328613281%20244.4354858398438%20202.0089263916016%20222.4022979736328%20C%20168.9842987060547%20182.9752044677734%20106.7600250244141%20196.4360809326172%2066.59963989257812%20165.8028717041016%20C%2044.26163482666016%20148.7644348144531%2031.76238059997559%20120.0308074951172%2025.4213809967041%2091.19330596923828%20C%2019.69025421142578%2065.13478088378906%2018.06037902832031%2037.64060974121094%207.473626613616943%2013.44010734558105%20C%205.431501388549805%208.775423049926758%202.909125566482544%204.242301464080811%200%200%20L%200%20385.1700134277344%20L%20317.6153259277344%20385.1700134277344%20C%20312.1030578613281%20376.6692504882812%20305.4730529785156%20369.0063171386719%20298.8367004394531%20362.5874938964844'%20fill='url(%23footerDecoL)'/%3e%3c/svg%3e");
}
.p-cta-demo::after {
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.5rem;
  height: 22.875rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20376.407%20366.187'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoR'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20transform='translate(0%20366.187)%20rotate(-90)'%3e%3cpath%20d='M%2021.65008735656738%20354.3388671875%20C%2026.36786842346191%20350.4714050292969%2031.28414344787598%20346.7675476074219%2036.2696647644043%20343.1231384277344%20C%2056.29946136474609%20328.4798278808594%2077.42099761962891%20314.77783203125%2091.10808563232422%20295.0918579101562%20C%20108.1511764526367%20270.5757751464844%20112.0103530883789%20238.8750915527344%20133.2865142822266%20217.3446197509766%20C%20171.3588256835938%20178.8120727539062%20243.0995330810547%20191.9679107666016%20289.402587890625%20162.0309600830078%20C%20315.1564636230469%20145.3795013427734%20329.5660095214844%20117.3019332885742%20336.8781127929688%2089.12022399902344%20C%20343.4862670898438%2063.65426635742188%20345.3650512695312%2036.78369140625%20357.5703735351562%2013.13672733306885%20C%20359.9246520996094%208.576485633850098%20362.8328552246094%204.145868301391602%20366.1865234375%200%20L%20366.1865234375%20376.406982421875%20L%200%20376.406982421875%20C%206.354230880737305%20368.1003723144531%2013.99869823455811%20360.6118774414062%2021.65008735656738%20354.3388671875'%20fill='url(%23footerDecoR)'/%3e%3c/g%3e%3c/svg%3e");
}
.p-cta-demo__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}
.p-cta-demo__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4339622642;
  color: var(--color-white);
}
.p-cta-demo__lead {
  margin-block-start: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-white);
}
.p-cta-demo__actions {
  display: grid;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-cta-demo__button {
  min-height: 3.5rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
}
.p-day-change {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-day-change__title {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
  row-gap: 0;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.03125;
  color: var(--color-black);
  text-align: center;
}
.p-day-change__logo {
  width: 5.5rem;
  translate: 0 0.125rem;
}
.p-day-change__list {
  position: relative;
  display: grid;
  gap: 2.5rem;
  margin-block-start: 2rem;
}
.p-day-change__list::before {
  display: none;
}
.p-day-change__row {
  display: grid;
  gap: 1rem;
}
.p-day-change__row:last-child .p-day-change__time:has(span)::after {
  display: none;
}
.p-day-change__time {
  min-height: 0.0625rem;
}
.p-day-change__time span {
  font-family: var(--font-family-en);
  font-size: max(1.5rem, 10px);
  font-weight: 400;
  line-height: 1.2222222222;
  color: var(--color-brand);
}
.p-day-change__time:has(span)::before {
  display: none;
}
.p-day-change__pair {
  display: grid;
  gap: 0;
}
.p-day-change__card {
  position: relative;
  z-index: 1;
  padding-block-start: 4.625rem;
}
.p-day-change__card[data-side=after] {
  padding-block-start: 6rem;
}
.p-day-change__badge {
  position: absolute;
  inset-block-start: 3.875rem;
  inset-inline-end: 0.9375rem;
  z-index: 1;
}
.p-day-change__card[data-side=after] .p-day-change__badge {
  inset-block-start: 5.25rem;
  inset-inline-end: 1.5625rem;
}
.p-day-change__person {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 1.4375rem;
  width: 4.8rem;
}
.p-day-change__card[data-side=after] .p-day-change__person {
  inset-inline-start: 2.125rem;
  width: 5.6875rem;
}
.p-day-change__role {
  position: absolute;
  inset-block-start: 2.5rem;
  inset-inline-start: 6.6875rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-brand);
}
.p-day-change__surface {
  position: relative;
  min-height: 8.825rem;
  padding-block: 2.4375rem 2.375rem;
  padding-inline: 1.5625rem;
  background-color: var(--color-white);
  border-radius: 0.5rem;
}
.p-day-change__card[data-side=after] .p-day-change__surface {
  padding-block: 2.125rem 2.0625rem;
  padding-inline: 1.375rem;
  border: 0.1875rem solid var(--color-brand-blue);
}
.p-day-change__mark {
  position: absolute;
  inset-inline-end: 0.84375rem;
  inset-block-end: 0.75rem;
  width: 1.5rem;
}
.p-day-change__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-day-change__card[data-side=after] .p-day-change__text {
  font-size: max(0.9375rem, 10px);
  line-height: 1.8888888889;
}
.p-day-change__em {
  color: var(--color-brand-blue);
}
.p-day-change__arrow {
  display: grid;
  place-items: center;
  height: 3rem;
}
.p-day-change__arrow img {
  width: 3rem;
  rotate: 90deg;
}
.p-day-change[data-times=off] .p-day-change__list::before {
  display: none;
}
.p-device-marker {
  background: linear-gradient(transparent 60%, #ffff5c 60%);
}
.l-device-hero .p-lower-hero__visual {
  width: 15rem;
}
.l-device-tabs {
  margin-block-start: 3rem;
}
.p-device-tabs__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.1622;
  text-align: center;
  color: var(--color-black);
}
.p-device-tabs__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-tabs__em {
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-device-tabs__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: 1.75rem;
}
.p-device-tabs__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.p-device-tabs__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 3.5rem;
  padding: 0.625rem 0.75rem;
  cursor: pointer;
  border: 1px solid #c9ccd1;
  border-block-end: 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: var(--color-white);
}
.p-device-tabs__tab-badge {
  display: grid;
  place-items: center;
  min-height: 1.5rem;
  padding-inline: 0.4375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-device-tabs__tab-name {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.7083;
  color: var(--color-black);
}
.p-device-tabs__radio:checked + .p-device-tabs__tab {
  border-color: transparent;
  background-color: var(--color-surface-gray);
}
.p-device-tabs__radio:checked + .p-device-tabs__tab .p-device-tabs__tab-name {
  font-weight: 700;
  font-size: max(0.9375rem, 10px);
}
.p-device-tabs__radio:focus-visible + .p-device-tabs__tab {
  outline: 2px solid var(--color-brand-blue);
  outline-offset: -2px;
}
.p-device-tabs__panel {
  display: none;
  grid-column: 1/-1;
  padding: 1.75rem 1.25rem 2rem;
  background-color: var(--color-surface-gray);
}
#device-tab-gpslogger:checked ~ .p-device-tabs__panel[data-panel=gpslogger],
#device-tab-drivrec:checked ~ .p-device-tabs__panel[data-panel=drivrec] {
  display: block;
}
.p-device-tabs__summary {
  display: grid;
  gap: 1.25rem;
}
.p-device-tabs__photo {
  display: block;
  width: 12.5rem;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-device-tabs__catch {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4167;
  color: var(--color-brand-blue);
}
.p-device-tabs__strong {
  margin-block-start: 0;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-device-tabs__text {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-tabs__specs {
  display: grid;
  gap: 0.5rem;
  margin-block-start: 1.25rem;
}
.p-device-tabs__spec {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-tabs__spec::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.3125rem;
  height: 0.5625rem;
  content: "";
  border: solid var(--color-brand-blue);
  border-width: 0 0.125rem 0.125rem 0;
  rotate: 45deg;
  translate: 0 -50%;
}
.p-device-tabs__notes {
  margin-block-start: 1.5rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  letter-spacing: 0.05em;
  color: var(--color-black);
}
.p-device-tabs__steps {
  display: grid;
  align-items: stretch;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
.p-device-tabs__step {
  position: relative;
  display: grid;
  align-content: start;
  padding: 2.25rem 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-device-tabs__step-num {
  position: absolute;
  inset-block-start: -1.25rem;
  inset-inline-start: 50%;
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  font-size: max(1.5625rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
  translate: -50% 0;
}
.p-device-tabs__step-photo {
  width: 100%;
  height: auto;
}
.p-device-tabs__step:first-child .p-device-tabs__step-photo {
  justify-self: center;
  width: min(100%, 12.1875rem);
  height: 9.71875rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-device-tabs__step-name {
  margin-block-start: 1rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 2.4444;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--color-brand-blue);
}
.p-device-tabs__step-text {
  margin-block-start: 0.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-tabs__step-keep {
  display: inline-block;
}
.l-device-choice {
  margin-block-start: 3rem;
}
.p-device-choice__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-device-choice__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.75rem;
}
.p-device-choice__item {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-device-choice__tag {
  position: relative;
  z-index: 1;
  align-self: center;
  margin-block: auto calc(-0.9375rem);
  display: grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-device-choice__points {
  display: grid;
  gap: 0.75rem;
  padding: 1.5rem 1.25rem 1.5rem;
}
.p-device-choice__point {
  position: relative;
  padding-inline-start: 2.125rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-choice__point::before {
  position: absolute;
  inset-block-start: 0.25rem;
  inset-inline-start: 0;
  width: 1.3875rem;
  height: 1.30625rem;
  content: "";
  background-color: var(--color-brand);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2027.708%2026.06'%3e%3cpath%20d='M%2026.293%200%20L%2024.001%202.293%20L%2024.001%202.06%20L%200%202.06%20L%200%2026.06%20L%2024.001%2026.06%20L%2024.001%207.951%20L%2022%209.95%20L%2022%2024.061%20L%202%2024.061%20L%202%204.061%20L%2022%204.061%20L%2022%204.293%20L%2010%2016.293%20L%205.707%2012%20L%204.293%2013.414%20L%2010%2019.12%20L%2027.708%201.414%20L%2026.293%200%20Z'%20fill='%23000'/%3e%3c/svg%3e") no-repeat center/contain;
          mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2027.708%2026.06'%3e%3cpath%20d='M%2026.293%200%20L%2024.001%202.293%20L%2024.001%202.06%20L%200%202.06%20L%200%2026.06%20L%2024.001%2026.06%20L%2024.001%207.951%20L%2022%209.95%20L%2022%2024.061%20L%202%2024.061%20L%202%204.061%20L%2022%204.061%20L%2022%204.293%20L%2010%2016.293%20L%205.707%2012%20L%204.293%2013.414%20L%2010%2019.12%20L%2027.708%201.414%20L%2026.293%200%20Z'%20fill='%23000'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-device-choice__answer {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-start: auto;
  gap: 0.5rem;
  min-height: 5.0625rem;
  padding: 1rem;
  background-color: #eaf1fd;
}
.p-device-choice__tag + .p-device-choice__answer {
  margin-block-start: 0;
  padding-block-start: 1rem;
}
.p-device-choice__answer-label {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-choice__answer img {
  width: auto;
  max-height: 2.125rem;
}
.p-device-choice__answer-name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-device-choice__note {
  margin-block-start: 1.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-choice__note b {
  font-weight: 700;
}
.l-device-standalone {
  margin-block-start: 3rem;
  margin-block-end: 3.5rem;
}
.p-device-standalone__tag {
  display: inline-grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-device-standalone__heading {
  margin-block-start: 0;
}
.p-device-standalone__lead {
  margin-block-start: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-standalone__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-device-standalone__item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  min-height: 6.525rem;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-device-standalone__item img {
  flex-shrink: 0;
  width: auto;
  max-height: 2rem;
}
.p-device-standalone__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-device-standalone__link {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 1.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-device-doc {
  margin-block: 3rem;
}
.l-device-structure {
  margin-block-start: 3rem;
}
.p-doc-cta {
  position: relative;
  overflow: hidden;
  inline-size: min(var(--inner), 100% - var(--inner-padding) * 2);
  margin-inline: auto;
  padding-block: 2.25rem;
  border-radius: 1rem;
  background-color: var(--color-cta-band);
}
.p-doc-cta::before,
.p-doc-cta::after {
  position: absolute;
  z-index: 0;
  display: none;
  content: "";
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-doc-cta::before {
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 19.875rem;
  height: 24.0625rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='318'%20height='385'%20viewBox='0%200%20317.615%20385.17'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoL'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M%20298.8367004394531%20362.5874938964844%20C%20294.7439575195312%20358.6290588378906%20290.4790649414062%20354.8414611816406%20286.1568298339844%20351.111572265625%20C%20268.7828063964844%20336.1250305175781%20250.4631805419922%20322.1055908203125%20238.5908050537109%20301.96044921875%20C%20223.8071746826172%20276.8736267089844%20220.4624328613281%20244.4354858398438%20202.0089263916016%20222.4022979736328%20C%20168.9842987060547%20182.9752044677734%20106.7600250244141%20196.4360809326172%2066.59963989257812%20165.8028717041016%20C%2044.26163482666016%20148.7644348144531%2031.76238059997559%20120.0308074951172%2025.4213809967041%2091.19330596923828%20C%2019.69025421142578%2065.13478088378906%2018.06037902832031%2037.64060974121094%207.473626613616943%2013.44010734558105%20C%205.431501388549805%208.775423049926758%202.909125566482544%204.242301464080811%200%200%20L%200%20385.1700134277344%20L%20317.6153259277344%20385.1700134277344%20C%20312.1030578613281%20376.6692504882812%20305.4730529785156%20369.0063171386719%20298.8367004394531%20362.5874938964844'%20fill='url(%23footerDecoL)'/%3e%3c/svg%3e");
}
.p-doc-cta::after {
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.5rem;
  height: 22.875rem;
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20376.407%20366.187'%20fill='none'%20aria-hidden='true'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='footerDecoR'%20gradientUnits='objectBoundingBox'%20x1='0.5'%20y1='0'%20x2='0.5'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232b6edf'/%3e%3cstop%20offset='1'%20stop-color='%232b6edf'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20transform='translate(0%20366.187)%20rotate(-90)'%3e%3cpath%20d='M%2021.65008735656738%20354.3388671875%20C%2026.36786842346191%20350.4714050292969%2031.28414344787598%20346.7675476074219%2036.2696647644043%20343.1231384277344%20C%2056.29946136474609%20328.4798278808594%2077.42099761962891%20314.77783203125%2091.10808563232422%20295.0918579101562%20C%20108.1511764526367%20270.5757751464844%20112.0103530883789%20238.8750915527344%20133.2865142822266%20217.3446197509766%20C%20171.3588256835938%20178.8120727539062%20243.0995330810547%20191.9679107666016%20289.402587890625%20162.0309600830078%20C%20315.1564636230469%20145.3795013427734%20329.5660095214844%20117.3019332885742%20336.8781127929688%2089.12022399902344%20C%20343.4862670898438%2063.65426635742188%20345.3650512695312%2036.78369140625%20357.5703735351562%2013.13672733306885%20C%20359.9246520996094%208.576485633850098%20362.8328552246094%204.145868301391602%20366.1865234375%200%20L%20366.1865234375%20376.406982421875%20L%200%20376.406982421875%20C%206.354230880737305%20368.1003723144531%2013.99869823455811%20360.6118774414062%2021.65008735656738%20354.3388671875'%20fill='url(%23footerDecoR)'/%3e%3c/g%3e%3c/svg%3e");
}
.p-doc-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1.75rem;
}
.p-doc-cta__title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
}
.p-doc-cta__lead {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-white);
}
.p-doc-cta__action {
  display: flex;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 1.5rem;
  text-align: center;
  align-items: center;
}
.p-doc-cta__note {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding-inline: 1.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-white);
}
.p-doc-cta__note::before,
.p-doc-cta__note::after {
  position: absolute;
  inset-block-start: 50%;
  width: 2px;
  height: 1.25rem;
  content: "";
  background-color: var(--color-white);
  translate: 0 -50%;
}
.p-doc-cta__note::before {
  inset-inline-start: 0.375rem;
  rotate: -20deg;
}
.p-doc-cta__note::after {
  inset-inline-end: 0.375rem;
  rotate: 20deg;
}
.p-doc-cta__button {
  min-height: 4rem;
  margin-block-start: 0.5rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
}
.l-device-doc .p-doc-cta__button {
  min-width: 18.75rem;
}
.p-doc-cta__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.25rem;
}
.p-doc-cta__tag {
  padding: 0.25rem 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.8125;
  color: var(--color-white);
  border: 1px solid var(--color-white);
}
.p-doc-cta__visual {
  justify-self: center;
}
.p-doc-cta__visual img {
  width: 100%;
  max-width: 13.75rem;
  height: auto;
}
.l-device-doc {
  padding-block: 1.875rem;
}
.l-device-doc .p-doc-cta__action {
  margin-inline: auto;
}
.p-doc-detail__body .ttl-section {
  position: relative;
  margin-block-start: 0;
  margin-block-end: 1.875rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #242e4d;
  text-align: start;
}
.p-doc-detail__body .ttl-block {
  position: relative;
  margin-block-end: 1.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  color: #242e4d;
}
.p-doc-detail__body .p-kh__head {
  margin-block-end: 1.5625rem;
  margin-inline-start: -0.4375rem;
}
.p-doc-detail__body .text-check,
.p-seminar-detail__content .text-check {
  position: relative;
  padding-inline-start: 1.875rem;
  color: #242e4d;
}
.p-doc-detail__body .text-check::before,
.p-seminar-detail__content .text-check::before {
  position: absolute;
  inset-block-start: 0.25rem;
  inset-inline-start: 0;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2026.3.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='コンポーネント_43_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2020%2020'%20style='enable-background:new%200%200%2020%2020;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23242E4D;}%20.st1{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3ccircle%20id='楕円形_993'%20class='st0'%20cx='10'%20cy='10'%20r='10'/%3e%3cg%20id='Web'%20transform='translate(-2.713%20-4.111)'%3e%3cg%20id='OK_2_'%20transform='translate(7.3%2010.1)'%3e%3cg%20id='OK'%3e%3cg%20id='グループ_181'%3e%3cpath%20id='パス_161'%20class='st1'%20d='M10.1,0L3.8,6.3L1.2,3.8L0,5l3.8,3.8L5,7.6l6.3-6.3L10.1,0z'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem 1.25rem;
}
.p-doc-detail__body .text-check__list,
.p-seminar-detail__content .text-check__list {
  list-style: none;
  padding-inline-start: 0;
}
.p-doc-detail__body .text-check__list-item,
.p-seminar-detail__content .text-check__list-item {
  padding-block: 0.9375rem;
}
.p-doc-detail__body .text-check__list-item:first-child,
.p-seminar-detail__content .text-check__list-item:first-child {
  padding-block-start: 0;
}
.p-doc-detail__body .text-check__list-item:last-child,
.p-seminar-detail__content .text-check__list-item:last-child {
  padding-block-end: 0;
}
.p-doc-detail__body .text-check__list-item:not(:last-child),
.p-seminar-detail__content .text-check__list-item:not(:last-child) {
  border-block-end: 1px dashed #c4c4c4;
}
.p-doc-detail__body .text-check__list > .text-check__list-item {
  padding-inline-end: 1.25rem;
}
.p-drawer {
  position: fixed;
  inset: calc(var(--wp-admin-bar-height, 0) + var(--header-height) + 1px) 0 0;
  z-index: 100;
  background-color: var(--color-white);
  padding-block: 0 5rem;
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}
.p-drawer[aria-hidden=false] {
  opacity: 1;
  pointer-events: all;
}
.p-drawer__actions {
  --button-pill-width: 100%;
  display: grid;
  gap: 1.5rem;
  margin-block-start: 2rem;
}
.p-drawer__tel {
  display: grid;
  justify-items: center;
  text-align: center;
}
.p-drawer__tel-number {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--font-family-en);
  font-size: max(2rem, 10px);
  font-weight: 500;
  line-height: 1.14;
  color: var(--color-brand);
}
.p-drawer__tel-number--icon::before {
  flex-shrink: 0;
  width: 1.75rem;
  aspect-ratio: 1;
  background: var(--color-brand);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.682%2058.682'%20fill='none'%20aria-hidden='true'%3e%3cpath%20d='M%2040.34405136108398%2036.67640686035156%20L%2037.83171081542969%2044.195068359375%20C%2027.36059761047363%2039.73888778686523%2018.94336318969727%2031.32165145874023%2014.48718166351318%2020.85053634643555%20L%2022.00584411621094%2018.33820343017578%20L%2022.00584411621094%200%20L%2011.16796588897705%200%20L%207.481986999511719%200%20L%203.814346313476562%200%20L%200.1283674240112305%200%20C%200.05501461029052734%201.210321426391602%200%202.438981294631958%200%203.667640924453735%20C%200%204.712918281555176%200.03667641058564186%205.758195877075195%200.09169101715087891%206.785135269165039%20C%200.4401168823242188%2012.96510982513428%201.797143936157227%2018.87001037597656%204.03440523147583%2024.33479499816895%20C%209.590880393981934%2038.10678863525391%2020.57546615600586%2049.09137344360352%2034.34745407104492%2054.64784622192383%20C%2039.79389953613281%2056.88511276245117%2045.69880676269531%2058.24214172363281%2051.86043930053711%2058.59056091308594%20L%2051.89710998535156%2058.59056091308594%20C%2052.92405319213867%2058.64557647705078%2053.96932983398438%2058.68225479125977%2055.01460647583008%2058.68225479125977%20C%2056.24327087402344%2058.68225479125977%2057.4719352722168%2058.62724304199219%2058.68225479125977%2058.55389022827148%20L%2058.68225479125977%2054.86790466308594%20L%2058.68225479125977%2051.20026016235352%20L%2058.68225479125977%2047.51428604125977%20L%2058.68225479125977%2036.67640686035156%20L%2040.34405136108398%2036.67640686035156%20Z%20M%2055.01460647583008%2047.67932891845703%20L%2055.01460647583008%2051.34696960449219%20L%2055.01460647583008%2054.90457916259766%20L%2052.08050155639648%2054.92291641235352%20L%2052.0438117980957%2054.92291641235352%20C%2047.51428604125977%2054.66617965698242%2043.11311721801758%2053.82262420654297%2038.96868515014648%2052.42892456054688%20C%2037.79503631591797%2052.06216049194336%2036.6580696105957%2051.64037704467773%2035.52110290527344%2051.16358947753906%20C%2022.86774063110352%2045.95553970336914%2012.72671318054199%2035.81451416015625%207.51866340637207%2023.16115188598633%20C%207.0418701171875%2022.0241813659668%206.620090484619141%2020.88721466064453%206.253327369689941%2019.71357154846191%20C%204.85962438583374%2015.55079650878906%204.016066551208496%2011.14962768554688%203.759331703186035%206.601752281188965%20L%203.777669906616211%203.667640924453735%20L%207.335281848907471%203.667640924453735%20L%2011.00292205810547%203.667640924453735%20L%2018.33820343017578%203.667640924453735%20L%2018.33820343017578%2015.69750308990479%20L%2013.20350456237793%2017.40295600891113%20L%209.71924877166748%2018.55825996398926%20C%2010.086012840271%2019.73190689086914%2010.52612972259521%2020.88721466064453%2010.98458385467529%2022.00584411621094%20C%2015.8258695602417%2033.59558868408203%2025.08666229248047%2042.85638427734375%2036.67640686035156%2047.69766616821289%20C%2037.79503631591797%2048.15612411499023%2038.95034790039062%2048.59623718261719%2040.12398529052734%2048.96300506591797%20L%2041.279296875%2045.47874069213867%20L%2042.98474884033203%2040.34405136108398%20L%2055.01460647583008%2040.34405136108398%20L%2055.01460647583008%2047.67932891845703%20Z'%20fill='%23FFFFFF'/%3e%3c/svg%3e") no-repeat center/contain;
          mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2058.682%2058.682'%20fill='none'%20aria-hidden='true'%3e%3cpath%20d='M%2040.34405136108398%2036.67640686035156%20L%2037.83171081542969%2044.195068359375%20C%2027.36059761047363%2039.73888778686523%2018.94336318969727%2031.32165145874023%2014.48718166351318%2020.85053634643555%20L%2022.00584411621094%2018.33820343017578%20L%2022.00584411621094%200%20L%2011.16796588897705%200%20L%207.481986999511719%200%20L%203.814346313476562%200%20L%200.1283674240112305%200%20C%200.05501461029052734%201.210321426391602%200%202.438981294631958%200%203.667640924453735%20C%200%204.712918281555176%200.03667641058564186%205.758195877075195%200.09169101715087891%206.785135269165039%20C%200.4401168823242188%2012.96510982513428%201.797143936157227%2018.87001037597656%204.03440523147583%2024.33479499816895%20C%209.590880393981934%2038.10678863525391%2020.57546615600586%2049.09137344360352%2034.34745407104492%2054.64784622192383%20C%2039.79389953613281%2056.88511276245117%2045.69880676269531%2058.24214172363281%2051.86043930053711%2058.59056091308594%20L%2051.89710998535156%2058.59056091308594%20C%2052.92405319213867%2058.64557647705078%2053.96932983398438%2058.68225479125977%2055.01460647583008%2058.68225479125977%20C%2056.24327087402344%2058.68225479125977%2057.4719352722168%2058.62724304199219%2058.68225479125977%2058.55389022827148%20L%2058.68225479125977%2054.86790466308594%20L%2058.68225479125977%2051.20026016235352%20L%2058.68225479125977%2047.51428604125977%20L%2058.68225479125977%2036.67640686035156%20L%2040.34405136108398%2036.67640686035156%20Z%20M%2055.01460647583008%2047.67932891845703%20L%2055.01460647583008%2051.34696960449219%20L%2055.01460647583008%2054.90457916259766%20L%2052.08050155639648%2054.92291641235352%20L%2052.0438117980957%2054.92291641235352%20C%2047.51428604125977%2054.66617965698242%2043.11311721801758%2053.82262420654297%2038.96868515014648%2052.42892456054688%20C%2037.79503631591797%2052.06216049194336%2036.6580696105957%2051.64037704467773%2035.52110290527344%2051.16358947753906%20C%2022.86774063110352%2045.95553970336914%2012.72671318054199%2035.81451416015625%207.51866340637207%2023.16115188598633%20C%207.0418701171875%2022.0241813659668%206.620090484619141%2020.88721466064453%206.253327369689941%2019.71357154846191%20C%204.85962438583374%2015.55079650878906%204.016066551208496%2011.14962768554688%203.759331703186035%206.601752281188965%20L%203.777669906616211%203.667640924453735%20L%207.335281848907471%203.667640924453735%20L%2011.00292205810547%203.667640924453735%20L%2018.33820343017578%203.667640924453735%20L%2018.33820343017578%2015.69750308990479%20L%2013.20350456237793%2017.40295600891113%20L%209.71924877166748%2018.55825996398926%20C%2010.086012840271%2019.73190689086914%2010.52612972259521%2020.88721466064453%2010.98458385467529%2022.00584411621094%20C%2015.8258695602417%2033.59558868408203%2025.08666229248047%2042.85638427734375%2036.67640686035156%2047.69766616821289%20C%2037.79503631591797%2048.15612411499023%2038.95034790039062%2048.59623718261719%2040.12398529052734%2048.96300506591797%20L%2041.279296875%2045.47874069213867%20L%2042.98474884033203%2040.34405136108398%20L%2055.01460647583008%2040.34405136108398%20L%2055.01460647583008%2047.67932891845703%20Z'%20fill='%23FFFFFF'/%3e%3c/svg%3e") no-repeat center/contain;
  content: "";
}
.p-drawer__tel-note {
  margin-block-start: -0.375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.8;
  color: var(--color-black);
}
.l-efficiency-flow {
  margin-block-start: 2.5rem;
}
.l-efficiency-flow.p-flow-timeline {
  padding-block: 5rem;
}
.l-efficiency-compare {
  margin-block-start: 5rem;
}
.p-efficiency-compare__list {
  display: grid;
  gap: 2rem;
}
.p-efficiency-compare__subtitle {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-efficiency-compare__row {
  display: grid;
  gap: 2.75rem;
  margin-block-start: 0.90625rem;
}
.p-efficiency-compare__col {
  position: relative;
  padding: 1.5rem 1.125rem;
  border-radius: 0.5rem;
}
.p-efficiency-compare__col--before {
  background-color: var(--color-surface-gray);
}
.p-efficiency-compare__col--after {
  display: block;
  width: 100%;
  padding-block-end: 2.875rem;
  text-align: start;
  cursor: pointer;
  font-family: inherit;
  border: 3px solid var(--color-brand-blue);
  background-color: var(--color-white);
}
.p-efficiency-compare__col--after:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.p-efficiency-compare__badge {
  position: absolute;
  inset-block-start: -0.75rem;
  inset-inline-end: 1.0625rem;
  display: grid;
  place-items: center;
  min-width: 4.125rem;
  min-height: 1.875rem;
  padding-inline: 0.4375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-efficiency-compare__col--after .p-efficiency-compare__badge {
  min-width: 3.5625rem;
  background-color: var(--color-brand-blue);
}
.p-efficiency-compare__text {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-efficiency-compare__col--after .p-efficiency-compare__text {
  color: var(--color-brand-blue);
}
.p-efficiency-compare__link {
  position: absolute;
  inset-block-end: 1rem;
  inset-inline-end: 1.5625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-black);
}
.p-efficiency-compare__arrow {
  position: absolute;
  inset-block-end: -2rem;
  inset-inline-start: 50%;
  width: 2.75rem;
  height: auto;
  translate: -50% 0;
  rotate: 90deg;
}
.l-efficiency-ai {
  margin-block-start: 5rem;
}
.l-efficiency-drivecast {
  margin-block-start: 5rem;
}
.l-efficiency-related {
  margin-block-start: 3.5rem;
}
.l-efficiency-issues {
  margin-block-start: 3.5rem;
  margin-block-end: 3.5rem;
}
.l-efficiency-related .p-related-features__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-efficiency-related .p-related-features__card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.l-efficiency-related .p-related-features__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 380/242;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-efficiency-related .p-related-features__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 0.875rem;
}
.l-efficiency-related .p-related-features__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-efficiency-salesforce {
  margin-block-start: 3.5rem;
}
.l-efficiency-salesforce .p-salesforce__inner {
  display: grid;
  gap: 1.75rem;
}
.l-efficiency-salesforce .p-salesforce__title {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.2558;
  color: var(--color-black);
}
.l-efficiency-salesforce .p-salesforce__title br {
  display: none;
}
.l-efficiency-salesforce .p-salesforce__title-logo {
  display: inline-block;
  width: 2.5rem;
  height: auto;
  vertical-align: -0.0625rem;
}
.l-efficiency-salesforce .p-salesforce__intro {
  display: grid;
  align-items: start;
  gap: 0.75rem;
}
.l-efficiency-salesforce .p-salesforce__logo {
  width: 5rem;
  height: auto;
}
.l-efficiency-salesforce .p-salesforce__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-efficiency-salesforce .p-salesforce__points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5625rem;
  margin-block-start: 1rem;
}
.l-efficiency-salesforce .p-salesforce__point {
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  padding-block: 0.5rem;
  padding-inline: 2.125rem 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
}
.l-efficiency-salesforce .p-salesforce__point::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.875rem;
  width: 0.6875rem;
  height: 0.375rem;
  content: "";
  border-inline-start: 2px solid var(--color-brand-blue);
  border-block-end: 2px solid var(--color-brand-blue);
  rotate: -45deg;
  translate: 0 -70%;
}
.l-efficiency-salesforce .p-salesforce__actions {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.l-efficiency-salesforce .p-salesforce__button {
  min-height: 3.18125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 100vw;
}
.l-efficiency-issues .p-other-issues__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-efficiency-issues .p-other-issues__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  height: 100%;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.l-efficiency-issues .p-other-issues__body {
  display: grid;
  justify-items: start;
  min-width: 0;
}
.l-efficiency-issues .p-other-issues__badge {
  display: grid;
  place-items: center;
  min-width: 4.625rem;
  min-height: 1.9375rem;
  padding-inline: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.l-efficiency-issues .p-other-issues__name {
  margin-block-start: 0.5625rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-efficiency-issues .p-other-issues__desc {
  margin-block-start: 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-efficiency-issues .p-other-issues__illust {
  flex-shrink: 0;
  width: 6.25rem;
  height: auto;
}
.l-efficiency-issues .p-other-issues__back {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-block-start: 1.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-efficiency-salesforce .p-salesforce__intro {
  grid-template-columns: none;
}
.l-efficiency-salesforce .p-salesforce__title {
  margin-block-start: 0;
}
.l-efficiency-issues .p-other-issues__illust {
  display: block;
}
.l-efficiency-salesforce .p-salesforce__logo {
  position: static;
  inset-block-start: auto;
  justify-self: center;
  margin-inline-end: 0;
}
.l-efficiency-salesforce .p-salesforce__actions {
  margin-inline-start: 0;
}
.p-faq-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 1.5rem;
}
.p-faq-nav__link {
  --hover-opacity: 1;
  transition: color var(--hover-transition), background-color var(--hover-transition), border-color var(--hover-transition);
}
.p-faq-nav__link:focus-visible {
  border-color: var(--color-white);
  background-color: var(--color-brand);
  color: var(--color-white);
}
.p-faq-nav__link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.75rem;
  padding-inline: 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-brand);
  background-color: var(--color-white);
  border: 2px solid var(--color-brand);
  border-radius: 1.9375rem;
}
.p-faq-group {
  margin-block-start: 2rem;
}
.p-faq-group + .p-faq-group {
  margin-block-start: 2.5rem;
}
.p-faq-group__heading {
  scroll-margin-block-start: calc(var(--header-height) + 1rem);
}
.p-faq--page .p-faq__list {
  gap: 1rem;
  margin-block-start: 1.25rem;
}
.p-faq--page .p-faq__details {
  border-radius: 1rem;
}
.p-page-hero__lead {
  margin-block-start: 1.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-faq-page {
  padding-block-end: 3rem;
}
.p-faq-nav__list {
  gap: 0.75rem;
}
.p-faq-nav__link {
  --hover-opacity: 0.7;
  gap: 0;
  min-height: 1.6875rem;
  padding: 0.3125rem 0.9375rem;
  border: 1px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
}
.p-faq-nav__link .c-icon-arrow-circle {
  display: none;
}
.p-faq-nav__link:focus-visible {
  border-color: var(--color-brand);
  background-color: var(--color-white);
  color: var(--color-brand);
}
.p-faq-system {
  padding-block: 2.5rem 3.75rem;
}
.p-faq-system__figure img {
  display: block;
  width: 100%;
  max-width: 35rem;
  height: auto;
  margin-inline: auto;
}
.p-faq-system__actions {
  display: grid;
  gap: 2rem;
  justify-items: center;
  margin-block-start: 2.5rem;
}
.p-faq-system__action {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  width: 100%;
  max-width: 20rem;
}
.p-faq-system__note {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-brand);
}
.p-faq-system__button {
  --button-pill-width: 100%;
  width: 100%;
}
.p-faq-system__button.c-button-pill {
  justify-content: center;
  min-height: 3.5rem;
}
.p-faq-system__button.c-button-outline-pill {
  --button-outline-pill-min-height: 3.5rem;
}
.p-faq__list {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.75rem;
}
.p-faq__details {
  border: 2px solid var(--color-brand);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-faq__summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.125rem 1.25rem;
  cursor: pointer;
  list-style: none;
}
.p-faq__summary::-webkit-details-marker {
  display: none;
}
.p-faq__mark {
  flex-shrink: 0;
  padding-inline-end: 0.75rem;
  font-size: max(1.5rem, 10px);
  font-weight: 500;
  line-height: 1.0345;
  color: var(--color-brand);
  border-inline-end: 1px solid #c9ccd1;
}
.p-faq__mark--a {
  color: var(--color-brand-blue);
}
.p-faq__question {
  flex-grow: 1;
  min-width: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-faq__icon {
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}
.p-faq__icon::before {
  position: absolute;
  inset-block-start: 42%;
  inset-inline-start: 50%;
  width: 0.4375rem;
  height: 0.4375rem;
  content: "";
  border-block-end: 1.5px solid var(--color-brand);
  border-inline-end: 1.5px solid var(--color-brand);
  rotate: 45deg;
  translate: -50% -50%;
  transition: inset-block-start 0.3s ease-out, rotate 0.3s ease-out;
}
.p-faq__details[open]:not([data-anim-status=running]) .p-faq__icon::before,
.p-faq__details.is-opened .p-faq__icon::before {
  inset-block-start: 58%;
  rotate: -135deg;
}
/* 動きを抑えたい人への配慮 */
.p-faq__answer {
  display: flex;
  gap: 0.75rem;
  padding: 0 1.25rem 1.25rem 3.25rem;
}
.p-faq__answer-text {
  min-width: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-faq__answer-body {
  flex: 1;
  min-width: 0;
}
.p-faq__answer-body > .p-faq__answer-text + .p-faq__answer-text {
  margin-block-start: 1.875em;
}
.p-faq__answer a:not(.c-button-more, .c-link-arrow, .c-button-pill) {
  text-decoration-line: underline;
}
.p-feature-cards__group + .p-feature-cards__group {
  margin-block-start: 3rem;
}
.p-feature-cards__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-feature-cards__item {
  scroll-margin-block-start: calc(var(--header-height) + 1rem);
}
.p-feature-cards__item--link {
  position: relative;
}
.p-feature-cards__item--link .p-feature-cards__text {
  padding-block-end: 3.25rem;
}
.p-feature-cards__detail {
  --link-arrow-font-size: max(0.875rem, 10px);
  position: absolute;
  z-index: 1;
  inset-block-end: 1rem;
  inset-inline-end: 0.875rem;
}
.p-feature-cards__list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-feature-cards__card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  text-align: start;
  cursor: pointer;
  font-family: inherit;
  border: 0;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-feature-cards__card:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.p-feature-cards__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 290/196;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.3s ease-in-out;
}
.p-feature-cards__thumb--contain {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-feature-cards__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 0.875rem 0;
}
.p-feature-cards__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-black);
  transition: opacity 0.3s ease;
}
.p-feature-cards__card {
  position: relative;
}
.p-feature-cards__zoom-icon.c-image-zoom__icon {
  position: absolute;
  inset-block-start: 0.5rem;
  inset-inline-end: 0.5rem;
  inset-block-end: auto;
  inset-inline-start: auto;
  flex: 0 0 auto;
  width: 1.3125rem;
  height: 1.3125rem;
  box-shadow: none;
  scale: none;
}
.p-feature-cards__zoom-icon.c-image-zoom__icon::before {
  inset-block-start: 0.3125rem;
  inset-inline-start: 0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  border-width: 1px;
}
.p-feature-cards__zoom-icon.c-image-zoom__icon::after {
  inset-block-start: 0.9375rem;
  inset-inline-start: 0.875rem;
  width: 0.3125rem;
  height: 1px;
}
.p-feature-cards__text {
  display: block;
  padding: 0.5rem 0.875rem 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  transition: opacity 0.3s ease;
}
.p-feature-cards__text-inner {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  text-overflow: ellipsis;
}
.p-feature-cards__detail {
  transition: opacity 0.3s ease;
}
.l-feature-hero {
  margin-block-start: 1.75rem;
}
.p-feature-hero__inner {
  display: grid;
  gap: 1.25rem;
}
.p-feature-hero__illust {
  justify-self: center;
  width: 12.5rem;
  height: auto;
  border-radius: 0.5rem;
}
.p-feature-hero__illust--contain,
.p-feature-points__ui--contain {
  aspect-ratio: 580/392;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-feature-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.p-feature-hero__badge {
  display: grid;
  place-items: center;
  min-height: 1.75rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-feature-hero__badge--outline {
  color: var(--color-brand-blue);
  background-color: var(--color-white);
  border: 1px solid var(--color-brand-blue);
}
.p-feature-hero__title {
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2364;
  color: var(--color-black);
}
.p-feature-hero__sub {
  margin-block-start: 0.75rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923076923;
  color: var(--color-brand);
}
.p-feature-hero__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.l-feature-solve {
  margin-block-start: 2.5rem;
}
.p-feature-solve {
  padding-block: 2.25rem 2.5rem;
  background-color: var(--color-brand-blue);
}
.p-feature-solve__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.0313;
  text-align: center;
  color: var(--color-white);
}
.p-feature-solve__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-white);
}
.p-feature-solve__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-block-start: 1.5rem;
}
.p-feature-solve__item {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  padding: 1.25rem 0.75rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-feature-solve__check {
  position: relative;
  width: 1.625rem;
  height: 1.625rem;
  border: 2px solid var(--color-brand);
}
.p-feature-solve__check::before {
  position: absolute;
  inset-block-start: 0.125rem;
  inset-inline-start: 0.25rem;
  width: 1rem;
  height: 0.5625rem;
  content: "";
  border-inline-start: 3px solid var(--color-brand);
  border-block-end: 3px solid var(--color-brand);
  rotate: -45deg;
}
.p-feature-solve__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.l-feature-points {
  margin-block-start: 3rem;
}
.p-feature-points__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-feature-points__list {
  display: grid;
  gap: 2.5rem;
  margin-block-start: 2.25rem;
}
.p-feature-points__item {
  position: relative;
  padding: 2.25rem 1.25rem 1.5rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-feature-points__label {
  position: absolute;
  inset-block-start: -1rem;
  inset-inline-start: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-inline: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-brand-blue);
  background-color: var(--color-white);
}
.p-feature-points__num {
  display: grid;
  place-items: center;
  width: 2.125rem;
  height: 2.125rem;
  font-size: max(1.25rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
}
.p-feature-points__title {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-feature-points__text {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-feature-points__ui {
  width: 100%;
  height: auto;
  margin-block-start: 1.25rem;
  border-radius: 0.5rem;
}
.p-feature-points__zoom {
  margin-block-start: 1.25rem;
}
.p-feature-points__zoom .p-feature-points__ui {
  margin-block-start: 0;
}
.p-feature-points__hierarchy {
  margin-block-start: 1.25rem;
}
.p-feature-points__hierarchy .p-feature-points__ui {
  margin-block-start: 0;
}
.p-feature-points__hierarchy-note {
  display: grid;
  gap: 0.25rem;
  margin-block: 0.5rem 0;
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  color: var(--color-black);
}
.p-feature-points__hierarchy-arrow {
  position: relative;
  display: block;
  height: 2px;
  margin-inline: 14.5% 20.5%;
  background-color: var(--color-brand-blue);
}
.p-feature-points__hierarchy-arrow::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  border-block-start: 2px solid var(--color-brand-blue);
  border-inline-end: 2px solid var(--color-brand-blue);
  translate: 0 -50%;
  rotate: 45deg;
}
.p-feature-points__shots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.p-feature-points__shots img {
  width: 100%;
  height: auto;
}
.l-feature-flow {
  margin-block-start: 3rem;
}
.p-feature-flow__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-feature-flow__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-feature-flow__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-feature-flow__item {
  position: relative;
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem 1.25rem 1.5rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-feature-flow__item::before {
  position: absolute;
  inset-block: -1rem auto;
  inset-inline-start: -1.5rem;
  width: 1px;
  height: calc(100% + 1rem);
  content: none;
  background-color: var(--color-brand);
}
.p-feature-flow__item:first-child::before {
  inset-block-start: 1.5rem;
  height: calc(100% - 0.5rem);
}
.p-feature-flow__item:last-child::before {
  height: 2.5rem;
}
.p-feature-flow__step {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.5rem;
  padding-inline: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
  border: 1px solid var(--color-brand);
}
.p-feature-flow__name {
  font-size: max(1.0625rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-brand);
}
.p-feature-flow__text {
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-feature-flow__text--note {
  margin-block-start: 1rem;
}
.p-feature-flow__form-link {
  margin-block-start: 1.5rem;
  text-align: center;
}
.p-feature-flow__shots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.l-report-flow .p-feature-flow__shots:not(:has(> :nth-child(2))) {
  grid-template-columns: minmax(0, 1fr);
}
.l-alcohol-points + .l-feature-flow .p-feature-flow__shots:not(:has(> :nth-child(2))) {
  grid-template-columns: minmax(0, 1fr);
}
.l-alcohol-points + .l-feature-flow .p-feature-flow__shots:not(:has(> :nth-child(2))) > .c-image-zoom:not(.c-image-zoom--fit) {
  width: calc((100% - 0.75rem) * 0.75);
  margin-inline: auto;
}
.p-feature-flow__shots img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
}
.p-feature-flow__figure {
  margin: 0;
}
.p-feature-flow__caption {
  margin-block-start: 0.5rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.5714;
  color: var(--color-black);
}
.l-copilot-flow .p-feature-flow__shots {
  grid-template-columns: minmax(0, 1fr);
}
.l-copilot-flow .p-feature-flow__shots img {
  display: block;
  margin-inline: auto;
}
.l-copilot-flow .p-feature-flow__shots--square img {
  max-inline-size: 320px;
}
.l-feature-related {
  margin-block-start: 3rem;
  margin-block-end: 3.5rem;
}
.p-feature-back {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-block-start: 1.75rem;
}
.p-feature-back .c-button-outline-pill {
  flex: 0 1 auto;
  justify-content: center;
  gap: 0.375rem;
  padding-inline: 0.75rem 0.625rem;
  font-size: max(0.8125rem, 10px);
  white-space: nowrap;
}
.p-feature-flow__subtitle {
  margin-block-start: 1.75rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-feature-flow__subtitle--first {
  margin-block-start: 1.5rem;
}
.p-feature-flow__subtext {
  margin-block-start: 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-feature-flow__autos {
  display: grid;
  gap: 1rem;
  margin-block-start: 1rem;
}
.p-feature-flow__auto {
  position: relative;
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem 1.25rem 1.5rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-feature-flow__auto-tag {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.5rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.l-alcohol-devices {
  margin-block-start: 3rem;
}
.p-alcohol-devices__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-alcohol-devices__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 1.75rem;
}
.p-alcohol-devices__item {
  display: grid;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-alcohol-devices__photo {
  justify-self: center;
  width: 100%;
  max-width: 18.75rem;
  height: auto;
}
.p-alcohol-devices__name {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4167;
  color: var(--color-black);
}
.p-alcohol-devices__specs {
  display: grid;
  gap: 0.375rem;
  margin-block-start: 0.75rem;
}
.p-alcohol-devices__spec {
  position: relative;
  padding-inline-start: 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-alcohol-devices__spec::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.375rem;
  height: 0.375rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand-blue);
  translate: 0 -50%;
}
.p-alcohol-devices__note,
.p-alcohol-devices__link {
  margin-block-start: 0.75rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.5714;
  color: var(--color-black);
}
.p-alcohol-devices__link a {
  text-decoration: underline;
}
.p-alcohol-devices__other {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-black);
}
.p-alcohol-devices__form-link {
  margin-block-start: 0.875rem;
  text-align: center;
}
.p-alcohol-devices__form-link--below {
  margin-block-start: 3.125rem;
}
.l-alcohol-points + .l-feature-flow .p-feature-flow__form-link {
  margin-block-start: 3.125rem;
}
:is(.p-feature-flow__form-link, .p-alcohol-devices__form-link) .c-button-pill {
  font-weight: 500;
}
:is(.p-feature-flow__form-link, .p-alcohol-devices__form-link) .c-button-pill .c-icon-arrow-circle::before {
  rotate: 45deg;
}
.l-alcohol-outsource {
  margin-block-start: 3rem;
}
.p-alcohol-outsource__box {
  padding: 1.75rem 1.25rem 2rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-alcohol-outsource__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-alcohol-outsource__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-alcohol-outsource__buttons {
  display: grid;
  gap: 0.875rem;
  margin-block-start: 1.5rem;
  justify-items: center;
}
.p-alcohol-outsource__button {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 4rem;
  margin-inline: auto;
  font-size: max(1.0625rem, 10px);
  font-weight: 500;
}
.p-alcohol-outsource__services {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid rgba(48, 108, 211, 0.24);
}
.p-alcohol-outsource__services-title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-alcohol-outsource__service-list {
  display: grid;
  gap: 1.375rem;
}
.p-alcohol-outsource__service {
  display: grid;
  gap: 0.625rem;
  justify-items: start;
}
.p-alcohol-outsource__service-text,
.p-alcohol-outsource__service-link {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-alcohol-outsource__service-link a {
  text-decoration: underline;
  overflow-wrap: anywhere;
}
.p-alcohol-outsource__logo {
  width: 12.3125rem;
  max-width: 100%;
  height: auto;
}
.l-copilot-faq {
  margin-block-start: 3rem;
}
#alc-form {
  scroll-margin-block-start: calc(var(--header-height) + 1rem);
}
.p-feature-flow__shots .p-feature-flow__phone {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 12.5rem;
  margin-inline: auto;
}
.p-feature-points__shots img {
  max-width: 15rem;
  justify-self: center;
}
.p-feature-flow__shots .p-feature-flow__device {
  display: block;
  width: auto;
  max-width: 100%;
  height: 11.25rem;
  margin-inline: auto;
  border-radius: 0;
}
.p-feature-flow__shots .c-image-zoom:has(> .p-feature-flow__device) {
  align-self: center;
}
.p-feature-points__ui--trim-x {
  aspect-ratio: 796/480;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-feature-points__ui--pdf {
  aspect-ratio: 741/480;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 51.2% 50%;
     object-position: 51.2% 50%;
  border: 1px solid #dbdbdb;
  border-radius: 0;
}
.l-ledger-flow .p-feature-flow__item:nth-child(2) .p-feature-flow__shots img {
  aspect-ratio: 1171/448;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: var(--color-white);
}
.l-copilot-points .p-feature-points__ui:not(.p-feature-points__shots),
.l-alcohol-points .p-feature-points__item:nth-child(4) .p-feature-points__ui,
.p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(1) .p-feature-points__ui,
.p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(5) .p-feature-points__ui,
:is(.l-report-flow,
.l-copilot-flow,
.l-alcohol-points + .l-feature-flow,
.p-main-sub:has(.p-feature-hero__illust--contain) .l-feature-flow) .p-feature-flow__shots .c-image-zoom > img:not([src*=alcohol-flow_ui-xense]):not(.p-feature-flow__phone):not(.p-feature-flow__device):not(.p-feature-flow__framed) {
  border: 1px solid #dbdbdb;
}
:is(.l-report-flow,
.l-copilot-flow,
.l-alcohol-points + .l-feature-flow,
.p-main-sub:has(.p-feature-hero__illust--contain) .l-feature-flow) .p-feature-flow__body {
  align-self: center;
}
.p-feature-panel {
  max-width: 84.9375rem;
  margin-inline: auto;
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-feature-panel__inner {
  display: grid;
  gap: 2rem;
}
.p-feature-panel__label {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7.5rem;
  padding: 0.3125rem 0.4375rem;
  font-family: var(--font-family-en);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4666666667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-feature-panel__title {
  margin-block-start: 1.5rem;
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.2790697674;
  color: var(--color-black);
}
.p-feature-panel__text {
  margin-block-start: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-feature-panel__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-feature-panel__tag {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding-inline: 0.6875rem 0.9375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  background-color: var(--color-white);
}
.p-feature-panel__tag-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.625rem;
}
.p-feature-panel__tag-icon[data-icon=pin] img {
  width: 0.85rem;
}
.p-feature-panel__tag-icon[data-icon=link] img {
  width: 1.1875rem;
}
.p-feature-panel__tag-icon[data-icon=mobile] img {
  width: 0.9375rem;
}
.p-feature-panel__visual-item[data-item=illust] {
  width: 70%;
  margin-block-start: -20%;
  margin-inline-start: auto;
}
.p-feature-related__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-feature-related__card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-feature-related__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 380/242;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-feature-related__thumb--contain {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-feature-related__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 0.875rem;
}
.p-feature-related__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-feature-related__card .c-icon-arrow-circle {
  color: var(--color-brand-blue);
}
.p-feature-related__list--3 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.p-feature-related__desc {
  padding: 0 0.875rem 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-feature-spotlight__figures {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-feature-spotlight__figure .u-img-missing {
  aspect-ratio: 589/308;
  min-height: 0;
}
.p-feature-spotlight__more {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 1rem;
}
.p-flow-timeline {
  padding-block: 2.25rem 2.75rem;
  background-color: #f5f7fa;
}
.p-flow-timeline__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #0b1b3f;
}
.p-flow-timeline__title-logo {
  display: inline-block;
  width: 6rem;
  height: auto;
  margin-inline: 0.25rem;
  vertical-align: -0.1875rem;
}
.p-flow-timeline__list {
  display: grid;
  gap: 1.75rem;
  margin-block-start: 1.75rem;
}
.p-flow-timeline__time {
  padding-block-end: 0.5rem;
  font-size: max(1.125rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--color-brand-blue);
  border-block-end: 1px solid #d9dfe8;
}
.p-flow-timeline__pairs {
  display: grid;
  gap: 1rem;
  margin-block-start: 1rem;
}
.p-flow-timeline__pair {
  display: grid;
  gap: 0.625rem;
}
.p-flow-timeline__before {
  padding-inline: 0.75rem 0.25rem;
  border-inline-start: 3px solid #c7ceda;
}
.p-flow-timeline__role {
  display: inline-block;
  padding: 0.3125rem 0.625rem;
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1;
  border-radius: 0.1875rem;
  color: var(--color-white);
}
.p-flow-timeline__role--manager {
  background-color: #0b1b3f;
}
.p-flow-timeline__role--driver {
  background-color: var(--color-brand-blue);
}
.p-flow-timeline__text {
  margin-block-start: 0.5rem;
  font-size: max(0.875rem, 10px);
  line-height: 1.875;
  color: #5a6472;
}
.p-flow-timeline__arrow {
  position: relative;
  justify-self: center;
  width: 0.75rem;
  height: 2.125rem;
}
.p-flow-timeline__arrow::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0.3125rem;
  width: 2px;
  height: 1.625rem;
  content: "";
  background-color: #9aa6b8;
}
.p-flow-timeline__arrow::after {
  position: absolute;
  inset-block-end: 0.125rem;
  inset-inline-start: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  content: "";
  border-block-end: 2px solid #9aa6b8;
  border-inline-end: 2px solid #9aa6b8;
  rotate: 45deg;
}
.p-flow-timeline__after {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 1rem 1.125rem;
  text-align: start;
  border: 3px solid var(--color-brand-blue);
  border-radius: 0.625rem;
  background-color: var(--color-white);
  cursor: pointer;
}
.p-flow-timeline__after-text {
  display: block;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: #0b1b3f;
}
.p-flow-timeline__em {
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-flow-timeline__after-more {
  display: inline-flex;
  align-self: flex-end;
  align-items: center;
  gap: 0.875rem;
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  color: var(--color-black);
}
.p-flow-timeline__after-more::after {
  width: 0.5rem;
  height: 0.5rem;
  border-block-end: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  rotate: -45deg;
  content: "";
}
.p-footer {
  color: var(--color-black);
}
.p-footer__cta {
  position: relative;
  overflow: hidden;
  padding-block: 2.25rem 2.5rem;
  color: var(--color-white);
  background-color: var(--color-cta-band);
}
.p-footer__cta-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-footer__cta-deco-item {
  position: absolute;
  display: none;
}
.p-footer__cta-deco-item[data-deco=left] {
  inset-block-start: 1.4375rem;
  inset-inline-start: 0;
  width: 19.875rem;
}
.p-footer__cta-deco-item[data-deco=right] {
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 23.5rem;
}
.p-footer__cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1.75rem;
}
.p-footer__cta-block {
  display: grid;
  gap: 1.25rem;
  justify-items: center;
  text-align: center;
}
.p-footer__cta-block + .p-footer__cta-block {
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--color-white);
}
.p-footer__cta-title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
}
.p-footer__cta-lead {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-footer__cta-phone {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.9375rem;
  margin-block-start: 1.25rem;
}
.p-footer__cta-phone-icon {
  flex-shrink: 0;
  width: 3rem;
  margin-block-start: 0.5rem;
}
.p-footer__cta-phone-number {
  display: inline-block;
  font-family: var(--font-family-en);
  font-size: max(2rem, 10px);
  font-weight: 500;
  line-height: 1.14;
  color: inherit;
}
.p-footer__cta-phone-note {
  margin-block-start: -0.375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.8;
}
.p-footer__cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: auto;
  max-width: 17.8125rem;
  min-width: min(100%, 15rem);
  min-height: 4rem;
  padding-inline: 1.5rem;
  border: 2px solid var(--color-accent-yellow);
  border-radius: 100vh;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.9090909091;
  color: var(--color-black);
  background-color: var(--color-accent-yellow);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-footer__cta-button-icon {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.5rem;
}
.p-footer__cta-block[data-cta=download] .p-footer__cta-button-icon {
  width: 1.125rem;
}
.p-footer__cta-block[data-cta=download] .p-footer__cta-button {
  border-color: var(--color-brand-blue);
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-footer__main {
  background-color: var(--color-surface-gray);
  padding-block: 2.25rem 1.75rem;
}
.p-footer__upper {
  display: grid;
  gap: 2rem;
}
.p-footer__logo {
  display: block;
  width: 11.25rem;
  margin-inline: auto;
}
.p-footer__company {
  margin-block-start: 1.25rem;
  text-align: center;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.6666666667;
}
.p-footer__nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
  gap: 0.75rem;
}
.p-footer__nav-title {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 2.2666666667;
}
.p-footer__nav-link {
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
  color: inherit;
}
.p-footer__bottom {
  margin-block-start: 1.75rem;
  padding-block-start: 1.25rem;
  border-block-start: 1px solid #9ea0a2;
}
.p-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.6666666667;
}
.p-footer__legal-item {
  display: inline-flex;
  align-items: center;
}
.p-footer__legal-item:not(:last-child)::after {
  display: none;
  content: "｜";
}
.p-footer__legal-link {
  padding-block: 0.5em;
  padding-inline: 1em;
  color: inherit;
}
.p-footer__copyright {
  margin-block-start: 1.5rem;
  text-align: center;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
}
.p-footer__copyright small {
  font-size: inherit;
}
.p-form-lead {
  margin-block-start: 2rem;
}
.p-form-lead__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
.p-form-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-form-links__item.c-button-outline-pill {
  min-height: 2.75rem;
  padding-inline: 1.25rem 1rem;
  color: var(--color-white);
  font-weight: 700;
}
.p-form-lead + .c-form-embed {
  margin-block-start: 1.75rem;
}
.p-form-links + .c-form-embed {
  margin-block-start: 2.5rem;
}
.p-form-success {
  padding-block-end: 3.5rem;
}
.p-form-success__title {
  margin-block-start: 2.5rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333333333;
}
.p-form-success__label {
  margin-block-start: 0.5rem;
  color: #161616;
  font-family: var(--font-family-en);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.p-form-success__text {
  margin-block-start: 1.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
.p-form-success__actions {
  display: grid;
  justify-items: start;
  gap: 1rem;
  margin-block-start: 2.5rem;
}
.p-form-success__actions .c-button-more {
  width: 100%;
}
.p-form-success__back.c-button-outline-pill {
  min-width: 10.625rem;
  color: var(--color-white);
  font-weight: 700;
}
.p-form-tel {
  margin-block-start: 1.75rem;
}
.p-form-tel__title {
  grid-area: title;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
}
.p-form-tel__phone {
  grid-area: phone;
  display: flex;
  margin-block-start: 0.75rem;
  align-items: center;
  gap: 0.5625rem;
}
.p-form-tel__icon {
  flex-shrink: 0;
  width: 3.25rem;
}
.p-form-tel__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.p-form-tel__phone-text {
  display: block;
}
.p-form-tel__number {
  display: inline-block;
  color: var(--color-brand-blue);
  font-family: var(--font-family-en);
  font-size: max(2.25rem, 10px);
  font-weight: 500;
  line-height: 1.1363636364;
}
.p-form-tel__hours {
  display: block;
  margin-inline-start: 0.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7894736842;
}
.p-form-tel__note {
  grid-area: note;
  margin-block-start: 0.75rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
}
.p-form-tel + .c-form-embed {
  margin-block-start: 2.5rem;
}
.p-form-tel {
  text-align: center;
}
.p-form-tel__phone {
  justify-content: center;
}
.p-form-tel__phone-text {
  text-align: start;
}
.p-form-tel__note {
  text-wrap: balance;
}
.p-form-tel__note br {
  display: none;
}
.l-function-hero {
  margin-block-start: 1.75rem;
}
.p-function-hero__title {
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2364;
  color: var(--color-black);
}
.p-function-hero__sub {
  margin-block-start: 1rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923076923;
  color: var(--color-brand);
}
.p-function-hero__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.l-function-top {
  margin-block-start: 2.5rem;
}
.p-function-top__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-function-top__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-function-top__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 1.75rem;
}
.p-function-top__item {
  position: relative;
  padding-block-end: 1.5rem;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-function-top__card {
  display: block;
  color: inherit;
}
.p-function-top__thumb {
  width: 100%;
  height: auto;
  transition: scale 0.3s ease-in-out;
}
.p-function-top__name,
.p-function-top__text,
.p-function-top__link {
  transition: opacity 0.3s ease;
}
.p-function-top__tag {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.875rem;
  margin-block-start: -0.875rem;
  margin-inline-start: 1.1875rem;
  padding-inline: 0.4375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-function-top__tag--app {
  background-color: var(--color-brand-blue);
}
.p-function-top__name {
  margin-block-start: 1rem;
  padding-inline: 1.25rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.4444;
  color: var(--color-black);
}
.p-function-top__text {
  margin-block-start: 0.75rem;
  padding-inline: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-function-top__link {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 1rem;
  padding-inline: 1.25rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.4667;
  color: var(--color-brand);
}
.l-function-cards {
  margin-block-start: 3rem;
}
.l-function-change {
  margin-block-start: 3rem;
  margin-block-end: 0;
}
.p-function-change__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-function-change__title {
  word-break: keep-all;
}
.p-function-change__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-black);
}
.p-function-change__title-logo {
  display: inline-block;
  width: 6rem;
  height: auto;
  margin-inline: 0.25rem;
  vertical-align: -0.1875rem;
}
.p-function-change__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-function-change__list {
  display: grid;
  gap: 3rem;
  margin-block-start: 3rem;
}
.p-function-change__item {
  position: relative;
  padding-block: 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-function-change__card {
  display: block;
  color: inherit;
}
.p-function-change__tag,
.p-function-change__name,
.p-function-change__text,
.p-function-change__target,
.p-function-change__link {
  transition: opacity 0.3s ease;
}
.p-function-change__illust {
  position: absolute;
  inset-block-start: -1.75rem;
  inset-inline-end: 0.75rem;
  display: block;
  width: 7.5rem;
}
.p-function-change__illust::after {
  position: absolute;
  inset: 0;
  display: block;
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.p-function-change__illust img {
  display: block;
}
.p-function-change__tag {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.875rem;
  margin-inline-start: 1.1875rem;
  padding-inline: 0.4375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-function-change__name {
  margin-block-start: 1rem;
  padding-inline: 1.25rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-function-change__text {
  margin-block-start: 0.625rem;
  padding-inline: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-function-change__target {
  margin-block-start: 0.75rem;
  padding-inline: 1.25rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-function-change__target-label {
  font-weight: 700;
}
.p-function-change__link {
  margin-block-start: 1rem;
  padding-inline: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5625;
  color: var(--color-brand);
}
.p-function-change__link.c-link-arrow {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: auto;
}
.p-function-change__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-block-start: 3.75rem;
}
.p-function-change__title-keep {
  white-space: nowrap;
}
.p-header {
  position: fixed;
  z-index: 1001;
  inset-block-start: var(--wp-admin-bar-height, 0);
  inset-inline: 0;
  block-size: auto;
  min-block-size: var(--header-nav-height);
  background-color: var(--color-white);
  transition: box-shadow 0.3s ease-in-out;
}
.p-header.is-show {
  box-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.08);
}
.p-header__inner {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  block-size: var(--header-nav-height);
  max-width: 100rem;
}
.p-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
}
.p-header__logo-link {
  display: block;
  color: inherit;
}
.p-header__logo-link img {
  width: 10rem;
}
.p-header__menu-button {
  margin-inline-start: auto;
  z-index: 101;
}
.p-header__pc-nav {
  display: none;
}
.p-header__pc-nav-items {
  display: flex;
  align-items: center;
  height: 100%;
}
.p-header__pc-nav-item {
  height: 100%;
  position: relative;
}
.p-header__pc-nav-link {
  --hover-opacity: 1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  height: 100%;
  padding-inline: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
  white-space: nowrap;
}
.p-header__pc-nav-item--login .p-header__pc-nav-link {
  font-weight: 400;
}
.p-header__pc-nav-item:has(.p-header__pc-nav-submenu) .p-header__pc-nav-link::after {
  flex-shrink: 0;
  width: 0.5875rem;
  aspect-ratio: 9.4/6.1;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='9.4'%20height='6.1'%20viewBox='0%200%209.4%206.1'%3e%3cpath%20id='パス_36'%20data-name='パス%2036'%20d='M6.7,8.1,2,3.4,3.4,2,6.7,5.3,10,2l1.4,1.4Z'%20transform='translate(-2%20-2)'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  transition: rotate 0.2s ease;
  content: "";
}
.p-header__pc-nav-item:has(.p-header__pc-nav-submenu):focus-within .p-header__pc-nav-link::after {
  rotate: 180deg;
}
.p-header__pc-nav-item.is-current .p-header__pc-nav-link::before,
.p-header__pc-nav-item.is-current-section .p-header__pc-nav-link::before,
.p-header__pc-nav-item:hover .p-header__pc-nav-link::before,
.p-header__pc-nav-item:focus-within .p-header__pc-nav-link::before {
  position: absolute;
  inset-block-end: 2.5rem;
  inset-inline-start: 50%;
  translate: -50% 0;
  width: 0.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brand);
  content: "";
}
.p-header__pc-nav-submenu-link {
  --hover-opacity: 1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  color: inherit;
  white-space: nowrap;
}
.p-header__pc-nav-submenu-item.is-current .p-header__pc-nav-submenu-link::after,
.p-header__pc-nav-submenu-item.is-current-section .p-header__pc-nav-submenu-link::after {
  flex-shrink: 0;
  width: 0.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brand);
  content: "";
}
.p-header__pc-nav-submenu-link:focus-visible {
  background: rgba(0, 0, 0, 0.06);
}
.p-header__actions {
  display: none;
}
.p-header__login-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1875rem;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-black);
  white-space: nowrap;
}
.p-header__login-link::before {
  width: 1.125rem;
  aspect-ratio: 14.742/17.49;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='1567.500%20137.500%2014.742%2017.490'%3e%3cpath%20d='M%201573.4970%20137.9997%20L%201573.4970%20140.7488%20L%201574.8712%20140.7488%20L%201574.8712%20139.3746%20L%201580.3681%20139.3746%20L%201580.3681%20153.1167%20L%201574.8712%20153.1167%20L%201574.8712%20151.7425%20L%201573.4970%20151.7425%20L%201573.4970%20154.4902%20L%201581.7423%20154.4902%20L%201581.7423%20137.9997%20L%201573.4970%20137.9997%20Z'%20fill='%23FFFFFF'/%3e%3cpath%20d='M%201570.6450%20142.9320%20L%201573.4807%20145.5581%20L%201568.0003%20145.5581%20L%201568.0003%20146.9323%20L%201573.4807%20146.9323%20L%201570.6450%20149.5578%20L%201571.5781%20150.5664%20L%201576.2449%20146.2452%20L%201571.5781%20141.9233%20L%201570.6450%20142.9320%20Z'%20fill='%23FFFFFF'/%3e%3c/svg%3e") no-repeat center/contain;
          mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='1567.500%20137.500%2014.742%2017.490'%3e%3cpath%20d='M%201573.4970%20137.9997%20L%201573.4970%20140.7488%20L%201574.8712%20140.7488%20L%201574.8712%20139.3746%20L%201580.3681%20139.3746%20L%201580.3681%20153.1167%20L%201574.8712%20153.1167%20L%201574.8712%20151.7425%20L%201573.4970%20151.7425%20L%201573.4970%20154.4902%20L%201581.7423%20154.4902%20L%201581.7423%20137.9997%20L%201573.4970%20137.9997%20Z'%20fill='%23FFFFFF'/%3e%3cpath%20d='M%201570.6450%20142.9320%20L%201573.4807%20145.5581%20L%201568.0003%20145.5581%20L%201568.0003%20146.9323%20L%201573.4807%20146.9323%20L%201570.6450%20149.5578%20L%201571.5781%20150.5664%20L%201576.2449%20146.2452%20L%201571.5781%20141.9233%20L%201570.6450%20142.9320%20Z'%20fill='%23FFFFFF'/%3e%3c/svg%3e") no-repeat center/contain;
  content: "";
}
.p-header__action-buttons {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.p-info-area {
  margin-inline: auto;
  box-sizing: content-box;
  max-inline-size: 100rem;
  padding-block-start: 0.3125rem;
  padding-inline: var(--inner-padding);
  background-color: var(--color-white);
}
.p-info-area__row {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  min-inline-size: 0;
}
.p-info-area__row + .p-info-area__row {
  margin-block-start: 0.25rem;
}
.p-info-area__title {
  position: relative;
  flex-shrink: 0;
  padding: 0.0625rem 0.625rem 0.125rem 1.875rem;
  border-radius: 0.9375rem;
  font-size: max(0.625rem, 10px);
  color: var(--color-white);
}
.p-info-area__title::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.3125rem;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  translate: 0 -50%;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%3e%3cg%20id='ico_relation2'%20transform='translate(-120%20-270)'%3e%3cpath%20id='パス_1037'%20data-name='パス%201037'%20d='M669.011,833.053A2.089,2.089,0,0,0,667,834.6l-26.779,8.033a2.088,2.088,0,0,0-3.984.878V847.7a2.087,2.087,0,0,0,3.969.907l5.549,1.943-.536,1.468a3.106,3.106,0,0,0,1.958,3.926l2.891.966a3.1,3.1,0,0,0,3.923-1.96l.455-1.358,12.548,4.391a2.087,2.087,0,0,0,4.11-.52V835.145A2.094,2.094,0,0,0,669.011,833.053Zm-30.682,15.341a.7.7,0,0,1-.7-.7v-4.184a.7.7,0,1,1,1.395,0V847.7A.7.7,0,0,1,638.329,848.394Zm2.092-4.362,26.5-7.95v20.4l-26.5-9.275Zm12.247,10.474a1.7,1.7,0,0,1-2.158,1.079l-2.891-.966a1.706,1.706,0,0,1-1.084-2.143l.536-1.468,6.058,2.121Zm17.041,2.954a.7.7,0,0,1-1.395,0V835.145a.7.7,0,0,1,1.395,0Z'%20transform='translate(-509.975%20-552.053)'%20fill='%23242e4d'/%3e%3crect%20id='長方形_1324'%20data-name='長方形%201324'%20width='48'%20height='48'%20transform='translate(120%20270)'%20fill='none'/%3e%3c/g%3e%3c/svg%3e") no-repeat center/1.5rem 1.5rem;
          mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%3e%3cg%20id='ico_relation2'%20transform='translate(-120%20-270)'%3e%3cpath%20id='パス_1037'%20data-name='パス%201037'%20d='M669.011,833.053A2.089,2.089,0,0,0,667,834.6l-26.779,8.033a2.088,2.088,0,0,0-3.984.878V847.7a2.087,2.087,0,0,0,3.969.907l5.549,1.943-.536,1.468a3.106,3.106,0,0,0,1.958,3.926l2.891.966a3.1,3.1,0,0,0,3.923-1.96l.455-1.358,12.548,4.391a2.087,2.087,0,0,0,4.11-.52V835.145A2.094,2.094,0,0,0,669.011,833.053Zm-30.682,15.341a.7.7,0,0,1-.7-.7v-4.184a.7.7,0,1,1,1.395,0V847.7A.7.7,0,0,1,638.329,848.394Zm2.092-4.362,26.5-7.95v20.4l-26.5-9.275Zm12.247,10.474a1.7,1.7,0,0,1-2.158,1.079l-2.891-.966a1.706,1.706,0,0,1-1.084-2.143l.536-1.468,6.058,2.121Zm17.041,2.954a.7.7,0,0,1-1.395,0V835.145a.7.7,0,0,1,1.395,0Z'%20transform='translate(-509.975%20-552.053)'%20fill='%23242e4d'/%3e%3crect%20id='長方形_1324'%20data-name='長方形%201324'%20width='48'%20height='48'%20transform='translate(120%20270)'%20fill='none'/%3e%3c/g%3e%3c/svg%3e") no-repeat center/1.5rem 1.5rem;
}
.p-info-area__title[data-color=red] {
  background-color: #ff1253;
}
.p-info-area__title[data-color=blue] {
  background-color: #306cd3;
}
.p-info-area__title[data-color=navy] {
  background-color: #002680;
}
.p-info-area__title[data-color=yellow] {
  background-color: #fffd57;
  color: #242e4d;
}
.p-info-area__detail {
  min-inline-size: 0;
  font-size: max(0.625rem, 10px);
  font-weight: 700;
  color: #666;
}
.p-info-area__detail a {
  color: var(--color-brand);
  text-decoration: underline;
}
.p-legal {
  --legal-h2-pad-inline: 1.375rem;
  --legal-numbered-hang: 1.75em;
  --legal-ol-marker: 1.625rem;
  --legal-ol-offset: 0.5rem;
  padding-block: 2.5rem 4rem;
  color: var(--color-black);
}
.p-legal__heading-dots {
  display: block;
  width: 0.625rem;
  height: 1.5rem;
}
.p-legal__inner > p:first-child {
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
}
.p-legal h2 {
  position: relative;
  padding-inline-start: var(--legal-h2-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-legal h2 {
  margin-block-start: 2.5rem;
}
.p-legal h2:not(.is-style-legal-article)::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-legal h3,
.p-legal h2.is-style-legal-article {
  margin-block-start: 3rem;
  padding-inline-start: var(--legal-h2-pad-inline);
  color: var(--color-brand);
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333333333;
}
.p-legal h2:not(.is-style-legal-article) + :is(h3, h2.is-style-legal-article) {
  margin-block-start: 2rem;
}
.p-legal h2.is-style-legal-numbered {
  padding-inline-start: calc(var(--legal-h2-pad-inline) + var(--legal-numbered-hang));
  text-indent: calc(-1 * var(--legal-numbered-hang));
}
.p-legal :is(h2, h3) + p,
.p-legal :is(h2, h3) + ol {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal :is(h2, h3) + p {
  margin-inline-start: var(--legal-h2-pad-inline);
}
.p-legal__inner > ul {
  margin-inline-start: var(--legal-h2-pad-inline);
}
.p-legal__inner > p:not(:first-child) {
  margin-inline-start: var(--legal-h2-pad-inline);
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal__inner > p:first-child + p {
  margin-inline-start: 0;
  margin-block-start: 1rem;
}
.p-legal__inner > p.is-legal-lead:not(:first-child) {
  margin-inline-start: 0;
  margin-block-start: 1.7em;
  font-size: max(1rem, 10px);
  line-height: 1.7;
}
.p-legal__inner > p:has(> a[href^=http]:only-child) {
  margin-inline-start: calc(var(--legal-h2-pad-inline) + var(--legal-ol-offset) + var(--legal-ol-marker));
}
.p-legal__inner > p:has(> br):has(> a[href^=http]) > a[href^=http] {
  display: inline-block;
  margin-inline-start: calc(var(--legal-ol-offset) + var(--legal-ol-marker));
}
.p-legal__inner > p + p {
  margin-block-start: 0.75rem;
}
.p-legal__inner > p + ol {
  margin-block-start: 0.75rem;
}
.p-legal__inner > ol + p {
  margin-block-start: 3rem;
}
.p-legal__inner > ol + p.is-legal-note {
  margin-block-start: 1rem;
}
.p-legal__inner > ol + p.is-legal-note--en {
  margin-block-start: 1.5rem;
  font-weight: 400;
}
.p-legal__inner > p.is-legal-note + p {
  margin-block-start: 3rem;
}
.p-legal__inner > ol + p:not(.is-legal-note):not(:has(a)),
.p-legal__inner > p.is-legal-note + p:not(:has(a)) {
  font-weight: 700;
}
.p-legal ol {
  margin-inline-start: calc(var(--legal-h2-pad-inline) + var(--legal-ol-offset));
  padding-inline-start: var(--legal-ol-marker);
  list-style: none;
  counter-reset: legal-item;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal ol > li {
  position: relative;
  counter-increment: legal-item;
}
.p-legal ol > li + li {
  margin-block-start: 0.75rem;
}
.p-legal ol > li::before {
  content: counter(legal-item) ".";
  position: absolute;
  inset-inline-start: calc(-1 * var(--legal-ol-marker));
  width: var(--legal-ol-marker);
  font-weight: 400;
}
.p-legal ol ol {
  margin-block-start: 0.5rem;
  margin-inline-start: 0;
  padding-inline-start: var(--legal-ol-marker);
  counter-reset: legal-sub;
}
.p-legal ol ol > li {
  counter-increment: legal-sub;
}
.p-legal ol ol > li + li {
  margin-block-start: 0.5rem;
}
.p-legal ol ol > li::before {
  content: "(" counter(legal-sub) ")";
}
.p-legal ol.is-legal-device-makers {
  counter-reset: legal-device-maker;
  margin-inline-start: calc(var(--legal-h2-pad-inline) + var(--legal-ol-offset));
}
.p-legal ol.is-legal-device-makers > li {
  counter-increment: legal-device-maker;
}
.p-legal ol.is-legal-device-makers > li::before {
  content: none;
}
.p-legal ol.is-legal-device-makers > li > h3:first-child::before {
  content: counter(legal-device-maker) ".";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc(-1 * var(--legal-ol-marker));
  width: var(--legal-ol-marker);
  font-weight: inherit;
  line-height: inherit;
}
.p-legal ol.is-legal-device-makers > li > h3:first-child {
  position: relative;
  margin-block-start: 0;
  padding-inline-start: 0;
}
.p-legal ol.is-legal-device-makers > li > h3 + p {
  margin-inline-start: 0;
}
.p-legal ol.is-legal-device-makers > li > ol {
  counter-reset: legal-sub;
}
.p-legal ol.is-legal-device-makers > li > ol > li {
  counter-increment: legal-sub;
}
.p-legal ol.is-legal-device-makers > li > ol > li::before {
  content: counter(legal-sub) ".";
}
.p-legal ol.is-legal-device-makers > li > ol ol {
  counter-reset: legal-item;
  padding-inline-start: 2.875rem;
}
.p-legal ol.is-legal-device-makers > li > ol ol > li {
  counter-increment: legal-item;
}
.p-legal ol.is-legal-device-makers > li > ol ol > li::before {
  content: "（" counter(legal-item) "）";
  inset-inline-start: -2.875rem;
  width: 2.875rem;
  white-space: nowrap;
}
.p-legal ol ul {
  margin-block-start: 0.5rem;
  margin-inline-start: 0;
  padding-inline-start: var(--legal-ol-marker);
  list-style: none;
}
.p-legal ol ul > li + li {
  margin-block-start: 0.5rem;
}
.p-legal ol > li > p {
  margin-block-start: 0.75rem;
}
.p-legal__inner > :is(h3, h2.is-style-legal-article):first-child {
  margin-block-start: 0;
}
.p-legal figure:has(table) {
  margin-block: 1.5rem 0;
  margin-inline-start: calc(var(--legal-h2-pad-inline) + var(--legal-ol-offset));
}
.p-legal figure:has(table) + p {
  margin-block-start: 2.5rem;
}
.p-legal table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  display: block;
}
.p-legal table :is(thead, tbody, tfoot) {
  display: block;
}
.p-legal table tr {
  display: block;
}
.p-legal table tr + tr {
  margin-block-start: 1rem;
}
.p-legal table :is(th, td) {
  display: block;
  width: 100%;
  padding: 0.5rem 0 0.625rem;
  border: none;
  border-bottom: 1px solid var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: start;
  vertical-align: top;
}
.p-legal table th {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  border-bottom-width: 3px;
  font-weight: 700;
  background-color: transparent;
}
.p-legal table td {
  border-bottom-width: 1px;
}
.p-legal table:not(:has(tr > *:nth-child(3))) {
  border-spacing: 0;
  border-block-start: 2px solid var(--color-brand);
}
.p-legal table:not(:has(tr > *:nth-child(3))) tr + tr {
  margin-block-start: 0;
}
.p-legal table:not(:has(tr > *:nth-child(3))) th {
  width: 100%;
  max-width: none;
  padding: 0.625rem 0.875rem;
  border-bottom: 0;
  background-color: var(--color-surface-gray);
}
.p-legal table:not(:has(tr > *:nth-child(3))) td {
  padding: 0.75rem 0.875rem 1rem;
  border-bottom: 1px solid #dbdbdb;
}
.p-legal table:has(tr > *:nth-child(3)) {
  border-spacing: 0;
  border-block-start: 2px solid var(--color-brand);
}
.p-legal table:has(tr > *:nth-child(3)) th {
  padding: 0.625rem 0.5rem;
  border-bottom: 1px solid #dbdbdb;
  background-color: var(--color-surface-gray);
}
.p-legal table:has(tr > *:nth-child(3)) td {
  padding: 0.75rem 0.5rem 0.875rem;
  border-bottom: 1px solid #dbdbdb;
}
.p-legal table:has(tr > *:nth-child(3)) {
  border-inline: 1px solid #dbdbdb;
}
.p-legal table:has(tr > *:nth-child(3)) :is(th, td):not(:last-child) {
  border-inline-end: 1px solid #dbdbdb;
}
.p-legal h2.is-legal-part {
  margin-block-start: 3.5rem;
}
.p-legal .is-legal-contact {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-block-start: 1.5rem;
  margin-inline: auto;
  padding: 1.25rem 1rem;
  text-align: start;
  background-color: var(--color-surface-gray);
}
.p-legal .is-legal-contact > p {
  margin: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal .is-legal-contact > p + p {
  margin-block-start: 0.5rem;
}
.p-legal ul.is-legal-hang {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal ul.is-legal-hang > li {
  padding-inline-start: var(--legal-hang);
  text-indent: calc(-1 * var(--legal-hang));
}
.p-legal ul.is-legal-hang > li + li {
  margin-block-start: 0.5rem;
}
.p-legal ul.is-legal-hang--paren {
  --legal-hang: 2.2em;
}
.p-legal ul.is-legal-hang--num {
  --legal-hang: 1.7em;
}
.p-legal a:not(.c-button-more, .c-link-arrow, .c-button-pill) {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.p-legal a[href^="http://"]:not(.c-button-more, .c-link-arrow, .c-button-pill),
.p-legal a[href^="https://"]:not(.c-button-more, .c-link-arrow, .c-button-pill) {
  padding-inline-start: 1.1875rem;
  background: url("data:image/svg+xml,%3csvg%20id='ico_link'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='15.023'%20height='15.025'%20viewBox='0%200%2015.023%2015.025'%3e%3cdefs%3e%3cclipPath%20id='clip-path'%3e%3crect%20id='長方形_1273'%20data-name='長方形%201273'%20width='15.023'%20height='15.025'%20fill='%23306cd3'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20id='グループ_1525'%20data-name='グループ%201525'%20clip-path='url(%23clip-path)'%3e%3cpath%20id='パス_783'%20data-name='パス%20783'%20d='M17.976,1.069a3.644,3.644,0,0,0-5.157,0L10.243,3.645l.862.857.657-.656,1.919-1.92a2.435,2.435,0,0,1,3.439,0,2.435,2.435,0,0,1,0,3.439L15.206,7.279H15.2l-.656.662L15.4,8.8l2.575-2.576a3.645,3.645,0,0,0,0-5.152'%20transform='translate(-4.02%200)'%20fill='%23306cd3'/%3e%3cpath%20id='パス_784'%20data-name='パス%20784'%20d='M7.28,15.2V15.2L5.366,17.118a2.432,2.432,0,0,1-3.439-3.439l1.914-1.914L4.5,11.1l-.856-.863L1.071,12.816a3.645,3.645,0,1,0,5.152,5.158L8.8,15.4l-.857-.857Z'%20transform='translate(0%20-4.019)'%20fill='%23306cd3'/%3e%3cpath%20id='パス_785'%20data-name='パス%20785'%20d='M12.727,6.71l-.8.8-.881.881L8.4,11.042l-.881.881-.8.8.857.857.8-.8.875-.875,2.661-2.661.875-.875.8-.8Z'%20transform='translate(-2.634%20-2.633)'%20fill='%23306cd3'/%3e%3c/g%3e%3c/svg%3e") no-repeat left center/0.9375rem;
}
.p-legal .is-style-legal-sign {
  box-sizing: border-box;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-block-start: 2.5rem;
  margin-inline-start: auto;
  margin-inline-end: 0;
  padding: 1.5rem;
  border: 1px solid var(--color-black);
  background-color: var(--color-white);
}
.p-legal .is-style-legal-sign p {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal .is-style-legal-sign p:first-child {
  font-size: max(0.9375rem, 10px);
  line-height: 1.875;
}
.p-legal figure:has(> img) {
  margin-block-start: 1.5rem;
  margin-block-end: 0;
  margin-inline: auto;
}
.p-legal .p-legal__figure--logo-text {
  width: 18.75rem;
}
.p-legal .p-legal__figure--logo-symbol {
  width: 10rem;
}
.p-legal .p-legal__figure--diagram {
  width: min(100%, 50rem);
}
.p-legal:has(.p-legal__form) {
  padding-block-end: 0;
  overflow-x: clip;
}
.p-legal__form {
  --form-field-width: 30.125rem;
  --form-input-height: 3.125rem;
  --form-input-radius: 0.625rem;
  --form-label-gap: 0.375rem;
  --form-row-gap: 1.25rem;
  --form-name-gap: 2.375rem;
  --form-placeholder: #9ea0a2;
  box-sizing: border-box;
  width: 100vw;
  margin-block-start: 3rem;
  margin-inline: calc(50% - 50vw);
  padding-block: 3rem 4rem;
  background-color: var(--color-surface-gray);
}
.p-legal__form-inner {
  display: grid;
  gap: 2rem;
  max-width: 55.8125rem;
  margin-inline: auto;
}
.p-legal h2.p-legal__form-title {
  margin-block: 0;
  padding-inline-start: 0;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
  text-align: start;
}
.p-legal h2.p-legal__form-title::before {
  content: none;
}
.p-legal__form-note {
  margin-block: 0.75rem 0;
  margin-inline: 0;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: start;
  color: var(--color-black);
}
.p-legal__form-embed {
  min-width: 0;
}
.p-legal--success {
  padding-block: 3rem 5rem;
}
.p-legal__success {
  max-width: 45rem;
  margin-inline: auto;
  text-align: center;
}
.p-legal h2.p-legal__success-title {
  margin-block: 0;
  padding-inline-start: 0;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-legal h2.p-legal__success-title::before {
  content: none;
}
.p-legal__success-text {
  margin-block: 1.5rem 0;
  margin-inline: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-legal__success-actions {
  display: grid;
  justify-items: center;
  gap: 1.25rem;
  margin-block-start: 2.5rem;
}
.privacy-policy .p-legal table:not(:has(tr > *:nth-child(3))) {
  border-inline: 1px solid #dbdbdb;
}
.l-lineup-hero {
  margin-block-start: 1.75rem;
}
.p-lineup-hero__inner {
  display: grid;
  gap: 1.5rem;
}
.p-lineup-hero__eyebrow {
  display: flex;
  align-items: flex-end;
  gap: 0.125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  letter-spacing: -0.034em;
  color: var(--color-black);
}
.p-lineup-hero__eyebrow-logo {
  width: 6.25rem;
  height: auto;
}
.p-lineup-hero__title {
  margin-block-start: 0.375rem;
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2364;
  color: var(--color-black);
}
.p-lineup-hero__sub {
  margin-block-start: 0.75rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923;
  color: var(--color-brand);
}
.p-lineup-hero__lead {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.p-lineup-hero__marker {
  background: linear-gradient(transparent 60%, #ffff5c 60%);
}
.p-lineup-hero__visual {
  justify-self: center;
  width: 18.75rem;
}
.p-lineup-hero__visual img {
  width: 100%;
  height: auto;
}
.l-lineup-common {
  margin-block-start: 3rem;
}
.p-lineup-common__inner {
  display: grid;
  gap: 1.25rem;
}
.p-lineup-common__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-lineup-common__title-em {
  color: var(--color-brand-blue);
}
.p-lineup-common__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.95;
  color: var(--color-black);
}
.p-lineup-common__text b {
  font-weight: 700;
}
.l-lineup-structure {
  margin-block-start: 3rem;
}
.l-lineup-plan {
  margin-block-start: 3rem;
}
.l-lineup-cta {
  margin-block: 3rem;
}
.l-lineup-faq {
  margin-block-start: 3rem;
  margin-block-end: 3.5rem;
}
.p-lower-hero__inner {
  display: grid;
  gap: 2rem;
}
.p-lower-hero__body {
  min-width: 0;
}
.p-lower-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6.3125rem;
  min-height: 1.9375rem;
  padding-inline: 0.4375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-lower-hero__title {
  margin-block-start: 0.5rem;
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2363636364;
  color: var(--color-black);
}
.p-lower-hero__sub {
  margin-block-start: 1rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.6923076923;
  color: var(--color-brand);
}
.p-lower-hero__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.p-lower-hero__chips {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-lower-hero__chip {
  display: grid;
  align-content: start;
  justify-items: center;
  min-height: 5.3125rem;
  padding-block: 0.8125rem 0.75rem;
  padding-inline: 1rem;
  border: 0.1875rem solid var(--color-brand-blue);
  border-radius: 1.5rem;
  text-align: center;
}
.p-lower-hero__chip-name {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-brand-blue);
}
.p-lower-hero__chip-text {
  margin-block-start: 0.1875rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.7857142857;
  color: var(--color-black);
}
.p-lower-hero__visual {
  width: 17.5rem;
  justify-self: center;
}
.p-lower-hero[data-visual=wide] .p-lower-hero__visual {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.p-lower-hero[data-visual=wide] .p-lower-hero__visual .u-img-missing {
  aspect-ratio: 489/303;
  min-height: 0;
}
.p-main-sub {
  padding-block-start: var(--header-height);
}
.p-main-top {
  padding-block-start: var(--header-height);
}
.p-mobile-marker {
  background: linear-gradient(transparent 60%, #ffff5c 60%);
}
.l-mobile-hero .p-lower-hero__visual {
  width: 10rem;
}
.p-mobile-hero__stores {
  margin-block-start: 1.875rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.483125rem;
}
.p-mobile-hero__store {
  height: auto;
}
.p-mobile-hero__store--appstore {
  width: 8.5175rem;
}
.p-mobile-hero__store--googleplay {
  width: 9.58125rem;
}
.l-mobile-screens {
  margin-block-start: 3rem;
}
.p-mobile-screens__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-mobile-screens__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.1622;
  text-align: center;
  color: var(--color-black);
}
.p-mobile-screens__lead {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-mobile-screens__em {
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-mobile-screens__cards {
  display: grid;
  gap: 1.75rem;
  margin-block-start: 2rem;
}
.p-mobile-screens__card {
  position: relative;
  padding: 1.75rem 1.25rem 1.5rem;
  border: 1px solid #c9ccd1;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-mobile-screens__card--current {
  border: 2px solid var(--color-brand-blue);
}
.p-mobile-screens__tag {
  position: absolute;
  inset-block-start: -0.9375rem;
  inset-inline-start: 1.25rem;
  display: grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-mobile-screens__illust {
  position: absolute;
  inset-block-start: -1.5rem;
  inset-inline-end: 1rem;
  width: auto;
  max-height: 6.25rem;
}
.p-mobile-screens__role {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
}
.p-mobile-screens__name {
  margin-block-start: 0.25rem;
  padding-block-end: 1rem;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
  border-block-end: 1px solid var(--color-brand-blue);
}
.p-mobile-screens__card:not(.p-mobile-screens__card--current) .p-mobile-screens__name {
  border-block-end-color: #c9ccd1;
}
.p-mobile-screens__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-mobile-screens__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 0.75rem;
  margin-block-start: 1.75rem;
}
.p-mobile-screens__item {
  display: grid;
  justify-items: center;
  gap: 0.625rem;
}
.p-mobile-screens__item-icon {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background-color: #eef0f2;
}
.p-mobile-screens__item-icon--fill {
  background-image: linear-gradient(140deg, #3f8fe8, #1a4fb8);
}
.p-mobile-screens__item-icon img {
  width: 2.375rem;
  height: auto;
}
.p-mobile-screens__card--current .p-mobile-screens__item-icon img {
  width: 2.625rem;
}
.p-mobile-screens__item-text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.2667;
  text-align: center;
  color: var(--color-black);
}
.p-mobile-screens__link {
  justify-self: center;
  position: relative;
  padding-block-end: 4.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  color: var(--color-brand);
}
.p-mobile-screens__link::before,
.p-mobile-screens__link::after {
  position: absolute;
  inset-block-end: 0.25rem;
  width: 0.875rem;
  height: 3.5rem;
  content: "";
  background-color: var(--color-brand);
}
.p-mobile-screens__link::before {
  inset-inline-start: calc(50% - 0.75rem);
  clip-path: polygon(30% 0, 70% 0, 70% 76%, 100% 76%, 50% 100%, 0 76%, 30% 76%);
  translate: -50% 0;
}
.p-mobile-screens__link::after {
  inset-inline-start: calc(50% + 0.75rem);
  clip-path: polygon(30% 100%, 70% 100%, 70% 24%, 100% 24%, 50% 0, 0 24%, 30% 24%);
  translate: -50% 0;
}
.p-mobile-screens__note {
  margin-block-start: 1.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-mobile-screens__note a {
  min-width: 16.25rem;
}
.l-mobile-features {
  margin-block-start: 3rem;
}
.p-mobile-features__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-mobile-features__subtitle {
  margin-block-start: 1.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-mobile-features__lead {
  margin-block-start: 1.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-mobile-features__list {
  display: grid;
  gap: 2.5rem;
  margin-block-start: 2rem;
}
.p-mobile-features__ui {
  width: 100%;
  height: auto;
}
.p-mobile-features__name {
  margin-block-start: 1rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.p-mobile-features__text {
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-mobile-features__link {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 1rem;
  margin-inline-start: auto;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-brand);
}
.l-mobile-steps {
  margin-block-start: 3rem;
}
.p-mobile-steps__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-mobile-steps__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-mobile-steps__list {
  display: grid;
  gap: 2rem;
  margin-block-start: 0;
}
.p-mobile-steps__head {
  display: grid;
  gap: 1rem;
}
.p-mobile-steps__stores {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.483125rem;
  margin-block-end: 2.5rem;
  padding-inline-start: 1rem;
}
.p-mobile-steps__store {
  height: auto;
}
.p-mobile-steps__store--appstore {
  width: 8.5175rem;
}
.p-mobile-steps__store--googleplay {
  width: 9.58125rem;
}
.p-mobile-steps__block {
  display: grid;
  justify-items: center;
  gap: 1.5rem;
}
.p-mobile-steps__block + .p-mobile-steps__block {
  margin-block-start: 2.5rem;
}
.p-mobile-steps__phone {
  width: 9.875rem;
}
.p-mobile-steps__phone.c-image-zoom {
  width: 9.875rem;
}
.p-mobile-steps__phone img {
  width: 100%;
  height: auto;
}
.p-mobile-steps__item {
  position: relative;
  padding: 2.5rem 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-mobile-steps__num {
  position: absolute;
  inset-block-start: -0.625rem;
  inset-inline-start: 50%;
  display: grid;
  place-items: center;
  width: 2.04375rem;
  height: 2.04375rem;
  font-size: max(1.25rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
  translate: -50% 0;
}
.p-mobile-steps__name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  text-align: center;
  color: var(--color-brand-blue);
}
.p-mobile-steps__text {
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-mobile-extras {
  margin-block-start: 3rem;
}
.p-mobile-extras__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-mobile-extras__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-mobile-extras__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-mobile-extras__icon {
  flex-shrink: 0;
  width: auto;
  max-height: 1.5rem;
}
.p-mobile-extras__name {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-mobile-extras__text {
  margin-block-start: 0.25rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-mobile-faq {
  margin-block-start: 3rem;
  margin-block-end: 3.5rem;
}
.p-mobile-features__item {
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 2px var(--color-brand-blue);
  background-color: var(--color-white);
}
.p-mobile-features__text {
  margin-block-end: auto;
}
.p-mobile-features__ui.p-mobile-features__ui--phone {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 22.5rem;
  margin-inline: auto;
}
.p-mobile-features__item .c-image-zoom--fit {
  display: block;
  margin-inline: auto;
}
.p-modal {
  width: min(100% - 2rem, 62.5rem);
  max-height: 85dvh;
  margin: auto;
  padding: 0;
  overflow: hidden;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 0;
  border-radius: 0.75rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.p-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}
.p-modal__inner {
  position: relative;
  max-height: 85dvh;
  overflow-y: auto;
  padding: 3rem 1.5rem 2rem;
}
.p-modal__close {
  position: absolute;
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  border-radius: 50%;
  background-color: var(--color-surface-gray);
}
.p-modal__close::before,
.p-modal__close::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 1.125rem;
  height: 2px;
  content: "";
  background-color: var(--color-black);
}
.p-modal__close::before {
  translate: -50% -50%;
  rotate: 45deg;
}
.p-modal__close::after {
  translate: -50% -50%;
  rotate: -45deg;
}
.p-modal__image {
  display: grid;
  place-items: center;
  min-height: 11.25rem;
  padding: 1rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.5714;
  text-align: center;
  color: #7c848f;
  background-color: #e9ebee;
  border: 2px dashed #b9bfc7;
  border-radius: 0.5rem;
}
.p-modal__title {
  margin-block-start: 1.5rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4167;
  color: var(--color-brand);
}
.p-modal__text {
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-modal__text p + p {
  margin-block-start: 0.75rem;
}
.p-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 1.25rem;
}
.p-modal__tag {
  padding: 0.3125rem 0.75rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.5714;
  color: var(--color-brand-blue);
  border: 1px solid var(--color-brand-blue);
  border-radius: 0.25rem;
}
.p-modal__actions {
  margin-block-start: 1.75rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid #e3e5e8;
}
.p-modal__actions[hidden] {
  display: none;
}
.p-modal__link {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-brand);
}
.p-modal__image.p-modal__image--photo {
  display: block;
  min-height: 0;
  padding: 0;
  background-color: transparent;
  border: 0;
}
.p-modal__photo {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 0.5rem;
}
.p-modal__photo.is-portrait {
  width: auto;
  max-height: min(50dvh, 27.5rem);
  margin-inline: auto;
}
.p-news-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-block-start: 1.5rem;
}
.p-news-tabs__link {
  display: grid;
  place-items: center;
  min-height: 2.75rem;
  padding-inline: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-brand);
  background-color: var(--color-white);
  border: 2px solid var(--color-brand);
  border-radius: 0.5rem;
  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.05);
}
.p-news-tabs__item:not(.p-news-tabs__item--current) .p-news-tabs__link {
  --hover-opacity: 1;
  transition: color var(--hover-transition), background-color var(--hover-transition), border-color var(--hover-transition);
}
.p-news-tabs__item:not(.p-news-tabs__item--current) .p-news-tabs__link:focus-visible {
  border-color: var(--color-white);
  background-color: var(--color-brand);
  color: var(--color-white);
}
.p-news-tabs__item--current .p-news-tabs__link {
  --hover-opacity: 1;
  font-weight: 500;
  background-color: var(--color-surface-gray);
  border-color: transparent;
}
.p-news-list {
  margin-block-start: 0.375rem;
  padding: 0.5rem 1rem 1.5rem;
  background-color: var(--color-surface-gray);
}
.p-news-list__item + .p-news-list__item {
  border-block-start: 1px solid #d1d1d1;
}
.p-news-list__link {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 0.375rem 0.875rem;
  padding-block: 1rem;
}
.p-news-list__thumb {
  grid-row: 1/3;
  width: 4rem;
  height: 4rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 0.625rem;
}
.p-news-list__date {
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-size: max(0.875rem, 10px);
  font-weight: 900;
  line-height: 2.125;
  color: var(--color-black);
}
.p-news-list__cat {
  display: grid;
  place-items: center;
  white-space: nowrap;
  min-height: 1.625rem;
  padding-inline: 0.5rem;
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  border: 1px solid var(--color-brand);
  background-color: var(--color-white);
  color: var(--color-brand);
}
.p-news-list__title {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.375;
  color: var(--color-black);
}
.p-pagination__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4375rem;
  margin-block-start: 2rem;
}
.p-pagination__link {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  font-family: var(--font-family-en);
  font-size: max(1rem, 10px);
  font-weight: 300;
  line-height: 1.875;
  color: #9ea0a2;
  background-color: var(--color-white);
  border: 1px solid #d2d2d2;
}
.p-pagination__ellipsis {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 2.5rem;
  font-family: var(--font-family-en);
  font-size: max(1rem, 10px);
  font-weight: 300;
  line-height: 1.875;
  color: #9ea0a2;
}
.p-pagination__link[aria-current=page] {
  color: var(--color-white);
  background-color: var(--color-brand);
  border-color: var(--color-brand);
}
.p-news-detail__head {
  display: grid;
  gap: 0.75rem;
}
.p-news-detail__thumb {
  width: 100%;
  max-width: 15.25rem;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 0.625rem;
}
.p-news-detail__date {
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 2.125;
  color: var(--color-black);
}
.p-news-detail__cat {
  display: grid;
  place-items: center;
  white-space: nowrap;
  min-height: 1.9375rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-news-detail__title {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.4706;
  color: var(--color-black);
}
.p-news-detail__body {
  margin-block-start: 1.75rem;
}
.p-news-detail__body > * + * {
  margin-block-start: 1.25rem;
}
.p-news-detail__body p {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-news-detail__body h2 {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-news-detail__body h2 {
  color: var(--color-black);
}
.p-news-detail__body h2::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-news-detail__body ul {
  display: grid;
  gap: 0.5rem;
  padding-inline-start: 1.25rem;
  list-style: disc;
}
.p-news-detail__body li {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-news-nav {
  margin-block-start: 2.5rem;
  padding-block: 1.5rem 2rem;
  background-color: var(--color-surface-gray);
}
.p-news-nav__list {
  display: grid;
  gap: 1.25rem;
}
.p-news-nav__label {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-black);
}
.p-news-nav__label .c-icon-arrow-circle {
  color: var(--color-brand);
}
.p-news-nav__item--prev .c-icon-arrow-circle {
  scale: -1 1;
}
.p-news-nav__card {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  margin-block-start: 0.75rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  color: inherit;
}
.p-news-nav__thumb {
  width: 4rem;
  height: 4rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-nav__content {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
}
.p-news-nav__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 0.625rem;
}
.p-news-nav__date {
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-size: max(0.875rem, 10px);
  font-weight: 900;
  line-height: 1.5;
  color: var(--color-black);
}
.p-news-nav__cat {
  display: grid;
  place-items: center;
  white-space: nowrap;
  min-height: 1.625rem;
  padding-inline: 0.5rem;
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-news-nav__title {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.375;
  color: var(--color-black);
  text-decoration: underline;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-news-nav__back {
  order: 1;
  display: flex;
  justify-content: center;
}
.l-news {
  padding-block-end: 3.125rem;
}
.l-news-detail {
  margin-block-start: 1.875rem;
}
.p-other-issues__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 2rem;
}
.p-other-issues__item {
  display: grid;
}
.p-other-issues__card {
  position: relative;
  display: block;
  height: 100%;
  padding: 1.5rem 1.25rem 1.75rem;
  border-radius: 0.5rem;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-other-issues__label {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.9375rem;
  padding-inline: 0.4375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.6666666667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-other-issues__title {
  display: block;
  margin-block-start: 0.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
.p-other-issues__desc {
  display: block;
  margin-block-start: 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-other-issues__illust {
  display: none;
}
.p-other-issues__back .c-link-arrow__text {
  color: var(--color-black);
}
.p-other-issues__back {
  display: flex;
  margin-block-start: 1.5rem;
}
.p-other-issues__back .c-link-arrow {
  --link-arrow-font-size: max(1.0625rem, 10px);
}
.p-page-hero {
  padding-block: 2rem 1.875rem;
  color: var(--color-white);
  background-image: linear-gradient(90deg, #4275d2 0%, #002a7a 100%);
}
.p-page-hero__label {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.4em;
  text-transform: uppercase;
}
.p-page-hero__title {
  margin-block-start: 0.25rem;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.375;
}
.p-page-top {
  position: fixed;
  inset-block-end: 1.5rem;
  inset-inline-end: 1.25rem;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 2.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brand);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--hover-transition);
}
.p-page-top.is-show {
  opacity: 1;
  pointer-events: auto;
}
.p-page-top__icon {
  display: block;
  width: 0.8125rem;
  aspect-ratio: 1;
  border-block-start: 0.1875rem solid var(--color-white);
  border-inline-start: 0.1875rem solid var(--color-white);
  rotate: 45deg;
  translate: 0 0.1875rem;
}
.p-persona-flow {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-persona-flow__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: var(--color-black);
}
.p-persona-flow__title-logo {
  display: inline-block;
  width: 6rem;
  height: auto;
  margin-inline: 0.25rem;
  vertical-align: -0.1875rem;
}
.p-persona-flow__list {
  margin-block-start: 2rem;
}
.p-persona-flow__item {
  position: relative;
  padding-inline-start: 1.75rem;
}
.p-persona-flow__item::before {
  position: absolute;
  inset-block: 0.5625rem -2rem;
  inset-inline-start: 0.5625rem;
  width: 1px;
  content: "";
  background-color: var(--color-brand);
}
.p-persona-flow__item:last-child::before {
  content: none;
}
.p-persona-flow--no-time .p-persona-flow__item::before {
  content: none;
}
.p-persona-flow__item + .p-persona-flow__item {
  margin-block-start: 2rem;
}
.p-persona-flow__time {
  position: relative;
  font-size: max(1.5rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-brand);
}
.p-persona-flow__time::before {
  position: absolute;
  inset-block-start: 0.3125rem;
  inset-inline-start: -1.75rem;
  width: 1.15625rem;
  height: 1.15625rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand);
}
.p-persona-flow__time:empty::before {
  content: none;
}
.p-persona-flow__time:empty {
  display: none;
}
.p-persona-flow__body {
  display: grid;
  gap: 2.75rem;
  margin-block-start: 1rem;
}
.p-persona-flow__col {
  position: relative;
}
.p-persona-flow__persona {
  display: flex;
  align-items: flex-end;
  gap: 0.4375rem;
  padding-inline-start: 1rem;
}
.p-persona-flow__persona-illust {
  width: 3rem;
  height: auto;
}
.p-persona-flow__col--after .p-persona-flow__persona-illust {
  width: 3.3125rem;
}
.p-persona-flow__persona-illust.p-persona-flow__persona-illust--narrow {
  width: 2.5rem;
}
.p-persona-flow__col--after .p-persona-flow__persona-illust.p-persona-flow__persona-illust--narrow {
  width: 3.125rem;
}
.p-persona-flow--no-time .p-persona-flow__item {
  padding-inline-start: 0;
}
.p-persona-flow--no-time .p-persona-flow__body {
  gap: 0.25rem;
}
.p-persona-flow__role {
  margin-block-end: 0.75rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-brand);
}
.p-persona-flow__card {
  position: relative;
  display: block;
  width: 100%;
  text-align: start;
  margin-block-start: -0.5rem;
  padding: 1.5rem 1.125rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-persona-flow__col--after .p-persona-flow__card {
  border: 3px solid var(--color-brand-blue);
}
.p-persona-flow__col--after button.p-persona-flow__card {
  padding-block-end: 1.5rem;
}
.p-persona-flow__badge {
  position: absolute;
  inset-block-start: -0.75rem;
  inset-inline-end: 0.75rem;
  display: grid;
  place-items: center;
  min-width: 4.125rem;
  min-height: 1.875rem;
  padding-inline: 0.4375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857142857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-persona-flow__col--after .p-persona-flow__badge {
  min-width: 3.5625rem;
  background-color: var(--color-brand-blue);
}
.p-persona-flow__col--after button.p-persona-flow__card {
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.p-persona-flow__col--after button.p-persona-flow__card:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}
.p-persona-flow__text {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-persona-flow__col--after .p-persona-flow__text {
  line-height: 1.8888888889;
}
.p-persona-flow__em {
  color: var(--color-brand-blue);
}
.p-persona-flow__arrow {
  position: absolute;
  inset-block-end: -2rem;
  inset-inline-start: 50%;
  width: 2.75rem;
  height: auto;
  translate: -50% 0;
  rotate: 90deg;
}
.p-persona-flow__more {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.875rem;
  margin-block-start: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  color: var(--color-black);
}
.p-persona-flow__more::after {
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  border-block-end: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  rotate: -45deg;
}
.p-plan-detail__head-body {
  position: relative;
}
.p-plan-detail__badge {
  display: inline-grid;
  place-items: center;
  min-width: 4.375rem;
  min-height: 1.875rem;
  margin-block-end: 0.625rem;
  padding-inline: 0.4375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-plan-detail__title.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-plan-detail__combo {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
  margin-block-start: 1.25rem;
}
.p-plan-detail__chip {
  display: grid;
  grid-template-columns: 45% 55%;
  align-items: center;
  gap: 0;
  min-height: 6.875rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-plan-detail__chip img {
  flex-shrink: 0;
  justify-self: center;
  width: auto;
  height: 5.375rem;
}
.p-plan-detail__chip .p-plan-detail__chip-illust--gpslogger {
  width: 6.5625rem;
  height: auto;
}
.p-plan-detail__chip-name {
  justify-self: center;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.3125;
  text-align: start;
  color: var(--color-black);
}
.p-plan-detail__plus {
  align-self: center;
  flex-shrink: 0;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-plan-detail__note {
  display: grid;
  place-items: center;
  min-height: 3.5rem;
  margin-block-start: 1.75rem;
  padding: 0.75rem 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-plan-detail--dark .p-plan-detail__note {
  background-color: var(--color-brand);
}
.p-plan-detail__subtitle {
  margin-block-start: 2.25rem;
}
.p-plan-detail__targets {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-plan-detail__target {
  display: grid;
  justify-items: center;
  gap: 0.625rem;
  padding: 1.25rem 1rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-plan-detail__target-icon {
  width: 1.875rem;
  height: 1.875rem;
  background-color: var(--color-brand-blue);
  -webkit-mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2030.53%2030.09'%3e%3cg%20transform='translate(-227.72%20-5250.48)'%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23000'%20d='M228%205248h31v33h-31z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M243.94%205250.47a14.2%2014.2%200%200%200-14.31%2014.1c0%202.6.72%205.02%201.95%207.1l-3.86%208.9%209.02-3.82a14.4%2014.4%200%200%200%207.2%201.93c7.9%200%2014.3-6.31%2014.3-14.1s-6.4-14.1-14.3-14.1m0%2026.32c-2.18%200-4.34-.58-6.24-1.67l-.83-.48-.88.37-4.64%201.96%201.99-4.56.38-.88-.49-.81c-1.1-1.88-1.7-4-1.7-6.15%200-6.74%205.57-12.22%2012.4-12.22s12.4%205.48%2012.4%2012.22-5.56%2012.22-12.4%2012.22'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M238.21%205262.7a1.9%201.9%200%200%200-1.9%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.91-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M243.94%205262.7a1.9%201.9%200%200%200-1.91%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.91-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M249.66%205262.7a1.9%201.9%200%200%200-1.9%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.9-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") no-repeat center/contain;
          mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%20viewBox='0%200%2030.53%2030.09'%3e%3cg%20transform='translate(-227.72%20-5250.48)'%3e%3cdefs%3e%3cclipPath%20id='a'%3e%3cpath%20fill='%23000'%20d='M228%205248h31v33h-31z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M243.94%205250.47a14.2%2014.2%200%200%200-14.31%2014.1c0%202.6.72%205.02%201.95%207.1l-3.86%208.9%209.02-3.82a14.4%2014.4%200%200%200%207.2%201.93c7.9%200%2014.3-6.31%2014.3-14.1s-6.4-14.1-14.3-14.1m0%2026.32c-2.18%200-4.34-.58-6.24-1.67l-.83-.48-.88.37-4.64%201.96%201.99-4.56.38-.88-.49-.81c-1.1-1.88-1.7-4-1.7-6.15%200-6.74%205.57-12.22%2012.4-12.22s12.4%205.48%2012.4%2012.22-5.56%2012.22-12.4%2012.22'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M238.21%205262.7a1.9%201.9%200%200%200-1.9%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.91-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M243.94%205262.7a1.9%201.9%200%200%200-1.91%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.91-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20fill='%23306CD3'%20d='M249.66%205262.7a1.9%201.9%200%200%200-1.9%201.88%201.9%201.9%200%200%200%201.9%201.88%201.9%201.9%200%200%200%201.9-1.88%201.9%201.9%200%200%200-1.9-1.88'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") no-repeat center/contain;
}
.p-plan-detail__target-text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  text-align: center;
  color: var(--color-black);
}
.p-plan-detail__target-text b {
  font-weight: 900;
}
.p-plan-detail__merits {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-plan-detail__merit {
  padding: 1.25rem 1.125rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-plan-detail__merit-title {
  position: relative;
  padding-inline-start: 1.125rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-plan-detail__merit-title::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.4375rem;
  height: 0.4375rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
}
.p-plan-detail__merit-text {
  margin-block-start: 0.5rem;
  padding-inline-start: 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-plan-detail__spec {
  display: grid;
  gap: 1rem;
  margin-block-start: 2.25rem;
}
.p-plan-detail__spec-title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-plan-detail__spec-list {
  display: grid;
  gap: 0.625rem;
}
.p-plan-detail__spec-item {
  position: relative;
  padding-inline-start: 1.125rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-plan-detail__spec-item::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.4375rem;
  height: 0.4375rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-black);
  translate: 0 -50%;
}
.p-plan-detail__more {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-plan-detail__more-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
  padding: 1rem 1.125rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-plan-detail__more-illust {
  flex: 0 0 4.1875rem;
  width: 4.1875rem;
  height: 2.875rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-plan-detail__more-name {
  min-width: 0;
  flex-grow: 1;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.625;
  color: var(--color-black);
}
.p-plan-detail__more-card .c-icon-arrow-circle {
  color: var(--color-brand-blue);
}
.p-post-content {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-post-content > * + * {
  margin-block-start: 1.25rem;
}
.p-post-content p {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-post-content h2 {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-post-content h2 {
  color: var(--color-black);
}
.p-post-content h2::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-post-content > h2 {
  margin-block-start: 3rem;
}
.p-post-content > h3 {
  position: relative;
  margin-block-start: 2.25rem;
  padding-inline-start: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-post-content > h3::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-post-content > :is(h2, h3) + * {
  margin-block-start: 0.75rem;
}
.p-post-content :is(ul, ol) {
  display: grid;
}
.p-post-content ul {
  gap: 0.125rem;
}
.p-post-content ol {
  gap: 0.3125rem;
}
.p-post-content li {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-post-content ul > li::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-post-content ol {
  counter-reset: post-ol;
}
.p-post-content ol > li {
  counter-increment: post-ol;
}
.p-post-content ol > li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  color: var(--color-brand-blue);
  content: counter(post-ol) ".";
}
.p-post-content figure {
  margin-block-start: 1rem;
}
.p-post-content figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.p-post-content figcaption {
  margin-block-start: 1.5rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  letter-spacing: 0.05em;
  color: #9ea0a2;
}
.p-post-content__toc {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem;
  border: 1px solid var(--color-brand);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-post-content__toc-title {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-brand);
}
.p-post-content__toc-list {
  display: grid;
  gap: 0.5625rem;
  counter-reset: post-toc;
}
.p-post-content__toc-item {
  position: relative;
  padding-inline-start: 1.25rem;
  counter-increment: post-toc;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  color: var(--color-black);
}
.p-post-content__toc-item::before {
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-brand-blue);
  content: counter(post-toc) ".";
}
.p-post-content__note {
  margin-block-start: 1.5rem;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: #e2edff;
}
.p-post-content__note-title {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-post-content__note-title + * {
  margin-block-start: 0.75rem;
}
.p-post-content__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-post-content__actions .c-button-outline-pill,
.p-post-content__actions .c-button-pill {
  font-weight: 500;
}
.p-post-content__external {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-post-content__external img {
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.9375rem;
}
.p-post-nav {
  padding-block: 1.5rem 2rem;
  background-color: var(--color-surface-gray);
}
.p-post-nav__list {
  display: grid;
  gap: 1.25rem;
}
.p-post-nav__label {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-post-nav__label .c-icon-arrow-circle {
  color: var(--color-brand);
}
.p-post-nav__item--prev .c-icon-arrow-circle {
  scale: -1 1;
}
.p-post-nav__card {
  display: grid;
  gap: 0.5rem;
  margin-block-start: 0.75rem;
  padding: 0.875rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-post-nav__date {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.375;
  color: var(--color-black);
}
.p-post-nav__title {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.375;
  color: var(--color-black);
  text-decoration: underline;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
}
.p-post-nav__back {
  order: 1;
  display: flex;
  justify-content: center;
  margin-block-start: 0.25rem;
}
.p-post-nav__back a {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.875;
  color: var(--color-black);
  text-decoration: underline;
}
.l-price-hero {
  margin-block-start: 1.75rem;
}
.p-price-hero__inner {
  display: grid;
  gap: 0;
}
.p-price-hero__body {
  display: contents;
}
.p-price-hero__visual {
  order: 1;
  margin-block-start: 1.5rem;
}
.p-price-hero__button {
  order: 2;
  justify-self: center;
}
.p-price-hero__title {
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.2364;
  color: var(--color-black);
}
.p-price-hero__sub {
  margin-block-start: 0.75rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4595;
  color: var(--color-brand);
}
.p-price-hero__sub-num {
  font-size: max(1.75rem, 10px);
}
.p-price-hero__strong {
  margin-block-start: 1rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-price-hero__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-hero__button {
  min-height: 4rem;
  margin-block-start: 1.5rem;
  padding-inline: 2.125rem 1.75rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
}
.p-price-hero__button .c-icon-arrow-circle {
  color: var(--color-black);
}
.p-price-hero__button .c-icon-arrow-circle::before,
.p-price-patterns__more .c-icon-arrow-circle::before {
  rotate: 45deg;
}
.p-price-hero__visual {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.5rem;
  min-width: 0;
}
.p-price-hero__illust {
  flex-shrink: 1;
  width: auto;
  max-width: 48%;
  max-height: 2.8125rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-price-basic {
  margin-block-start: 3rem;
}
.p-price-basic__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-price-basic__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.75rem;
}
.p-price-basic__item {
  position: relative;
  padding: 2.75rem 1.25rem 1.5rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-price-basic__tag {
  position: absolute;
  inset-block-start: -0.9375rem;
  inset-inline-start: 1.25rem;
  display: grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-price-basic__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.p-price-basic__illust {
  flex-shrink: 0;
  width: auto;
  max-height: 5rem;
}
.p-price-basic__label {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-price-basic__value {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  color: var(--color-brand-blue);
}
.p-price-basic__note {
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-price-basic__note a {
  text-decoration: underline;
}
.l-price-plans {
  margin-block-start: 3rem;
}
.p-price-plans__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-price-plans__table {
  margin-block-start: 1.75rem;
}
.p-price-plans__labels {
  display: none;
}
.p-price-plans__cards {
  display: grid;
  gap: 1.25rem;
}
.p-price-plans__card {
  padding: 1.75rem 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-price-plans__badge {
  display: inline-grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-price-plans__summary {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-plans__row {
  margin-block-start: 1rem;
  padding-block-end: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
  border-block-end: 1px solid var(--color-brand-blue);
}
.p-price-plans__row--num {
  text-align: center;
}
.p-price-plans__num {
  font-size: max(2.25rem, 10px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-black);
}
.l-price-patterns {
  margin-block-start: 3rem;
}
.p-price-patterns__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-price-patterns__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4595;
  text-align: center;
  color: var(--color-black);
}
.p-price-patterns__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-price-patterns__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.75rem;
}
.p-price-patterns__card {
  display: grid;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-price-patterns__photo {
  width: 100%;
  height: auto;
}
.p-price-patterns__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  padding: 1.25rem 1.25rem 0;
}
.p-price-patterns__name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-brand-blue);
}
.p-price-patterns__name-sub {
  display: block;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  color: var(--color-black);
}
.p-price-patterns__card .c-icon-arrow-circle {
  color: var(--color-brand-blue);
}
.p-price-patterns__more {
  margin-block-start: 1.75rem;
  text-align: center;
}
.p-price-patterns__more .c-button-outline-pill {
  display: inline-flex;
  justify-content: center;
  min-width: 16.25rem;
}
.p-price-patterns__text {
  padding: 1rem 1.25rem 1.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-patterns__text > span {
  display: inline-block;
  padding-inline-start: 1em;
  text-indent: -1em;
}
.p-price-patterns__text > span.p-price-patterns__recommend {
  display: block;
  margin-block-start: 0.9375rem;
  padding: 0.9375rem;
  font-weight: 700;
  text-indent: 0;
  background-color: #eaf1fd;
}
.l-price-flow {
  margin-block-start: 3rem;
}
.p-price-flow__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-price-flow__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 2.25rem;
}
.p-price-flow__item {
  position: relative;
  display: grid;
  gap: 0.75rem;
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-price-flow__num {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.875rem;
  padding-inline: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 400;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 100vh;
}
.p-price-flow__name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4167;
  color: var(--color-brand-blue);
}
.p-price-flow__term {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.75rem;
  padding-inline: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.5625;
  color: var(--color-brand-blue);
  border: 1px solid var(--color-brand-blue);
  background-color: var(--color-white);
}
.p-price-flow__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-flow__note {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.l-price-support {
  margin-block-start: 3rem;
}
.p-price-support__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-price-support__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 1.75rem;
}
.p-price-support__item {
  position: relative;
  padding: 2.5rem 1.25rem 1.5rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-price-support__tag {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-start-start-radius: 0.375rem;
}
.p-price-support__tag--dark {
  background-color: var(--color-brand);
}
.p-price-support__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.p-price-support__card {
  display: grid;
  place-items: center;
  gap: 0.375rem;
  min-height: 5.75rem;
  padding: 1rem 0.75rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  text-align: center;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
}
.p-price-support__card-note {
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.7857;
  color: var(--color-black);
}
.p-price-support__note {
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-price-env {
  margin-block-start: 3rem;
}
.p-price-env__heading.c-section-head-bar__title {
  font-size: max(1.375rem, 10px);
}
.p-price-env__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-env__table {
  width: 100%;
  margin-block-start: 1.5rem;
  table-layout: fixed;
  border: 1px solid #dbdbdb;
  border-block-start: 2px solid var(--color-brand);
  word-break: break-word;
}
.p-price-env__table th,
.p-price-env__table td {
  padding: 0.9375rem 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.p-price-env__table th {
  text-align: center;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
  border-inline-end: 1px solid #dbdbdb;
}
.p-price-env__table td {
  text-align: start;
  color: var(--color-black);
  background-color: var(--color-white);
}
.p-price-env__table tr:not(:last-child) th {
  border-block-end: 1px solid #dbdbdb;
}
.p-price-env__table tr:not(:last-child) td {
  border-block-end: 1px solid #dbdbdb;
}
.p-price-env__table td p + p {
  margin-block-start: 0.25rem;
}
.l-price-guide {
  margin-block-start: 3rem;
}
.p-price-guide__box {
  display: grid;
  gap: 1.125rem;
  padding: 1.5rem 1.25rem;
  border: 3px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-price-guide__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.p-price-guide__lead {
  margin-block-start: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-guide__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.125rem;
}
.p-price-guide__links .c-button-outline-pill,
.p-price-guide__links .c-button-pill {
  justify-content: center;
  inline-size: 16.875rem;
  max-inline-size: 100%;
  min-width: 0;
  min-height: 3.125rem;
  padding-inline: 1rem;
}
.p-price-guide__links .c-button-outline-pill,
.p-price-guide__links .c-button-pill {
  gap: 0.5rem;
}
.p-price-guide__links .c-button-pill {
  font-size: max(1rem, 10px);
}
.p-price-guide__links .c-button-pill[data-color=download] {
  padding-block: 0.6875rem;
}
.p-price-guide__visual img {
  width: 100%;
  max-width: 12.5rem;
  height: auto;
  margin-inline: auto;
}
.l-price-change {
  margin-block-start: 2.25rem;
}
.p-price-change__banner {
  display: grid;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-price-change__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-price-change__button {
  justify-self: center;
}
.p-price-change__button.c-button-pill[data-color=nav] {
  border: none;
}
.p-price-change__button .c-icon-arrow-circle {
  color: inherit;
}
.l-price-estimate {
  margin-block-start: 3rem;
}
.p-estimate {
  padding-block: 2.5rem 3.5rem;
  background-color: #e8f0fd;
}
.p-estimate__title {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  color: var(--color-black);
}
.p-estimate__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-estimate__cases {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-estimate__case {
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-estimate__case-title {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  color: var(--color-brand-blue);
}
.p-estimate__case-text {
  margin-block-start: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-estimate__form {
  margin-block-start: 2rem;
  padding: 1.75rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-estimate__fieldset {
  border: 0;
}
.p-estimate__fieldset + .p-estimate__fieldset {
  margin-block-start: 2rem;
}
.p-estimate__legend {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.5909;
  color: var(--color-black);
}
.p-estimate__desc {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-estimate__field {
  margin-block-start: 1.25rem;
  padding-block-end: 1.25rem;
  border-block-end: 1px solid #d5d7da;
}
.p-estimate__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-estimate__label-sub {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
}
.p-estimate__required {
  display: grid;
  place-items: center;
  min-width: 2.875rem;
  min-height: 1.625rem;
  padding-inline: 0.375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-white);
  background-color: #d64a4a;
}
.p-estimate__required--any {
  color: var(--color-black);
  background-color: #d5d7da;
}
.p-estimate__control {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 0.625rem;
}
.p-estimate__input,
.p-estimate__select,
.p-estimate__textarea {
  width: 100%;
  min-width: 0;
  margin-block-start: 0.625rem;
  padding: 0.75rem 0.875rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid #c9ccd1;
}
.p-estimate__control .p-estimate__input {
  margin-block-start: 0;
}
.p-estimate__select {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.p-estimate__unit {
  flex-shrink: 0;
  font-size: max(1rem, 10px);
  font-weight: 700;
  color: var(--color-black);
}
.p-estimate__textarea {
  resize: vertical;
}
.p-estimate__agree {
  margin-block-start: 1.75rem;
  text-align: center;
}
.p-estimate__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
  cursor: pointer;
}
.p-estimate__checkbox input {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: var(--color-brand-blue);
}
.p-estimate__checkbox a {
  text-decoration: underline;
}
.p-estimate__submit {
  display: grid;
  justify-content: center;
  margin-block-start: 1.5rem;
}
.p-estimate__button {
  min-width: 17.83125rem;
  min-height: 4rem;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
}
.p-promo-box__box {
  display: grid;
  gap: 1.75rem;
  padding: 2rem var(--inner-padding);
  background-color: var(--color-surface-gray);
}
.p-promo-box__logo {
  display: inline-grid;
  place-items: center;
  min-width: 6.875rem;
  min-height: 2.5rem;
  padding-inline: 0.75rem;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-promo-box__title {
  margin-block-start: 1.25rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.2791;
  color: var(--color-black);
}
.p-promo-box__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-promo-box__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.5rem;
}
.p-promo-box__tag {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-block: 0.5rem;
  padding-inline: 0.875rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 0.25rem;
}
.p-promo-box__tag img {
  flex-shrink: 0;
  width: 1.125rem;
  height: auto;
}
.p-promo-box__visual img {
  width: 100%;
  height: auto;
}
.p-promo-box__visual--card {
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-promo-box__visual--frame {
  aspect-ratio: 507/371;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-promo-box__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-recruit-hero {
  position: relative;
  display: flex;
  align-items: center;
  isolation: isolate;
  padding-block: 2.5rem;
  background-color: var(--color-black);
}
.p-recruit-hero__inner {
  flex: 1 1 auto;
}
.p-recruit-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.81;
}
.p-recruit-hero__catch {
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.6923;
  color: var(--color-white);
}
.p-recruit-hero__lead {
  margin-block-start: 0.75rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-white);
}
.p-recruit-hero__catch br,
.p-recruit-hero__lead br,
.p-recruit-mission__lead br,
.p-recruit-positions__lead br {
  display: none;
}
.l-recruit-message {
  margin-block-start: 2.5rem;
}
.p-recruit-message__body {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-recruit-message__figure img {
  display: block;
  width: 100%;
  max-width: 17.5rem;
  height: auto;
  margin-inline: auto;
  aspect-ratio: 373/440;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit-message__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
.p-recruit-message__paragraph {
  margin-block-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-message__sign {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-recruit-message__sign-role {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-recruit-message__sign-name {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-black);
}
.l-recruit-mission {
  margin-block-start: 3rem;
}
.p-recruit-mission__body {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-recruit-mission__title {
  font-size: max(1.875rem, 10px);
  font-weight: 700;
  line-height: 1.26;
  color: var(--color-brand);
}
.p-recruit-mission__lead {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.l-recruit-about {
  margin-block-start: 3rem;
}
.p-recruit-about__list {
  margin-block-start: 1.5rem;
}
.p-recruit-about__row {
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-block-start: 1.375rem;
}
.p-recruit-about__row:first-child {
  margin-block-start: 0;
}
.p-recruit-about__term {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 3px solid var(--color-brand-blue);
}
.p-recruit-about__desc {
  padding-block-end: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 1px solid #9ea0a2;
}
.p-recruit-about__shareholder {
  display: block;
}
.p-recruit-about__shareholder + .p-recruit-about__shareholder {
  margin-block-start: 1.0625rem;
}
.p-recruit-about__shareholder-name {
  display: block;
}
.p-recruit-about__shareholder-note {
  display: block;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  letter-spacing: 0.05em;
}
.p-recruit-about__button {
  min-width: 11.875rem;
  max-width: 11.875rem;
  margin-block-start: 1.5rem;
}
.p-recruit-work {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.l-recruit-work {
  margin-block-start: 3rem;
}
.p-recruit-work__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-work__list {
  margin-block-start: 1.5rem;
}
.p-recruit-work__row {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-recruit-work__row:first-child {
  margin-block-start: 0;
}
.p-recruit-work__pair {
  display: grid;
  grid-template-columns: 6.875rem minmax(0, 1fr);
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
}
.p-recruit-work__term {
  padding-block-end: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 3px solid var(--color-brand-blue);
}
.p-recruit-work__desc {
  padding-block-end: 0.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  border-block-end: 1px solid #9ea0a2;
}
.p-recruit-work__note {
  display: block;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  letter-spacing: 0.05em;
}
.p-recruit-work__item {
  position: relative;
  padding-inline-start: 1.625rem;
}
.p-recruit-work__item + .p-recruit-work__item {
  margin-block-start: 0.3125rem;
}
.p-recruit-work__item::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0.375rem;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
}
.l-recruit-positions {
  margin-block-start: 3rem;
}
.p-recruit-positions__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-positions__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.5rem;
}
.p-recruit-positions__card {
  padding: 1.5rem 1.25rem 1.75rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.p-recruit-positions__tag {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-recruit-positions__name {
  margin-block-start: 0.5625rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4583;
  color: var(--color-black);
}
.p-recruit-positions__name-sub {
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
}
.p-recruit-positions__foot {
  margin-block-start: 1rem;
}
.p-recruit-positions__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-positions__button {
  min-width: 11.875rem;
  max-width: 11.875rem;
  margin-block-start: 1rem;
}
.l-recruit-process {
  margin-block-start: 3rem;
}
.p-recruit-process__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-process__list {
  position: relative;
  display: grid;
  row-gap: 1.75rem;
  margin-block-start: 1.5rem;
  padding-inline-start: 0.75rem;
}
.p-recruit-process__step:not(:last-child)::before {
  position: absolute;
  inset-block: 1.28125rem calc(-1.75rem - 1.28125rem);
  inset-inline-start: 1.28125rem;
  width: 1px;
  content: "";
  background-color: var(--color-brand-blue);
}
.p-recruit-process__step {
  position: relative;
  display: grid;
  grid-template-columns: 2.5625rem 4.5rem minmax(0, 1fr);
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  align-items: start;
}
.p-recruit-process__num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  border-radius: 50%;
  background-color: var(--color-brand-blue);
  font-family: var(--font-family-en);
  font-size: max(1.5625rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
}
.p-recruit-process__icon {
  display: grid;
  place-items: center;
  min-height: 3.5rem;
}
.p-recruit-process__icon img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.p-recruit-process__name {
  font-size: max(1.0625rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-brand);
}
.p-recruit-process__text {
  margin-block-start: 0.25rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-recruit-snap {
  margin-block-start: 3rem;
  margin-block-end: 3rem;
}
.p-recruit-snap__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-snap__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  margin-block-start: 1.5rem;
}
.p-recruit-snap__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 270/203;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit-snap__caption {
  min-height: 1.0625rem;
  margin-block-start: 0.525rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.3077;
  letter-spacing: 0.05em;
  color: var(--color-black);
}
.l-recruit-faq {
  margin-block-start: 3rem;
}
.p-recruit-faq__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-recruit-snap__item {
  position: relative;
}
.p-recruit-snap__open {
  position: absolute;
  inset: 0;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.p-recruit-snap__open:focus-visible {
  outline: 2px solid var(--color-brand-blue);
  outline-offset: 2px;
}
.p-recruit-snap-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  place-items: center;
  background: rgba(0, 0, 0, 0.7);
}
.p-recruit-snap-modal.is-open {
  display: grid;
}
.p-recruit-snap-modal__box {
  position: relative;
  max-inline-size: min(100% - 5rem, 57.5rem);
  max-block-size: 88vh;
}
.p-recruit-snap-modal__image {
  display: block;
  inline-size: auto;
  max-inline-size: 100%;
  max-block-size: 88vh;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: var(--color-white);
  opacity: 1;
  transition: opacity 0.2s ease;
}
.p-recruit-snap-modal__image.is-fading {
  opacity: 0;
}
.p-recruit-snap-modal__caption {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
  margin-block-start: 0.625rem;
  font-size: max(0.75rem, 10px);
  color: var(--color-white);
  text-align: center;
}
.p-recruit-snap-modal__close,
.p-recruit-snap-modal__prev,
.p-recruit-snap-modal__next {
  position: absolute;
  padding: 0;
  cursor: pointer;
  background: none;
  border: 0;
}
.p-recruit-snap-modal__close:focus-visible,
.p-recruit-snap-modal__prev:focus-visible,
.p-recruit-snap-modal__next:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
.p-recruit-snap-modal__close {
  inset-block-start: -2.75rem;
  inset-inline-end: -0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  transition: opacity var(--hover-transition);
}
.p-recruit-snap-modal__close::before,
.p-recruit-snap-modal__close::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 1.5rem;
  height: 2px;
  content: "";
  background-color: var(--color-white);
}
.p-recruit-snap-modal__close::before {
  rotate: 45deg;
  translate: -50% -50%;
}
.p-recruit-snap-modal__close::after {
  rotate: -45deg;
  translate: -50% -50%;
}
.p-recruit-snap-modal__prev,
.p-recruit-snap-modal__next {
  display: grid;
  place-items: center;
  inset-block-start: 50%;
  width: 1.875rem;
  height: 2.75rem;
  background-color: var(--color-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  translate: 0 -50%;
  transition: opacity var(--hover-transition);
}
.p-recruit-snap-modal__prev {
  inset-inline-start: -2rem;
}
.p-recruit-snap-modal__next {
  inset-inline-end: -2rem;
}
.p-recruit-snap-modal__prev::after,
.p-recruit-snap-modal__next::after {
  position: absolute;
  inset: 0 -0.4375rem;
  content: "";
}
.p-recruit-snap-modal__chev {
  width: 0.625rem;
  height: 0.625rem;
  border-block-end: 2px solid var(--color-black);
  border-inline-end: 2px solid var(--color-black);
  rotate: -45deg;
  translate: -1px 0;
}
.p-recruit-snap-modal__prev {
  scale: -1 1;
}
body.is-snap-open {
  overflow: hidden;
}
.p-recruit-about__list {
  border-block-start: 2px solid var(--color-brand);
}
.p-recruit-about__row,
.p-recruit-about__row:first-child {
  -moz-column-gap: 0;
       column-gap: 0;
  margin-block-start: 0;
  border-block-end: 1px solid #dbdbdb;
}
.p-recruit-about__term {
  padding: 0.75rem;
  border-block-end: 0;
  background-color: var(--color-surface-gray);
}
.p-recruit-about__desc {
  padding: 0.75rem 0.5rem 0.75rem 0.75rem;
  border-block-end: 0;
}
.p-recruit-about__list,
.p-recruit-work__list {
  border-block-start: 2px solid var(--color-brand);
  border-inline: 1px solid #dbdbdb;
  background-color: var(--color-white);
}
.p-recruit-about__row,
.p-recruit-about__row:first-child,
.p-recruit-work__pair {
  display: block;
  -moz-column-gap: 0;
       column-gap: 0;
  margin-block-start: 0;
  border-block-end: 1px solid #dbdbdb;
}
.p-recruit-work__row,
.p-recruit-work__row:first-child {
  display: block;
  gap: 0;
  margin-block-start: 0;
}
.p-recruit-about__term,
.p-recruit-work__term {
  padding: 0.625rem 0.875rem;
  border-block-end: 0;
  background-color: var(--color-surface-gray);
}
.p-recruit-about__desc,
.p-recruit-work__desc {
  padding: 0.75rem 0.875rem 1rem;
  border-block-end: 0;
}
.p-recruit-about__button {
  margin-inline: auto;
}
.p-recruit-positions__tag {
  color: var(--color-brand);
  background-color: var(--color-white);
  box-shadow: inset 0 0 0 1px var(--color-brand);
}
.p-recruit-positions__button {
  margin-inline: auto;
}
.p-related-features__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 2rem;
}
.p-related-features__item {
  display: grid;
}
.p-related-features__card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  border-radius: 0.5rem;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-related-features__thumb {
  display: block;
  aspect-ratio: 380/242;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-related-features__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 4.25rem;
  padding-inline: 1.25rem 1rem;
}
.p-related-features__name {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
.p-related-features__card .c-icon-arrow-circle {
  color: var(--color-brand);
}
.p-doc-detail-breadcrumb {
  display: none;
}
.p-doc-detail__layout {
  display: grid;
  gap: 2rem;
}
.p-tag.p-doc-detail__tag {
  min-height: 1.9375rem;
}
.p-doc-detail__title {
  margin-block-start: 1rem;
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-black);
}
.p-doc-detail__covers {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1.125rem;
  margin-block-start: 1.5rem;
}
.p-doc-detail__cover {
  width: 13.75rem;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-doc-detail__cover--empty {
  aspect-ratio: 418/595;
}
.p-doc-detail__pages {
  display: grid;
  grid-template-columns: repeat(2, 5.8125rem);
  gap: 0.625rem 0.5625rem;
}
.p-doc-detail__pages img {
  display: block;
  width: 5.8125rem;
  height: auto;
  aspect-ratio: 93/132;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-doc-detail__desc {
  margin-block-start: 1.5rem;
  font-size: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-dot-list {
  margin-block-start: 0.875rem;
}
.p-dot-list__item {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-dot-list__item + .p-dot-list__item {
  margin-block-start: 0.5rem;
}
.p-dot-list__item::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-dot-list--sm .p-dot-list__item {
  font-size: max(0.9375rem, 10px);
  line-height: 1.875;
}
.p-num-list {
  margin-block-start: 0.875rem;
  counter-reset: num;
}
.p-num-list__item {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
  counter-increment: num;
}
.p-num-list__item + .p-num-list__item {
  margin-block-start: 0.3125rem;
}
.p-num-list__item::before {
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-brand-blue);
  content: counter(num) ".";
}
.p-doc-detail__body,
.p-seminar-detail__content {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-doc-detail__body > * + *,
.p-seminar-detail__content > * + * {
  margin-block-start: 0.875rem;
}
.p-doc-detail__body > :first-child,
.p-seminar-detail__content > :first-child {
  margin-block-start: 0;
}
.p-doc-detail__body p,
.p-seminar-detail__content p {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2;
  color: var(--color-black);
}
.p-doc-detail__body h2,
.p-seminar-detail__content h2 {
  --heading-dots-pad-inline: 1.375rem;
  position: relative;
  padding-inline-start: var(--heading-dots-pad-inline);
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-doc-detail__body h2,
.p-seminar-detail__content h2 {
  color: var(--color-black);
}
.p-doc-detail__body h2::before,
.p-seminar-detail__content h2::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='29'%20viewBox='0%200%2012%2029'%20fill='none'%3e%3ccircle%20cx='6'%20cy='6'%20r='6'%20fill='%23306CD3'/%3e%3ccircle%20cx='6'%20cy='23'%20r='6'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  width: 0.625rem;
  height: 1.5rem;
}
.p-doc-detail__body > h2,
.p-seminar-detail__content > h2 {
  margin-block-start: 2.25rem;
}
.p-doc-detail__body h3,
.p-seminar-detail__content h3 {
  position: relative;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-seminar-detail__content h3 {
  padding-inline-start: 1.25rem;
}
.p-seminar-detail__content h3::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-doc-detail__body > h3,
.p-seminar-detail__content > h3 {
  margin-block-start: 2.25rem;
}
.p-doc-detail__body li,
.p-seminar-detail__content li {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8889;
  color: var(--color-black);
}
.p-doc-detail__body li + li,
.p-seminar-detail__content li + li {
  margin-block-start: 0.5rem;
}
.p-seminar-detail__content .text-check__list > li {
  padding-inline-start: 0.3125rem;
}
.p-doc-detail__body ul:not(.text-check__list) > li::before,
.p-seminar-detail__content ul:not(.text-check__list) > li::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
.p-doc-detail__body ol,
.p-seminar-detail__content ol {
  counter-reset: doc-ol;
}
.p-doc-detail__body ol > li,
.p-seminar-detail__content ol > li {
  counter-increment: doc-ol;
}
.p-doc-detail__body ol > li + li,
.p-seminar-detail__content ol > li + li {
  margin-block-start: 0.3125rem;
}
.p-doc-detail__body ol > li::before,
.p-seminar-detail__content ol > li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  color: var(--color-brand-blue);
  content: counter(doc-ol) ".";
}
.p-doc-detail__body {
  margin-block-start: 1.75rem;
}
.p-doc-detail__form {
  padding: 1.5rem 1.25rem 2rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-doc-detail__form .c-form-embed {
  max-width: 100%;
}
.p-lead-form {
  padding: 1.5rem 1.25rem 2rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-lead-form__title {
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--color-brand);
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  color: var(--color-brand);
  text-align: center;
}
.p-lead-form__fields {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-lead-form__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  min-height: 2.3125rem;
}
.p-lead-form__label {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-lead-form__badge {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 3.625rem;
  min-height: 2.3125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border: 1px solid var(--color-brand-blue);
}
.p-lead-form__badge--optional {
  color: #9ea0a2;
  background-color: var(--color-white);
  border-color: #9ea0a2;
}
.p-lead-form__input {
  display: block;
  width: 100%;
  min-height: 3.875rem;
  padding-inline: 0.8125rem;
  border: 1px solid #cdd6dd;
  border-radius: 0;
  background-color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-lead-form__input::-moz-placeholder {
  color: #9ea0a2;
}
.p-lead-form__input::placeholder {
  color: #9ea0a2;
}
.p-lead-form__input--select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-inline-end: 2.5rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3e%3cpath d='M1 1L7 7L13 1' stroke='%23000' stroke-width='1.6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}
.p-lead-form__agree {
  margin-block-start: 1.5rem;
  text-align: center;
}
.p-lead-form__agree-label {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-lead-form__checkbox {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-brand);
}
.p-lead-form__action {
  margin-block-start: 1rem;
  text-align: center;
}
.p-lead-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 21.33125rem;
  min-height: 4rem;
  padding-inline: 1.5rem;
  border: 2px solid var(--color-accent-yellow);
  border-radius: 100vh;
  background-color: var(--color-accent-yellow);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.9091;
  color: var(--color-black);
}
.l-doc-detail {
  margin-block-start: 1.5rem;
  margin-block-end: 2.5rem;
}
.l-doc-heading {
  margin-block-start: 2.25rem;
}
.l-doc-heading--tight {
  margin-block-start: 1.75rem;
}
.l-doc-heading--wide {
  margin-block-start: 2.25rem;
}
.l-doc-related-head {
  margin-block-start: 2.5rem;
}
.l-doc-related-grid {
  margin-block-start: 1.25rem;
}
.l-doc-related-grid .p-resource-button {
  gap: 0.625rem;
  min-height: 1.875rem;
  padding-inline: 0.75rem;
  border-color: var(--color-accent-yellow);
  background-color: var(--color-accent-yellow);
  color: var(--color-black);
  font-size: max(0.75rem, 10px);
}
.l-doc-related-grid .p-resource-button__icon {
  width: 1rem;
  height: 1rem;
  filter: none;
}
.p-resources-intro__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.6923;
  color: var(--color-brand);
}
.p-resources-intro__text {
  margin-block-start: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-resources-filter {
  padding: 1.5rem 1.25rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-resources-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-resources-filter__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-black);
}
.p-resources-filter__text + .p-resources-filter__list {
  margin-block-start: 1.5rem;
}
.p-resources-filter__chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.6875rem;
  padding: 0.3125rem 0.9375rem;
  border: 1px solid var(--color-brand);
  border-radius: 100vh;
  background-color: var(--color-white);
  color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
}
.p-resources-filter__chip.is-current {
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-resources-headbar {
  display: grid;
  align-items: center;
}
.p-resources-headbar::before {
  background-color: var(--color-brand);
}
.p-resource-grid {
  display: grid;
  gap: 1.25rem;
}
.p-resource-card {
  display: block;
  height: 100%;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  color: inherit;
}
.l-resources-grid .p-resource-card {
  display: flex;
  flex-direction: column;
  padding: 1.875rem;
  border: 0;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.l-resources-grid .p-resource-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.l-resources-grid .p-resource-card__action {
  margin-block-start: auto;
  padding-block-start: 1.875rem;
}
.l-resources-grid .p-resource-card__action:last-child {
  margin-block-end: 2.875rem;
}
.p-resource-card__thumb-link {
  display: block;
  color: inherit;
}
.p-resource-card__thumb {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-resource-card__thumb--empty {
  aspect-ratio: 3/2;
}
.p-resource-card__body {
  margin-block-start: 1.25rem;
}
.p-resource-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
}
.p-resource-card__title {
  margin-block-start: 0.875rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4583;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-resource-card__link {
  display: inline;
  color: inherit;
}
.p-resource-card__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
  margin-block-start: 0.875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-resource-card__action {
  margin-block-start: 1.875rem;
  text-align: center;
}
.p-resource-card__toc {
  margin-block-start: 1rem;
  text-align: center;
}
.p-resource-button {
  display: inline-flex;
  align-items: center;
  gap: 0.44375rem;
  min-height: 3rem;
  padding-inline: 1.5rem 1.625rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 100vh;
  background-color: var(--color-brand-blue);
  box-shadow: none;
  color: var(--color-white);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  --hover-opacity: 0.8;
}
.p-resource-button__icon {
  flex-shrink: 0;
  width: 1.13125rem;
  height: auto;
  filter: brightness(0) invert(1);
}
.l-resources-intro {
  margin-block-start: 1.5rem;
}
.l-resources-list {
  margin-block-start: 1.75rem;
  margin-block-end: 2.5rem;
}
.l-resources-filter-head {
  margin-block-start: 2rem;
  margin-block-end: 1.25rem;
}
.l-resources-headbar {
  margin-block-start: 2rem;
}
.l-resources-grid {
  margin-block-start: 1.25rem;
}
.l-resources-pagination {
  margin-block-start: 0.5rem;
}
:is(.post-type-archive-knowhow, .tax-knowhow_cat, .tax-knowhow_purpose, .tax-knowhow_type, .tax-knowhow_use) .p-resource-card__tags .p-tag {
  border-radius: 0;
}
.p-resources-headbar.l-resources-filter-head {
  display: none;
}
.p-safety-concerns {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.75rem;
  margin-block-start: 1.25rem;
}
.p-safety-concerns__item {
  display: grid;
  place-content: center;
  gap: 0.25rem;
  min-height: 4.5rem;
  padding: 0.625rem 0.75rem;
  text-align: center;
  background-color: var(--color-white);
  border: 3px solid var(--color-brand-blue);
  border-radius: 1.5rem;
}
.p-safety-concerns__name {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-brand-blue);
}
.p-safety-concerns__text {
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-safety-themes {
  margin-block-start: 5rem;
}
.p-safety-themes__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 2.5rem;
}
.p-safety-themes__card {
  position: relative;
  padding: 1.5rem 1.25rem 1.5rem;
  background-color: var(--color-surface-gray);
  border-radius: 0.5rem;
}
.p-safety-themes__thumb {
  position: absolute;
  inset-block-start: 1.5rem;
  inset-inline-end: 1.25rem;
  width: 4.5rem;
  height: auto;
}
.p-safety-themes__head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 4.5rem;
  padding-inline-end: 5.5rem;
}
.p-safety-themes__num {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 2rem;
  height: 2rem;
  font-family: var(--font-family-en);
  font-size: max(1.1875rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
}
.p-safety-themes__name {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-black);
}
.p-safety-themes__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-safety-flow {
  margin-block-start: 3rem;
}
.l-safety-cta {
  margin-block: 3rem;
}
.l-safety-ai {
  margin-block-start: 3rem;
}
.l-safety-copilot {
  margin-block-start: 1.5rem;
}
.l-safety-related {
  margin-block-start: 3.5rem;
}
.l-safety-salesforce {
  margin-block-start: 3.5rem;
}
.l-safety-issues {
  margin-block-start: 3.5rem;
  margin-block-end: 3.5rem;
}
.l-safety-related .p-related-features__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-safety-related .p-related-features__card {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.l-safety-related .p-related-features__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 380/242;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-safety-related .p-related-features__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 0.875rem;
}
.l-safety-related .p-related-features__name {
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-safety-salesforce .p-salesforce__inner {
  display: grid;
  gap: 1.75rem;
}
.l-safety-salesforce .p-salesforce__title {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.2558;
  color: var(--color-black);
}
.l-safety-salesforce .p-salesforce__title-logo {
  display: inline-block;
  width: 5rem;
  height: auto;
  vertical-align: -0.125rem;
}
.l-safety-salesforce .p-salesforce__intro {
  display: grid;
  align-items: start;
  gap: 0.75rem;
}
.l-safety-salesforce .p-salesforce__logo {
  width: 5rem;
  height: auto;
}
.l-safety-salesforce .p-salesforce__text {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-safety-salesforce .p-salesforce__points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5625rem;
  margin-block-start: 1rem;
}
.l-safety-salesforce .p-salesforce__point {
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  padding-block: 0.5rem;
  padding-inline: 2.125rem 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
}
.l-safety-salesforce .p-salesforce__point::before {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0.875rem;
  width: 0.6875rem;
  height: 0.375rem;
  content: "";
  border-inline-start: 2px solid var(--color-brand-blue);
  border-block-end: 2px solid var(--color-brand-blue);
  rotate: -45deg;
  translate: 0 -70%;
}
.l-safety-issues .p-other-issues__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.l-safety-issues .p-other-issues__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  height: 100%;
  padding: 1.25rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.l-safety-issues .p-other-issues__body {
  display: grid;
  justify-items: start;
  min-width: 0;
}
.l-safety-issues .p-other-issues__badge {
  display: grid;
  place-items: center;
  min-width: 4.625rem;
  min-height: 1.9375rem;
  padding-inline: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.l-safety-issues .p-other-issues__name {
  margin-block-start: 0.5625rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-safety-issues .p-other-issues__desc {
  margin-block-start: 0.375rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.l-safety-issues .p-other-issues__illust {
  flex-shrink: 0;
  width: 6.25rem;
  height: auto;
}
.l-safety-issues .p-other-issues__back {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-block-start: 1.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.l-safety-salesforce .p-salesforce__intro {
  grid-template-columns: none;
}
.l-safety-salesforce .p-salesforce__title {
  margin-block-start: 0;
}
.l-safety-salesforce .p-salesforce__logo {
  position: static;
  inset-block-start: auto;
  justify-self: center;
  margin-inline-end: 0;
}
.l-safety-issues .p-other-issues__illust {
  display: block;
}
.l-safety-related .p-related-features__list--3 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.p-salesforce__inner {
  display: grid;
  gap: 2rem;
}
.p-salesforce__title {
  margin-block-start: 0.5rem;
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.2558139535;
  color: var(--color-black);
}
.p-salesforce__title-lead {
  display: block;
}
.p-salesforce__title-main {
  display: block;
  margin-block-start: 0.4375rem;
}
.p-salesforce__logo {
  position: relative;
  inset-block-start: -0.21875rem;
  display: inline-block;
  width: 5.625rem;
  margin-inline-end: 0.75rem;
  vertical-align: bottom;
}
.p-salesforce__intro {
  display: grid;
  grid-template-columns: 5.625rem 1fr;
  gap: 0.75rem;
  align-items: start;
}
.p-salesforce__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-salesforce__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 1.25rem;
}
.p-salesforce__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.1875rem;
  min-height: 2.5625rem;
  padding-inline: 1.125rem 0.8125rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
  color: var(--color-black);
  background-color: var(--color-surface-gray);
}
.p-salesforce__tag img {
  flex-shrink: 0;
  width: 1rem;
}
.p-salesforce__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-salesforce__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  min-height: 3.18125rem;
  padding-inline: 2.3125rem 1.9375rem;
  border-radius: 100vh;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.8666666667;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
}
.p-seminar-detail__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.875rem;
}
.p-tag.p-seminar-detail__tag {
  min-height: 1.9375rem;
  border-radius: 0;
  color: var(--color-white);
  background-color: var(--color-brand);
  border-color: var(--color-brand);
  font-size: max(0.9375rem, 10px);
  line-height: 1.6667;
}
.p-seminar-detail__deadline {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 2.125;
  color: var(--color-brand-blue);
}
.p-seminar-detail__title {
  margin-block-start: 1rem;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  line-height: 1.3333;
  color: var(--color-black);
}
.p-seminar-detail__datetime {
  display: flex;
  align-items: flex-start;
  gap: 0.6875rem;
  margin-block-start: 1.25rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8636;
  color: var(--color-black);
}
.p-seminar-detail__icon {
  flex-shrink: 0;
  width: 1rem;
  height: auto;
  margin-block-start: 0.375rem;
}
.p-seminar-detail__datetime .p-seminar-detail__icon {
  width: 1.0625rem;
  margin-block-start: 0.6875rem;
}
.p-seminar-detail__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 1.125rem;
  margin-block-start: 0.625rem;
}
.p-seminar-detail__fact {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-seminar-detail__rule {
  margin-block-start: 1.5rem;
  border: 0;
  border-block-start: 1px solid var(--color-brand);
}
.p-seminar-detail__body {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-seminar-detail__body p + p {
  margin-block-start: 1.5rem;
}
.p-seminar-detail__content {
  margin-block-start: 1.5rem;
}
.p-timetable {
  margin-block-start: 1rem;
}
.p-timetable__row {
  display: grid;
  gap: 0.25rem;
}
.p-timetable__row + .p-timetable__row {
  margin-block-start: 1rem;
}
.p-timetable__time {
  position: relative;
  display: block;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-timetable__time::after {
  position: absolute;
  inset-block-end: -0.125rem;
  inset-inline: 0;
  height: 0.1875rem;
  background-color: var(--color-brand-blue);
  content: "";
}
.p-timetable__title {
  display: block;
  padding-block-end: 0.125rem;
  border-block-end: 1px solid #9ea0a2;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-speaker {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  margin-block-start: 1rem;
}
.p-speaker > p:empty {
  display: none;
}
.p-speaker__photo {
  flex-shrink: 0;
  width: 7.5rem;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.p-speaker__bubble {
  position: relative;
  min-width: 0;
  padding: 1.15625rem 1.25rem 1.25625rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-speaker__bubble::before {
  position: absolute;
  inset-block-start: 2.125rem;
  inset-inline-start: -1.25rem;
  border-width: 0.875rem 1.25rem 0.875rem 0;
  border-style: solid;
  border-color: transparent var(--color-surface-gray) transparent transparent;
  content: "";
}
.p-speaker__name {
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
}
.p-speaker__role {
  margin-block-start: 0.09375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-brand);
}
.p-speaker__bio {
  margin-block-start: 0.1875rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.6667;
  color: var(--color-black);
}
.p-lead-form--seminar {
  padding-block-end: 1.5rem;
}
.l-seminar-detail {
  margin-block-start: 1.5rem;
  margin-block-end: 2.5rem;
}
.l-seminar-detail-heading {
  margin-block-start: 2.25rem;
}
.l-seminar-detail-heading--first {
  margin-block-start: 1.5rem;
}
.p-seminar-side {
  margin-block-start: 2.5rem;
}
.p-seminar-side__title {
  position: relative;
  padding-inline-start: 1.3125rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
}
.p-seminar-side__title::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.25rem;
  height: 1.125rem;
  translate: 0 -50%;
  border-radius: 0.125rem;
  background-color: var(--color-brand);
}
.p-seminar-side__list {
  margin-block-start: 1.25rem;
}
.p-seminar-side__item + .p-seminar-side__item {
  margin-block-start: 1.25rem;
}
.p-seminar-side__link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: inherit;
}
.p-seminar-side__thumb {
  flex-shrink: 0;
  display: block;
  inline-size: 3.375rem;
  overflow: hidden;
  border-radius: 0.25rem;
  background-color: var(--color-surface-gray);
}
.p-seminar-side[aria-labelledby=seminar-side-docs] .p-seminar-side__thumb {
  aspect-ratio: 3/2;
}
.p-seminar-side[aria-labelledby=seminar-side-cases] .p-seminar-side__thumb {
  aspect-ratio: 1024/472;
}
.p-seminar-side__img {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-seminar-side__text {
  min-inline-size: 0;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black);
}
.p-seminar__spr-inner {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  margin-block-start: 1rem;
}
.p-seminar__spr-inner > p:empty,
.p-seminar__spr-profile > p:empty {
  display: none;
}
.p-seminar__spr-img {
  flex-shrink: 0;
  inline-size: 7.5rem;
}
.p-seminar__spr-img img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  margin-inline: 0;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.p-seminar__spr-profile {
  display: flex;
  flex-direction: column;
  position: relative;
  min-inline-size: 0;
  flex: 1 1 15rem;
  padding: 1.15625rem 1.25rem 1.25625rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-seminar__spr-profile::before {
  position: absolute;
  inset-block-start: -1.25rem;
  inset-inline-start: 2.125rem;
  border-width: 0 0.875rem 1.25rem;
  border-style: solid;
  border-color: transparent transparent var(--color-surface-gray);
  content: "";
}
@container (min-width: 376px) {
  .p-seminar__spr-profile::before {
    inset-block-start: 2.125rem;
    inset-inline-start: -1.25rem;
    border-width: 0.875rem 1.25rem 0.875rem 0;
    border-color: transparent var(--color-surface-gray) transparent transparent;
  }
}
@container (max-width: 375.98px) {
  .p-seminar__spr-profile::before {
    inset-block-start: -1.25rem;
    inset-inline-start: 2.125rem;
    border-width: 0 0.875rem 1.25rem;
    border-color: transparent transparent var(--color-surface-gray);
  }
}
.p-seminar-detail__content .p-seminar__spr-name {
  order: 1;
  font-size: max(1.125rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
}
.p-seminar-detail__content .p-seminar__spr-position {
  order: 2;
  margin-block-start: 0.09375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-brand);
}
.p-seminar-detail__thumb {
  display: block;
  width: 100%;
  height: auto;
  margin-block-start: 1.5rem;
  box-shadow: 0 0.1875rem 0.375rem 0 rgba(0, 0, 0, 0.15);
}
.p-seminar-detail__table {
  width: 100%;
  table-layout: fixed;
  border: 1px solid #242e4d;
  word-break: normal;
  overflow-wrap: anywhere;
}
.p-seminar-detail__table-scroll {
  margin-block-start: 1.5rem;
  margin-block-end: 1.5rem;
}
.p-seminar-detail__table th,
.p-seminar-detail__table td {
  padding: 0.9375rem 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  vertical-align: middle;
}
.p-seminar-detail__table th {
  width: 5.5rem;
  padding-inline: 0.625rem;
  font-weight: 700;
  text-align: center;
  color: var(--color-white);
  background-color: #242e4d;
}
.p-seminar-detail__table td {
  text-align: start;
  color: var(--color-black);
  background-color: var(--color-white);
}
.p-seminar-detail__table tr:not(:last-child) th {
  border-block-end: 1px solid var(--color-white);
}
.p-seminar-detail__table tr:not(:last-child) td {
  border-block-end: 1px solid #242e4d;
}
.p-seminar-detail__content p + p {
  margin-block-start: 1.25rem;
}
.p-seminar-detail .p-doc-detail__form .c-form-embed__frame {
  height: max(var(--form-embed-height, 75rem), 93.75rem);
}
.p-seminar-detail .p-doc-detail__side > * + .p-blog-side__doc-slot {
  margin-block-start: 1.875rem;
}
.p-seminar-detail__content .l-block {
  width: 100%;
  margin-inline: auto;
  padding: 2.5rem 1.25rem;
  background-color: var(--color-white);
}
.p-seminar-detail__content .l-block.bg-blue {
  margin-block-start: 1.875rem;
  background-color: #edeff4;
}
.p-seminar-detail__content .p-seminar__block {
  margin-block-end: 1.875rem;
}
.p-seminar-detail__closed {
  padding: 1.5rem 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.7;
  color: var(--color-black);
  text-align: center;
}
.p-seminar-intro__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.6923;
  color: var(--color-brand-blue);
}
.p-seminar-intro__text {
  margin-block-start: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-seminar-tabs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem;
}
.p-seminar-tabs__tab {
  display: grid;
  place-items: center;
  min-height: 3.25rem;
  padding: 0.625rem 0.875rem;
  border: 1px solid #d2d2d2;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: var(--color-white);
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
}
.p-seminar-tabs__tab--current {
  position: relative;
  z-index: 1;
  min-height: 3.5rem;
  border-color: transparent;
  background-color: var(--color-surface-gray);
  font-size: max(0.9375rem, 10px);
}
.p-seminar-panel {
  position: relative;
  margin-block-start: -0.625rem;
  padding: 1.75rem 1.25rem 2rem;
  background-color: var(--color-surface-gray);
}
.p-seminar-list {
  display: grid;
  gap: 1.25rem;
}
.p-seminar-card {
  display: block;
  height: 100%;
  padding: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  color: inherit;
}
.p-seminar-card__date {
  display: flex;
  align-items: flex-start;
  gap: 0.5625rem;
  margin-block-start: 0.75rem;
}
.p-seminar-card__icon {
  flex-shrink: 0;
  width: 1rem;
  height: auto;
  margin-block-start: 0.3125rem;
}
.p-seminar-card__date-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  min-width: 0;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-seminar-card__time {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.3077;
  letter-spacing: 0.05em;
}
.p-seminar-card__thumb-wrap {
  display: block;
}
.p-seminar-card__deadline {
  margin-block-end: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-brand-blue);
}
.p-seminar-card__thumb {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-seminar-card__thumb--empty {
  aspect-ratio: 3/2;
}
.p-seminar-card__body {
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
}
.p-seminar-card__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.4583;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-seminar-card__link {
  color: inherit;
}
.p-seminar-card__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
  margin-block-start: 0.73125rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-seminar-card__action {
  display: flex;
  justify-content: center;
  margin-block-start: auto;
  padding-block-start: 1.25rem;
}
.l-seminar-intro {
  margin-block-start: 1.5rem;
}
.l-seminar {
  margin-block-start: 1.75rem;
  margin-block-end: 2.5rem;
}
.p-seminar__pagination {
  margin-block-start: 0.5rem;
}
.p-service-float {
  display: none;
}
.p-single__thumbnail img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-single__title {
  margin-block-start: 1.25rem;
  font-size: max(1.5rem, 10px);
}
.p-single__meta {
  margin-block-start: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.p-single__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.p-single__term-link {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border: 1px solid;
}
.p-single__content {
  margin-block-start: 2.5rem;
}
.p-single__post-nav {
  margin-block-start: 3.75rem;
}
.p-sitemap {
  padding-block: 3rem 4rem;
  color: var(--color-black);
  background-color: var(--color-white);
}
.p-sitemap__category {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.p-sitemap__category:not(:last-child) {
  padding-block-end: 3.5rem;
}
.p-sitemap__sub {
  margin-block-start: 1.25rem;
}
.p-sitemap__sub + .p-sitemap__sub {
  margin-block-start: 1rem;
}
.p-sitemap__category:not(:has(.p-sitemap__category-title)) .p-sitemap__sub {
  margin-block-start: 0;
}
.p-sitemap__list > .p-sitemap__item:not(:first-child):has(> .p-sitemap__children),
.p-sitemap__list > .p-sitemap__item:has(> .p-sitemap__children) + .p-sitemap__item {
  margin-block-start: 0.9375rem;
}
.p-sitemap__link {
  --sitemap-link-pad-block: 0.375rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding-block: var(--sitemap-link-pad-block);
  color: inherit;
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.5;
}
.p-sitemap__link-text {
  min-width: 0;
}
.p-sitemap__children .p-sitemap__link {
  font-weight: 400;
}
.p-sitemap__children {
  --sitemap-tree-line: 1px solid #c9ccd1;
  --sitemap-tree-mid: calc(var(--sitemap-link-pad-block, 0.375rem) + 0.75em);
  margin-inline-start: 0.5rem;
  font-size: max(0.875rem, 10px);
}
.p-sitemap__child {
  position: relative;
  padding-inline-start: 1.5rem;
}
.p-sitemap__child::before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  border-inline-start: var(--sitemap-tree-line);
  content: "";
}
.p-sitemap__child:last-child::before {
  inset-block-end: auto;
  block-size: var(--sitemap-tree-mid);
}
.p-sitemap__child::after {
  position: absolute;
  inset-block-start: var(--sitemap-tree-mid);
  inset-inline-start: 0;
  inline-size: 1rem;
  border-block-start: var(--sitemap-tree-line);
  content: "";
}
.p-structure__box {
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-structure__box--plain {
  padding-block: 0;
  background-color: transparent;
}
.p-structure__title {
  font-size: max(1.375rem, 10px);
  font-weight: 700;
  line-height: 1.1622;
  text-align: center;
  color: var(--color-black);
}
.p-structure__lead {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  text-align: start;
  color: var(--color-brand-blue);
}
.p-structure__diagram {
  display: grid;
  gap: 0.75rem;
  margin-block-start: 1.75rem;
}
.p-structure__node {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.625rem;
  min-height: 10rem;
  padding: 1.25rem 1rem;
  border: 1px solid #dcdee1;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-structure__node img {
  width: auto;
  max-height: 4.75rem;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-structure__node--device img {
  max-height: 4.375rem;
  max-width: 7.25rem;
}
.p-structure__node-name {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--color-black);
}
.p-structure__node-tag {
  display: grid;
  place-items: center;
  min-height: 1.875rem;
  padding-inline: 0.625rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.7857;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-structure__node-tag--plain {
  color: var(--color-black);
  background-color: transparent;
}
.p-structure__group {
  display: grid;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: 0.5rem;
}
.p-structure__plus {
  align-self: center;
  justify-self: center;
  font-size: max(1.5rem, 10px);
  font-weight: 700;
  color: var(--color-brand);
}
.p-structure__arrow {
  margin-inline: auto;
  justify-self: center;
  width: 0;
  height: 0;
  margin-block-start: 1.5rem;
  border-inline: 1.375rem solid transparent;
  border-block-start: 1.875rem solid var(--color-brand);
}
.p-structure__subtitle {
  margin-block-start: 1.25rem;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.8333;
  text-align: start;
  color: var(--color-black);
}
.p-structure__combos {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-structure__combo {
  position: relative;
  --combo-label-inline-start: 0.8125rem;
  padding: 2rem 1.25rem 1.5rem;
  border: 2px solid transparent;
  border-radius: 0.5rem;
  background-color: var(--color-white);
}
.p-structure__combo::before {
  position: absolute;
  pointer-events: none;
  content: "";
}
.p-structure__combo::before {
  inset: -0.125rem;
  border: 2px solid var(--color-brand-blue);
  border-radius: inherit;
}
.p-structure__combo-label {
  position: absolute;
  z-index: 1;
  inset-block-start: -0.875rem;
  inset-inline-start: var(--combo-label-inline-start);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-inline: 0.5rem;
  font-size: max(1rem, 10px);
  font-weight: 900;
  line-height: 1.8889;
  color: var(--color-brand-blue);
  background-image: linear-gradient(to bottom, transparent 0.75rem, var(--color-white) 0.75rem);
}
.p-structure__combo-num {
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  font-size: max(1.5625rem, 10px);
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
}
.p-structure__combo-devices {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
}
.p-structure__device {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.625rem;
  flex: 1 1 0;
  padding: 1rem 0.75rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
}
.p-structure__device--accent {
  background-color: #eaf1fd;
}
.p-structure__device img {
  width: auto;
  max-height: 4.625rem;
  max-width: 8.25rem;
}
.p-structure__device-name {
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 1.625;
  text-align: center;
  color: var(--color-black);
}
.p-structure__combo-text {
  margin-block-start: 1.5rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.875;
  color: var(--color-black);
}
.p-structure__combo-title {
  margin-block-start: 1.5rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 2.2;
  color: var(--color-black);
}
.p-structure__points {
  display: grid;
  gap: 0.5rem;
  margin-block-start: 0.5rem;
}
.p-structure__point {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-structure__point--em {
  font-weight: 700;
  color: var(--color-brand-blue);
}
.p-structure__point::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.4375rem;
  height: 0.4375rem;
  content: "";
  border-radius: 50%;
  background-color: var(--color-black);
  translate: 0 -50%;
}
.p-structure__point--em::before {
  background-color: var(--color-black);
}
.p-success-links {
  margin-block-start: 3rem;
}
.p-success-links__list {
  display: grid;
  gap: 0.75rem;
}
.p-success-links__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 5.5rem;
  height: 100%;
  padding: 1rem 1.25rem;
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: 0.5rem;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-success-links__text {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.5;
}
.p-success-links__card .c-icon-arrow-circle {
  flex-shrink: 0;
  color: var(--color-brand);
}
.p-tag {
  display: inline-grid;
  place-items: center;
  min-height: 1.6875rem;
  padding-inline: 0.625rem;
  border-radius: 100vh;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.6667;
  color: var(--color-brand);
  background-color: var(--color-white);
  border: 1px solid var(--color-brand);
  white-space: nowrap;
}
.p-tag--outline {
  color: var(--color-brand);
  background-color: var(--color-white);
}
.p-tag--fill {
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-tag--blue {
  min-height: 1.875rem;
  font-size: max(1rem, 10px);
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-color: var(--color-brand-blue);
}
.p-tag--lg {
  min-height: 2rem;
  font-size: max(1.125rem, 10px);
  line-height: 1.6667;
}
.p-tag__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
}
.p-theme-cards__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
}
.p-theme-cards__item {
  display: grid;
}
.p-theme-cards__card {
  display: grid;
  grid-template-columns: 2rem 4.75rem minmax(0, 1fr);
  align-content: start;
  align-items: start;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 1rem;
  padding-block: 1.5rem 1.5rem;
  padding-inline: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-theme-cards__num {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  font-family: var(--font-family-en);
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  border-radius: 50%;
}
.p-theme-cards__name {
  grid-column: 2/-1;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-black);
}
.p-theme-cards__illust {
  grid-column: 1/3;
}
.p-theme-cards__text {
  grid-column: 3;
  align-self: start;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-theme-cards__illust .u-img-missing {
  aspect-ratio: 1/1;
  min-height: 0;
}
.p-archive-card__thumb--empty,
.p-blog-side__rec-thumb--empty,
.p-news-list__thumb--empty,
.p-news-detail__thumb--empty,
.p-blog-detail__hero--empty,
.p-resource-card__thumb--empty,
.p-seminar-card__thumb--empty,
.p-doc-detail__cover--empty,
.p-case-detail__hero-img--empty {
  display: block;
  background-color: #ccc;
}
.p-case-detail__hero-img--empty {
  width: 100%;
  aspect-ratio: 833/469;
  border-radius: 0.5rem;
}
.p-archive-empty {
  padding-block: 2.5rem;
  text-align: center;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-black);
}
.p-toggle-nav-items__button {
  display: flex;
  align-items: center;
  width: 100%;
  padding-inline-end: 1rem;
  padding-block: 1rem;
}
.p-toggle-nav-items__button::after {
  flex-shrink: 0;
  order: 2;
  width: 0.5875rem;
  aspect-ratio: 9.4/6.1;
  margin-inline-start: auto;
  background: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='9.4'%20height='6.1'%20viewBox='0%200%209.4%206.1'%3e%3cpath%20id='パス_36'%20data-name='パス%2036'%20d='M6.7,8.1,2,3.4,3.4,2,6.7,5.3,10,2l1.4,1.4Z'%20transform='translate(-2%20-2)'%20fill='%23002680'/%3e%3c/svg%3e") no-repeat center/contain;
  content: "";
}
.p-toggle-nav-items__item.is-current .p-toggle-nav-items__button::before,
.p-toggle-nav-items__item.is-current-section .p-toggle-nav-items__button::before {
  flex-shrink: 0;
  order: 1;
  width: 0.375rem;
  aspect-ratio: 1;
  margin-inline-start: 0.375rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  content: "";
}
.p-toggle-nav-items__sub-item + .p-toggle-nav-items__sub-item {
  margin-block-start: 0.5rem;
}
.p-toggle-nav-items__sub-item.is-current .p-toggle-nav-items__sub-link::after,
.p-toggle-nav-items__sub-item.is-current-section .p-toggle-nav-items__sub-link::after {
  flex-shrink: 0;
  width: 0.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brand);
  content: "";
}
.p-toggle-nav-items__sub-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding-block: 0.5rem;
  padding-inline: 1em;
  background-color: var(--color-surface-gray);
}
.p-toggle-nav-items__item.is-current .p-toggle-nav-items__link::after,
.p-toggle-nav-items__item.is-current-section .p-toggle-nav-items__link::after {
  flex-shrink: 0;
  width: 0.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-brand);
  content: "";
}
.p-toggle-nav-items__link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding-block: 1rem;
  background-color: var(--color-white);
}
.p-top-about__card {
  display: grid;
  gap: 1.75rem;
  padding-block: 2rem;
  padding-inline: 1.5rem;
  background-color: var(--color-white);
  border: 0.375rem solid var(--color-brand-blue);
  border-radius: 1rem;
}
.p-top-about__body {
  min-width: 0;
}
.p-top-about__brand {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 0.375rem 0.5rem;
}
.p-top-about__logo {
  width: 5rem;
}
.p-top-about__brand-then {
  font-size: max(1.375rem, 10px);
  font-weight: 900;
  line-height: 1.037037037;
  color: var(--color-black);
}
.p-top-about__rule {
  display: block;
  width: 8.75rem;
  height: 0.1875rem;
  margin-block-start: 0.5rem;
  margin-inline: auto;
  border-radius: 0.3125rem;
  background-color: var(--color-accent-yellow);
}
.p-top-about__title {
  margin-block-start: 1rem;
  margin-inline-start: -1rem;
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.26;
  color: var(--color-black);
}
.p-top-about__title-line {
  display: block;
}
.p-top-about__text {
  margin-block-start: 1rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.8888888889;
  color: var(--color-black);
}
.p-top-about__body > .c-link-arrow {
  --link-arrow-font-size: max(0.9375rem, 10px);
  margin-block-start: 1.25rem;
  margin-inline-start: auto;
}
.p-top-about__visual {
  position: relative;
  width: min(100%, 25rem);
  justify-self: center;
}
.p-top-about__ui {
  width: 96%;
}
.p-top-about__illust {
  width: min(70%, 13.75rem);
  margin-block-start: -2.5rem;
  margin-inline-start: auto;
}
.p-top-cases {
  overflow-x: clip;
  padding-block: 2.5rem 3rem;
  background-color: var(--color-surface-gray);
}
.p-top-cases__head .c-section-head__title {
  font-weight: 700;
}
.p-top-cases__lead {
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
}
.p-top-cases__slider.splide {
  margin-block-start: 1.75rem;
}
.p-top-cases__track.splide__track {
  overflow: visible;
}
.p-top-cases__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
}
.p-top-cases__visual {
  overflow: hidden;
  aspect-ratio: 16/10;
}
.p-top-cases__visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-cases__body {
  display: grid;
  align-content: start;
  justify-items: start;
  padding-block: 1rem 1.125rem;
  padding-inline: 1rem;
}
.p-top-cases__badge {
  display: block;
  margin-block-start: 0.4375rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.5625;
  color: var(--color-brand-blue);
}
.p-top-cases__heading {
  margin-block-start: 0.625rem;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.4583333333;
}
.p-top-cases__text {
  max-width: 17.25rem;
  margin-block-start: 0.5rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-top-cases__body > .c-link-arrow {
  --link-arrow-gap: 0.625rem;
  --link-arrow-font-size: max(0.8125rem, 10px);
  margin-block-start: 0.75rem;
  justify-self: end;
}
.p-top-cases__progress {
  display: grid;
  justify-items: center;
  margin-block-start: 1.75rem;
}
.p-top-cases__progress-track {
  position: relative;
  width: min(100% - 3rem, 22.5rem);
  height: 0.625rem;
}
.p-top-cases__progress-dots {
  position: absolute;
  inset-block-start: 50%;
  inset-inline: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
  gap: 0.5rem;
  translate: 0 -50%;
}
.p-top-cases__progress-dot {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.p-top-cases__progress-dot::before {
  width: 0.5rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-brand);
  border-radius: 50%;
  background-color: var(--color-white);
  content: "";
}
.p-top-cases__progress-dot[aria-current=true]::before {
  background-color: var(--color-brand);
}
.p-top-cases__progress-bar {
  display: none;
}
.p-top-cases__progress-bar::after {
  display: none;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  width: 1rem;
  aspect-ratio: 1;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  background-color: #3b4043;
  translate: 50% -50%;
  content: "";
}
.p-top-cases__foot {
  display: grid;
  justify-items: center;
  margin-block-start: 1.5rem;
}
.p-top-cases:not(:has(#js-splide-cases)) {
  display: none;
}
.p-top-download__layout {
  display: grid;
  gap: 1.75rem;
}
.p-top-download__side {
  display: grid;
  gap: 1.75rem;
}
.p-top-download__eyebrow {
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.8888888889;
  letter-spacing: 0.1em;
  color: var(--color-brand-blue);
  text-transform: uppercase;
}
.p-top-download__title {
  margin-block-start: 0.25rem;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-black);
}
.p-top-download__title-line {
  display: inline;
  word-break: keep-all;
  overflow-wrap: normal;
}
.p-top-download__title {
  word-break: keep-all;
}
.p-top-download__nav {
  display: grid;
  gap: 0.75rem;
}
.p-top-download__nav-item {
  min-width: 0;
}
.p-top-download__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  min-width: 0;
  min-height: max(3.625rem, 64px);
  padding-block: 0.5rem;
  padding-inline: 1.25rem;
  border: 2px solid var(--color-brand);
  border-radius: 100vh;
  font-size: max(1rem, 10px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-brand);
  text-align: center;
  background-color: var(--color-white);
  cursor: pointer;
}
.p-top-download__nav-label {
  flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}
.p-top-download__nav-btn .c-icon-arrow-circle {
  flex-shrink: 0;
}
.p-top-download__nav-btn.is-active {
  color: var(--color-white);
  background-color: var(--color-brand);
  border-color: var(--color-brand);
}
.p-top-download__panels {
  min-width: 0;
}
.p-top-download__panel {
  display: none;
  gap: 1rem;
  padding-block: 1.25rem 1.5rem;
  padding-inline: 1rem;
  background-color: var(--color-white);
  border: 2px solid var(--color-brand);
  border-radius: 1rem;
  height: 26.5rem;
  align-content: start;
}
.p-top-download__panel.is-active {
  display: grid;
}
.p-top-download__body {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}
.p-top-download__label {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  text-align: center;
  color: var(--color-black);
}
.p-top-download__brand {
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  text-align: center;
}
.p-top-download__logo {
  width: 5.5rem;
}
.p-top-download__heading {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.075;
  color: var(--color-black);
}
.p-top-download__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
}
.p-top-download__cta {
  gap: 0.5rem;
  width: var(--button-pill-width, 100%);
  max-width: 15rem;
  margin-inline: auto;
}
.p-top-download__cta-icon {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.125rem;
}
.p-top-download__visual {
  width: min(100%, 8.75rem);
  margin-inline: auto;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-top-download__foot {
  display: grid;
  justify-items: center;
  margin-block-start: 1.5rem;
}
.p-top-download:not(:has(.p-top-download__panel)) {
  display: none;
}
.p-top-functions__head .c-section-head__title {
  font-weight: 700;
}
.p-top-functions__list {
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.75rem;
}
.p-top-functions__item {
  min-width: 0;
}
.p-top-functions__card {
  position: relative;
  display: block;
  padding-block: 1.75rem 1.5rem;
  padding-inline: 1.25rem;
  border-radius: 0.5rem;
  background-color: var(--color-surface-gray);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  color: inherit;
}
.p-top-functions__body {
  min-width: 0;
}
.p-top-functions__category {
  display: inline-block;
  align-self: start;
  padding-block: 0.1875rem;
  padding-inline: 0.4375rem;
  font-size: max(0.8125rem, 10px);
  font-weight: 700;
  line-height: 1.6666666667;
  color: var(--color-white);
  background-color: var(--color-brand);
}
.p-top-functions__heading {
  max-width: calc(100% - 5.5rem);
  margin-block-start: 0.625rem;
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
.p-top-functions__text {
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-top-functions__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.875rem;
  margin-block-start: 1rem;
  font-size: max(0.875rem, 10px);
  font-weight: 700;
  line-height: 2;
  color: var(--color-brand);
}
.p-top-functions__link-text {
  min-width: 0;
}
.p-top-functions__visual {
  position: absolute;
  inset-block-start: -0.75rem;
  inset-inline-end: 0.625rem;
  width: 4.5rem;
  pointer-events: none;
}
.p-top-functions__item[data-feature=copilot] .p-top-functions__visual {
  width: 5.5rem;
}
.p-top-functions__item[data-feature=alcohol] .p-top-functions__visual {
  width: 4rem;
  inset-inline-end: 0.875rem;
}
.p-top-functions__item[data-feature=report] .p-top-functions__visual {
  width: 4.25rem;
  inset-inline-end: 0.75rem;
}
.p-top-functions__item[data-feature=ledger] .p-top-functions__visual {
  width: 6.25rem;
  inset-inline-end: 0.5rem;
}
.p-top-functions__foot {
  display: grid;
  justify-items: center;
  margin-block-start: 1.75rem;
}
.p-top-issues {
  overflow: hidden;
}
.p-top-issues__head {
  display: grid;
  gap: 1rem;
  justify-items: center;
}
.p-top-issues__title {
  font-size: max(1.625rem, 10px);
  font-weight: 700;
  line-height: 1.45;
  color: var(--color-black);
}
.p-top-issues__lead {
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-top-issues__list {
  display: grid;
  gap: 1.5rem;
  margin-block-start: 2rem;
}
.p-top-issues__card {
  position: relative;
  display: grid;
  gap: 1.25rem;
  align-items: center;
  padding: 1.75rem 1.5rem;
  border-radius: 1.5rem;
  background-color: var(--color-surface-gray);
}
.p-top-issues__body {
  min-width: 0;
}
.p-top-issues__category {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.6666666667;
  color: var(--color-brand-blue);
}
.p-top-issues__heading {
  margin-block-start: 0.625rem;
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.45;
  color: var(--color-black);
}
.p-top-issues__text {
  margin-block-start: 0.75rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 400;
  line-height: 1.875;
  color: var(--color-black);
}
.p-top-issues__cta {
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 1rem;
  margin-inline: auto;
}
.p-top-issues__visual {
  justify-self: center;
  width: min(100%, 17.5rem);
}
.p-top-issues__visual img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-links {
  background-color: var(--color-surface-gray);
  padding-block: 2rem;
}
.p-top-links__list {
  display: grid;
  gap: 1.75rem;
}
.p-top-links__item {
  position: relative;
}
.p-top-links__card {
  position: relative;
  display: grid;
  min-height: 100%;
  padding-inline-end: 2rem;
  color: inherit;
}
.p-top-links__card > .c-icon-arrow-circle {
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: 0;
  color: var(--color-brand);
}
.p-top-links__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-top-links__icon {
  flex-shrink: 0;
  width: 1.75rem;
}
.p-top-links__item[data-link=seminar] .p-top-links__icon {
  width: 1.25rem;
}
.p-top-links__title {
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.7;
}
.p-top-links__text {
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-top-mv {
  overflow: hidden;
}
.p-top-mv__inner {
  display: grid;
  gap: 0;
}
.p-top-mv__body {
  display: contents;
  min-width: 0;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}
.p-top-mv__title {
  order: 1;
  justify-self: center;
  font-size: max(2rem, 10px);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-black);
}
.p-top-mv__title-line {
  display: block;
}
.p-top-mv__title-accent {
  font-weight: 900;
  color: var(--color-brand);
}
.p-top-mv__lead {
  order: 2;
  justify-self: center;
  margin-block-start: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.p-top-mv__lead-label {
  display: inline;
  font-size: max(1.125rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-brand);
}
.p-top-mv__lead-brand {
  display: inline-grid;
  width: 5.5rem;
}
.p-top-mv__actions {
  order: 5;
  width: 100%;
  max-width: 20.9375rem;
  margin-block-start: 2.5rem;
  display: grid;
  grid-template-columns: minmax(0, 17rem);
  justify-content: center;
  gap: 2.3125rem;
}
.p-top-mv__cta {
  position: relative;
  display: grid;
  align-items: start;
  min-height: 6.125rem;
  padding: 1.75rem 1rem 1.375rem 5.625rem;
  border-radius: 3.875rem;
}
.p-top-mv__cta[data-color=contact] {
  color: var(--color-black);
  background-color: var(--color-accent-yellow);
}
.p-top-mv__cta[data-color=download] {
  color: var(--color-white);
  background-color: var(--color-brand-blue);
  --hover-opacity: 0.8;
  padding-inline-start: 4.75rem;
}
.p-top-mv__cta-media {
  position: absolute;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 0.25rem;
}
.p-top-mv__cta-media img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-mv__cta[data-color=contact] .p-top-mv__cta-media {
  top: -1.125rem;
  left: -0.875rem;
  width: 5.75rem;
  aspect-ratio: 92/88;
  transform: translateY(0);
}
.p-top-mv__cta[data-color=download] .p-top-mv__cta-media {
  top: -1.5625rem;
  left: -1.4375rem;
  width: 5.125rem;
  aspect-ratio: 82/113;
  transform: translateY(0);
}
.p-top-mv__cta[data-color=download] .p-top-mv__cta-media img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.p-top-mv__cta-badge {
  position: absolute;
  top: 2.75rem;
  left: 2rem;
  width: 2.3125rem;
  height: 2.375rem;
  pointer-events: none;
}
.p-top-mv__cta-badge img {
  height: 100%;
}
.p-top-mv__cta-text {
  display: grid;
  gap: 0.125rem;
  min-width: 0;
  align-self: start;
}
.p-top-mv__cta-sub {
  white-space: normal;
  font-size: max(0.6875rem, 10px);
  font-weight: 700;
  line-height: 1.4;
}
.p-top-mv__cta-label {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
}
.p-top-mv__visual {
  order: 4;
  margin-inline: auto;
  margin-block-start: 2rem;
  display: grid;
  gap: 1.75rem;
  width: 100%;
  min-width: 0;
}
.p-top-mv__visual img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-reason__head .c-section-head__title {
  font-weight: 700;
}
.p-top-reason__list {
  display: grid;
  gap: 1rem;
  margin-block-start: 1.75rem;
}
.p-top-reason__item {
  display: grid;
  justify-items: center;
  align-content: start;
  min-width: 0;
  text-align: center;
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--color-brand-blue);
}
.p-top-reason__item:last-child {
  border-block-end: 0;
}
.p-top-reason__label {
  display: inline-grid;
  place-items: center;
  min-height: 2rem;
  padding-block: 0.25rem;
  padding-inline: 0.625rem;
  border: 1px solid var(--color-brand);
  background-color: var(--color-white);
  overflow-wrap: normal;
  white-space: nowrap;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  line-height: 1.3888888889;
  color: var(--color-brand);
}
.p-top-reason__heading {
  max-width: 21.25rem;
  margin-block-start: 1rem;
  font-size: max(1.375rem, 10px);
  font-weight: 900;
  line-height: 1.45;
  text-align: center;
}
.p-top-reason__stat {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  margin-block-start: 0.75rem;
}
.p-top-reason__value {
  flex-shrink: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-size: max(4rem, 10px);
  font-weight: 700;
  line-height: 1;
  color: var(--color-brand-blue);
}
.p-top-reason__unit {
  flex-shrink: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  margin-block-start: 1rem;
  font-size: max(2rem, 10px);
  font-weight: 900;
  line-height: 1.1052631579;
}
.p-top-reason__text {
  max-width: 21.5rem;
  font-size: max(0.875rem, 10px);
  font-weight: 400;
  line-height: 1.875;
}
.p-top-reason__heading + .p-top-reason__text {
  margin-block-start: 0.75rem;
}
.p-top-reason__logos.splide {
  margin-block-start: 2rem;
}
.p-top-reason__logos-track.splide__track {
  overflow: hidden;
}
.p-top-reason__logo-item.splide__slide {
  display: grid;
  place-items: center;
  width: 7.75rem;
  height: 3.875rem;
}
.p-top-reason__logo-item img {
  min-width: 0;
  min-height: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-reason__logo-item[data-logo=tsukasa] img {
  max-height: 3rem;
}
.p-top-reason__em {
  font-size: 1.2em;
  font-weight: 700;
}
.p-top-topics {
  padding-block: 1rem;
  background-color: var(--color-surface-gray);
}
.p-top-topics__inner {
  display: grid;
  gap: 1.5rem;
}
.p-top-topics__head {
  display: grid;
  gap: 0.5rem;
  justify-items: center;
}
.p-top-topics__icon {
  width: 3rem;
  height: 2.3125rem;
}
.p-top-topics__icon img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-topics__title {
  font-size: max(1.75rem, 10px);
  font-weight: 700;
  line-height: 1.45;
  color: var(--color-black);
}
.p-top-topics__head > .c-link-arrow {
  --link-arrow-gap: 0.5rem;
  --link-arrow-font-size: 0.9375rem;
  line-height: 1.4;
}
.p-top-topics__list {
  display: grid;
  gap: 1rem;
}
.p-top-topics__card {
  display: grid;
  grid-template-columns: minmax(0, 6.25rem) minmax(0, 1fr);
  gap: 0.5rem;
  align-items: stretch;
  padding: 1rem 0.625rem;
  border-radius: 0.5rem;
  background-color: var(--color-white);
  box-shadow: 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.16);
  color: inherit;
}
.p-top-topics__thumb {
  width: 100%;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border-radius: 0.25rem;
}
.p-top-topics__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-topics__content {
  display: grid;
  align-content: start;
  gap: 0.375rem;
  min-width: 0;
}
.p-top-topics__meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  min-width: 0;
  min-height: 1.6875rem;
  gap: 0.5rem;
}
.p-top-topics__date {
  flex: 0 0 auto;
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-black);
}
.p-top-topics__category.p-tag {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: 1.6875rem;
  padding-inline: 0.375rem;
  border: 1px solid var(--color-brand);
  border-radius: 0;
  background-color: var(--color-white);
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-brand);
}
.p-top-topics__category-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-top-topics__card-title {
  font-size: max(0.875rem, 10px);
  font-weight: 500;
  line-height: 1.7;
  color: var(--color-black);
  text-underline-offset: 0.15em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-overflow: ellipsis;
}
.p-top-topics:not(:has(.p-top-topics__list)) {
  display: none;
}
.l-efficiency-work-cycle {
  margin-block-start: 2rem;
}
.p-work-cycle {
  padding-block: 2.25rem 1.75rem;
  background-color: var(--color-white);
}
.p-work-cycle__title {
  font-size: max(1.25rem, 10px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #0b1b3f;
}
.p-work-cycle__title em {
  font-style: normal;
  color: var(--color-brand-blue);
}
.p-work-cycle__lead {
  margin-block-start: 0.75rem;
  font-size: max(0.875rem, 10px);
  line-height: 1.9;
  color: #5a6472;
}
.p-work-cycle__axis {
  position: relative;
  display: grid;
  gap: 1.25rem;
  margin-block-start: 1.5rem;
  padding-inline-start: 1.625rem;
}
.p-work-cycle__axis::before {
  position: absolute;
  inset-block: 0.4375rem;
  inset-inline-start: 0.375rem;
  width: 2px;
  content: "";
  background: linear-gradient(180deg, var(--color-brand-blue) 0%, #9dbbea 100%);
}
.p-work-cycle__node {
  position: relative;
}
.p-work-cycle__node::before {
  position: absolute;
  inset-block-start: 0.0625rem;
  inset-inline-start: -1.59375rem;
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  border: 3px solid #9dbbea;
  border-radius: 50%;
  background-color: var(--color-white);
}
.p-work-cycle__node-cycle {
  font-size: max(1.0625rem, 10px);
  font-weight: 700;
  line-height: 1.2;
  color: #0b1b3f;
}
.p-work-cycle__node-freq {
  display: inline-block;
  margin-inline-start: 0.5rem;
  font-size: max(0.6875rem, 10px);
  font-weight: 400;
  color: #8a94a6;
}
.p-work-cycle__node-tasks {
  display: grid;
  gap: 0.5rem;
  margin-block-start: 0.625rem;
}
.p-work-cycle__node-tasks li {
  padding: 0.625rem 0.75rem;
  font-size: max(0.84375rem, 10px);
  line-height: 1.6;
  color: #42506b;
  border-radius: 0.375rem;
  background-color: #f1f5fb;
}
.p-work-cycle__bridge {
  position: relative;
  margin-block-start: 1.5rem;
  font-size: max(0.8125rem, 10px);
  line-height: 1.7;
  text-align: center;
  text-wrap: balance;
  color: #5a6472;
}
.p-work-cycle__bridge strong {
  color: #0b1b3f;
}
/* 動きを抑えたい人への配慮 */
/* 初期（見えない＆少し下） */
[data-fadein] {
  opacity: 0;
  transform: translateY(2.5rem);
  transition: opacity 1.4s cubic-bezier(0.2, 0.6, 0.2, 1), transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}
/* 表示状態 */
[data-fadein].is-show {
  opacity: 1;
  transform: translateY(0);
}
/* 遅延設定（pcで1行・複数列を想定／最大4列） */
[data-slidein-mask] {
  position: relative;
  z-index: 0;
  clip-path: inset(0 100% 0 0);
  --mask-color: var(--color-orange);
  --mask-color: #fb9250;
}
[data-slidein-mask]::before {
  position: absolute;
  inset: -1.25rem 0 0;
  z-index: -1;
  background-color: var(--mask-color);
  content: "";
  clip-path: inset(0 0 0%);
}
[data-slidein-mask].is-show {
  animation: slidein 0.3s ease-out forwards;
}
[data-slidein-mask].is-show::before {
  animation: mask 0.8s 0.3s cubic-bezier(0.8, 0, 0.17, 1) forwards;
}
[data-slidein-mask=delay1].is-show::before {
  animation-delay: 0.6s;
}
[data-slidein-mask=delay2].is-show::before {
  animation-delay: 0.9s;
}
@keyframes slidein {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0% 0 0);
  }
}
@keyframes mask {
  0% {
    clip-path: inset(0 0 0 0%);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
/* テーマ画像未設置時（ty_img）。ファイルを置くと通常の img に戻る */
.u-img-missing {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 5rem;
  aspect-ratio: 16/10;
  padding: 0.5rem;
  background-color: #d9d9d9;
  border: 1px dashed #666;
  color: #222;
}
.u-img-missing__label {
  max-width: 100%;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: max(0.75rem, 10px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  word-break: break-all;
}
:is(div, figure):has(> .u-no-image) {
  background-color: #ccc;
}
img.u-no-image[class=u-no-image] {
  padding: 10% 20%;
  -o-object-fit: contain;
     object-fit: contain;
}
.u-pc {
  display: none;
}
/**
 * スクリーンリーダー専用テキスト
 * 視覚的には非表示だが、スクリーンリーダーでは読み上げられる
 */
.u-screen-reader {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/*
 * old.css — ブログ／お知らせ本文の「例外型」を現行クラス名のまま出す
 *
 * =========================================
 * このファイルの立ち位置
 * =========================================
 * 既存記事（494本）の本文 HTML は 1 バイトも書き換えない、という前提のためのシート。
 * 記事側は現行テーマ cariot2020 のクラス名（.toc / .list-color1 / .frm-border / …）を
 * そのまま持っているので、そのクラス名に対して新サイト側の組版を当てる。
 * 新規記事も同じクラス名で書く（TinyMCE のフォーマット = func-classic-editor.php）。
 *
 * ルート（本文ラッパー）は 2 つだけ:
 *   ブログ   single.php      … .p-blog-detail__content（＋ .p-post-content）
 *   お知らせ single-news.php … .p-news-detail__body
 * すべてのセレクタを :is(.p-blog-detail__content, .p-news-detail__body) 配下に閉じる。
 * `cariot_single_content_class` で .p-post-content が外れても当たるようにするため、
 * .p-post-content を起点にしない。素の table / img をテーマ全体へ書かない。
 *
 * =========================================
 * 値の決め方（「見た目のトークンは新カンプ」「lower2.css の全コピーはしない」）
 * =========================================
 *   構造・クラス名・カウンタの体裁 … 現行（cariot2020 assets/css/lower/lower2.css）
 *   色・字送り・角丸・字サイズ     … 新カンプ（_p-post-content.scss = .p-post-content）
 *   新カンプに対応物が無い色       … 現行の値をそのまま使い、下のコメントに出典行を書く
 *
 * 実測元:
 *   lower2.css https://www.cariot.jp/wp-content/themes/cariot2020/assets/css/lower/lower2.css
 *              （67,029 B。行番号は 2026-08-30 取得時点）
 *   現行 html の font-size は 62.5%（style2.css:142）なので 1.8rem = 18px として換算した。
 *   TB2（.table-wrap / .sticky_*）は lower2.css に無く、記事本文の <style> にある。
 *              https://www.cariot.jp/blog/2026/07/31/alcohol-check-10-apps/
 *
 * ブレークポイントはテーマ既定の @include mq()（min-width:768px）に合わせた。
 * 現行の 1024px ではない（新サイトの SP / PC の境目に寄せる）。
 *
 * 型の一覧は ai-docs/2026-08-19-blog-body-patterns.md（T1〜I1）。
 */
/* =========================================================
 * 本文ラッパーの幅を「中身で押し広げられない」ようにする（TB2 の前提）
 *   ブログの本文は .p-blog-detail__layout（display:grid）の中にあり、
 *   グリッドアイテム .p-blog-detail__main が min-width:auto なので、
 *   横に長い表があると SP でカラムごと 3,112px まで広がってページが横スクロールする。
 *   実測（375px・検証用記事）: 何もしない = documentElement.scrollWidth 3,132px
 *                              contain 追加 = .table-wrap の中だけが 3,112px でスクロール
 *   .table-wrap 側の overflow だけでは効かない（親が中身で伸びるので max-width:100% が
 *   循環して意味を持たない）。ラッパー自身にインライン方向のサイズ封じ込めを掛けて、
 *   中身の min-content が外側の幅計算に漏れないようにする。
 *   共有パーツ（_p-blog-detail.scss の .p-blog-detail__main）は触らずに済ませるための処置。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) {
  contain: inline-size;
}
/* =========================================================
 * 本文中の画像（I1 の土台）
 *   テーマの reset が img { display:block; width:100% }（base/_reset.scss）なので、
 *   記事本文の実寸画像（219px 等）が本文幅まで引き伸ばされる。
 *   現行 lower2.css:2649 `.wp-editor img { width:auto; margin-inline:auto; max-width:100% }`
 *   と同じ扱いに戻す。figure 画像（新カンプ）は .p-post-content figure img が勝つので無傷。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
/* I1 画像の灰色枠 — lower2.css:2719 `.wp-editor img.frm-border { border:1px solid #d5dae2 }` */
:is(.p-blog-detail__content, .p-news-detail__body) img.frm-border {
  border: 1px solid #d5dae2;
}
/* =========================================================
 * 本文中のリンク
 *
 * ■ 一般リンク — 色と下線
 *   テーマの reset（kiso.css）が下線を消し、_base.scss の `a` も色を指定しないため、
 *   本文リンクが地の文と見分けられなくなっていた。現行の値に戻す。
 *   現行 style2.css:170-179（2026-08-30 取得・190,585 B）
 *     a { color:#242E4D; text-decoration:underline; transition:all 0.3s ease }
 *     @media screen and (min-width:769px) { a:hover { text-decoration:none } }
 *   ・`transition: all 0.3s ease` は移さない。現行の `a:hover` が変えるのは
 *     `text-decoration`（アニメーション不可）だけで、現行でも見た目に効いていない。
 *     テーマ側は `a { transition: opacity var(--hover-transition) }`（_base.scss:53）を
 *     持っており、`all` で上書きすると他の hover 演出まで巻き込む。
 *   ・hover の BP は 769px ではなく 768px。このファイルの方針（冒頭コメント）どおり
 *     テーマ既定の mq() に合わせる。指定はファイル末尾の @media にまとめてある。
 *   ・現行 style2.css:218 の `td a { text-decoration:underline }` は素の `a` と同値なので
 *     別に書かない。
 *
 * ■ 外部リンク — 鎖アイコン（新カンプ。現行サイトには実装が無い）
 *   カンプ XD 0072「Cariot様_お知らせ_詳細」/ グループ 10462
 *     ico_link      15.023 × 15.025 / #306CD3  （= src/assets/images/common/icon-link.svg。
 *                   XD の パス783/784/785・長方形1273 と同一。テーマに既に入っている）
 *     テキスト      x = アイコン左端 +20.5px（グループ内 transform e=20.5）
 *                   ＝ アイコン 15.023 ＋ 余白 5.477
 *     PNG 実測      アイコン x 482-496 / y 1311-1325、下線 y 1325、本文の文字 x 502-
 *   内部／外部の判定は CSS では書けない（自サイトのホストが
 *   ローカル / テスト環境 / 本番で3つとも違い、href は絶対 URL でも自サイトを指しうる。
 *   実測：現行 alcohol-check-10-apps の本文 87 リンク中、絶対 URL の自サイト内リンクが 43 本）。
 *   そのため判定は PHP 側（functions-lib/func-external-link.php）が
 *   描画時に `data-ty-external` を付ける。CSS はその印だけを見る。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) a {
  color: #242e4d; /* 現行 style2.css:171 */
  text-decoration-line: underline; /* 現行 style2.css:172 */
}
:is(.p-blog-detail__content, .p-news-detail__body) a[data-ty-external] {
  padding-inline-start: 1.28125rem; /* 20.5px = アイコン 15.023 + 余白 5.477（XD 0072） */
  background: url("data:image/svg+xml,%3csvg%20id='ico_link'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='15.023'%20height='15.025'%20viewBox='0%200%2015.023%2015.025'%3e%3cdefs%3e%3cclipPath%20id='clip-path'%3e%3crect%20id='長方形_1273'%20data-name='長方形%201273'%20width='15.023'%20height='15.025'%20fill='%23306cd3'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20id='グループ_1525'%20data-name='グループ%201525'%20clip-path='url(%23clip-path)'%3e%3cpath%20id='パス_783'%20data-name='パス%20783'%20d='M17.976,1.069a3.644,3.644,0,0,0-5.157,0L10.243,3.645l.862.857.657-.656,1.919-1.92a2.435,2.435,0,0,1,3.439,0,2.435,2.435,0,0,1,0,3.439L15.206,7.279H15.2l-.656.662L15.4,8.8l2.575-2.576a3.645,3.645,0,0,0,0-5.152'%20transform='translate(-4.02%200)'%20fill='%23306cd3'/%3e%3cpath%20id='パス_784'%20data-name='パス%20784'%20d='M7.28,15.2V15.2L5.366,17.118a2.432,2.432,0,0,1-3.439-3.439l1.914-1.914L4.5,11.1l-.856-.863L1.071,12.816a3.645,3.645,0,1,0,5.152,5.158L8.8,15.4l-.857-.857Z'%20transform='translate(0%20-4.019)'%20fill='%23306cd3'/%3e%3cpath%20id='パス_785'%20data-name='パス%20785'%20d='M12.727,6.71l-.8.8-.881.881L8.4,11.042l-.881.881-.8.8.857.857.8-.8.875-.875,2.661-2.661.875-.875.8-.8Z'%20transform='translate(-2.634%20-2.633)'%20fill='%23306cd3'/%3e%3c/g%3e%3c/svg%3e") no-repeat left center/0.9375rem; /* 15px XD 0072 */
}
/* =========================================================
 * T1 / T2 目次（.toc / .toc-title）
 *   現行 lower2.css:2746-2799
 *     .toc        margin-top:20px / padding:20px 30px / border:1px #999 / border-top:5px #242E4D
 *     .toc-title::before  content:"【目次】" / 1.8rem(=18px) / #242E4D / 中央 / margin-bottom:20px
 *     .toc-title li::before  counter-increment:count 1 / content: counters(count,"-") ". "
 *     .toc-title ol  padding-left:1em（2階層目）
 *     @<=1024px   .toc { padding:15px }
 *   新カンプ _p-post-content.scss `.p-post-content__toc`
 *     border:1px var(--color-brand) / radius 8 / 白地 / padding SP 20・PC 39 26 35
 *     見出し 18(SP)/20(PC) var(--color-brand) / 項目 15(SP)/16(PC) lh 30/16 / gap 9
 *     番号色 var(--color-brand-blue)
 *   3階層目のスタイルは作らない（制作側指定）。
 *   記事 HTML には .p-post-content__toc を書かせない（正本はこの .toc）。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) .toc {
  padding: 1.25rem; /* 20px 新カンプ SP */
  border: 1px solid var(--color-brand);
  border-radius: 0.5rem; /* 8px 新カンプ */
  background-color: var(--color-white);
}
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title {
  display: block; /* .p-post-content :is(ul,ol){display:grid} を戻す */
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  counter-reset: count 0;
}
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title::before {
  display: block;
  margin-block-end: 1.25rem; /* 20px 現行 */
  color: var(--color-brand);
  font-size: 1.125rem; /* 18px 現行 1.8rem ＝ 新カンプ SP */
  font-weight: 700;
  text-align: center;
  content: "【目次】";
}
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title li {
  position: static;
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
  font-size: 0.9375rem; /* 15px 新カンプ SP */
  font-weight: 500;
  line-height: 1.875; /* 30/16 新カンプ */
  color: var(--color-black);
}
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title li + li,
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title ol > li:first-child {
  margin-block-start: 0.5625rem; /* 9px 新カンプ */
}
/* 番号は CSS カウンタ。1階層 "1." / 2階層 "1-1."（現行と同じ counters(count,"-")） */
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title li::before {
  position: static;
  color: var(--color-brand-blue); /* 新カンプ */
  content: counters(count, "-") ". ";
  counter-increment: count 1;
}
/* 2階層目の入れ子 ol（3階層目は作らない） */
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title ol {
  display: block;
  margin-block: 0;
  padding-inline-start: 1em; /* 現行 lower2.css:2765 */
  list-style: none;
  counter-reset: count 0;
}
/* 現行と同じ：見出しに続く説明文（手書き記事にある）は目次では出さない */
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title li a + p {
  display: none;
}
/* 下線は上の本文リンクが付けるので、ここでは書かない（二重指定を避ける）。
   色だけ上書きする：目次の項目は新カンプで var(--color-black)（.toc-title li）。
   現行は目次も #242E4D だが、新カンプの目次に合わせて li の色を継がせる。 */
:is(.p-blog-detail__content, .p-news-detail__body) .toc-title a {
  color: inherit;
}
/* =========================================================
 * L1〜L6 / B1 背景色の囲み（.list-color1）
 *   現行 lower2.css:2785-2793 / 2931
 *     margin-top/bottom:25px / padding:20px 20px 20px 30px / background:#EDEFF4 / color:#242E4D
 *     @<=1024px padding:15px 15px 15px 20px
 *     .list-color1 ul, .list-color1 ol { margin-bottom:0 }
 *   新カンプ：角丸 8 / 文字色 var(--color-black) / ul は青丸 8px・ol は青の連番
 *   #EDEFF4 は新カンプに対応物が無いので現行値のまま（.p-post-content__note の
 *   #E2EDFF には寄せない。
 *   L5 は L4 と別クラスを作らない。L6 の既存 <input type="checkbox"> は置換しない。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 {
  padding: 0.9375rem 0.9375rem 0.9375rem 1.25rem; /* 15/15/15/20 現行 <=1024 */
  border-radius: 0.5rem; /* 8px 新カンプ */
  background-color: #edeff4; /* 現行 lower2.css:2789 */
  font-size: 1rem; /* 16px 新カンプ li SP */
  font-weight: 400; /* 2026-09-29 先方指示（-96）で 500 → 400。見出し（strong）は太字のまま */
  line-height: 1.8889; /* 34/18 新カンプ li */
  color: var(--color-black); /* 新カンプ（現行は #242E4D） */
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 :is(p, div, li) {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}
/* 囲みの中の要素間（B1・L5 のように p / div / ul が混ざる） */
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 > * + * {
  margin-block-start: 0.75rem; /* 12px */
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 :is(ul, ol) {
  display: grid;
  margin-block: 0;
  padding-inline-start: 0;
  list-style: none;
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 ul {
  gap: 0.125rem; /* 2px 新カンプ ul */
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 ol {
  gap: 0.3125rem; /* 5px 新カンプ ol */
  counter-reset: old-list;
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 li {
  position: relative;
  padding-inline-start: 1.25rem; /* 20px 新カンプ */
  list-style: none;
}
/* L2 / L4 / L5：点は新カンプの青丸 8px */
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 ul > li::before {
  position: absolute;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-brand);
  translate: 0 -50%;
  content: "";
}
/* L1 / L3：番号は新カンプの青の連番 */
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 ol > li {
  counter-increment: old-list;
}
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 ol > li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  translate: none;
  color: var(--color-brand-blue);
  content: counter(old-list) ".";
}
/* L3 見出しつき番号リスト（.title-list）は余白だけ。
   現行 lower2.css:2722 は `.title-list { margin-top:-25px }` だが、
   実記事は 2 本とも <ol class="title-list" style="margin-top:0;"> でこれを打ち消している
   （6drecorders #chapter4 / 2026edition #chapter1 で実測）ため、負の余白は移さない。 */
:is(.p-blog-detail__content, .p-news-detail__body) .title-list {
  gap: 0.75rem; /* 12px：項目が見出し＋本文の2行組になるぶん、ol 既定の 5px より広げる */
}
:is(.p-blog-detail__content, .p-news-detail__body) .title-list + p {
  margin-block-start: 1.25rem; /* 20px 現行 lower2.css:2725 */
}
/* L6 チェック風リスト。既存記事の生の <input type="checkbox"> をそのまま見せる。
   新規記事には input を書かせない（TinyMCE のフォーマットにも入れていない）。 */
:is(.p-blog-detail__content, .p-news-detail__body) .list-color1 input[type=checkbox] {
  width: auto;
  margin-inline-end: 0.5em;
  vertical-align: baseline;
}
/* =========================================================
 * TB1 ただの表
 *   現行 lower2.css:2655-2676
 *     table   border-right / border-bottom 1px #f1f1f1
 *     th, td  padding:15px / border-top / border-left 1px #f1f1f1 / min-width:50px
 *             font-size:15px / line-height:2
 *     th      background:#f9f9f9   td background:#fff
 *     @<=768px th,td font-size:14px / line-height:1.6
 *   先方指示 2026-09-30（-96）: 線と見出し地だけ法的ページの表にそろえる。
 *   border-collapse は kiso.css の :where(table) が collapse 済み。
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) table {
  width: 100%;
  border: 1px solid #dbdbdb; /* 先方指示 2026-09-30（-96） */
  border-block-start: 2px solid var(--color-brand);
}
:is(.p-blog-detail__content, .p-news-detail__body) :is(th, td) {
  min-width: 50px;
  padding: 0.9375rem; /* 15px 現行 */
  border-top: 1px solid #dbdbdb; /* 先方指示 2026-09-30（-96） */
  border-left: 1px solid #dbdbdb;
  font-size: 0.875rem; /* 14px 現行 <=768 */
  font-weight: 400; /* 2026-09-29 先方指示（-96）で 500 → 400 */
  line-height: 1.6; /* 現行 <=768 */
  color: var(--color-black);
  /* TB2 の記事内 <style> は素の `th { white-space:nowrap }` / `td { … }` を書いており、
     同じ記事に TB1（.table-wrap の外の表）があると、そちらまで nowrap になって
     ページごと横スクロールする（375px 実測: documentElement.scrollWidth 1248 / clientWidth 375）。
     TB1 は現行 lower2.css:2655-2676 に white-space の指定が無い＝既定の normal が正なので戻す。
     nowrap が要るのは .table-wrap の中だけ（下の TB2 で (0,2,1) で上書きしている）。
     記事内 <style> のセレクタ `th`（0,0,1）より、この (0,1,1) が勝つ。 */
  white-space: normal;
}
/* 見出しセルの中央寄せは現行のブラウザ既定（UA の th）。
   テーマの reset（kiso.css `:where(caption, th){ text-align: unset }`）が
   それを外して左寄せになるので、TB1 / TB2 とも現行と同じ中央寄せに戻す。 */
:is(.p-blog-detail__content, .p-news-detail__body) th {
  background-color: var(--color-surface-gray); /* 先方指示 2026-09-30（-96） */
  font-size: 1rem; /* 16px 2026-09-29 先方指示（-96）。PC・SP とも */
  font-weight: 400; /* 2026-09-29 先方指示（-96）で 700 → 400 */
  text-align: center;
}
/* 見出しセルの文字は <strong> で包まれている記事が多い（<th><strong>管理対象</strong></th>）。
   th を 400 にしても strong が太いままなので、見出しセルの中の strong も細くする。
   ⚠ td の中の strong（本文中の強調）は太字のまま残す。 */
:is(.p-blog-detail__content, .p-news-detail__body) th :is(strong, b) {
  font-weight: inherit;
}
:is(.p-blog-detail__content, .p-news-detail__body) td {
  background-color: #fff;
}
/* =========================================================
 * TB2 横スクロールの表（.table-wrap / .sticky_*）
 *   現行は lower2.css に無く、記事本文の <style> 直書き（alcohol-check-10-apps）。
 *   実測（本文 <style>）:
 *     .table-wrap  { overflow-y:auto; height:100%; width:100%; margin-bottom:40px; max-width:735px }
 *     th, td       { white-space:nowrap }  th は text-align:center
 *     .sticky_row / .sticky_col / .sticky_cross
 *                  { position:sticky; top:0; left:0; background:none; border:none 系 }
 *   新規記事には <style> を書かせない。既存記事の <style> は削らない（重なっても壊れない）。
 *   現行から変えた点（意図的）:
 *     1. overflow-y → overflow：横スクロールさせるのが目的なので x 方向を開ける
 *     2. max-width:735px → 100%：新サイトは本文カラム幅が違う（ラッパーが幅を持つ）
 *     3. sticky の top/left は役割ごとに分ける（現行は 3 つとも top:0;left:0）
 *     4. background:none → var(--color-surface-gray)：透過だと固定セルの下に本文が透ける
 * ========================================================= */
:is(.p-blog-detail__content, .p-news-detail__body) .table-wrap {
  overflow: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}
:is(.p-blog-detail__content, .p-news-detail__body) .table-wrap table {
  width: 100%;
  margin-block-end: 0;
}
:is(.p-blog-detail__content, .p-news-detail__body) .table-wrap :is(th, td) {
  white-space: nowrap;
}
/* 見出し行（横スクロール中も上に残す） */
:is(.p-blog-detail__content, .p-news-detail__body) .sticky_col {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
  background-color: var(--color-surface-gray); /* 先方指示 2026-09-30（-96） */
}
/* 先頭列（横スクロール中も左に残す） */
:is(.p-blog-detail__content, .p-news-detail__body) .sticky_row {
  position: sticky;
  inset-inline-start: 0;
  z-index: 1;
  background-color: var(--color-surface-gray); /* 先方指示 2026-09-30（-96） */
}
/* 左上の交差セル */
:is(.p-blog-detail__content, .p-news-detail__body) .sticky_cross {
  position: sticky;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 2;
  background-color: var(--color-surface-gray); /* 先方指示 2026-09-30（-96） */
}
/* =========================================================
 * PC（テーマ既定 mq() ＝ min-width:768px）
 * ========================================================= */
/*
 * old-cta.css — 短コード／既存本文の CTA を現行クラス名のまま、現行の見た目で出す（#115）
 *
 * =========================================
 * このファイルの立ち位置
 * =========================================
 * Shortcoder（[sc name="cta_blog_*"] / [sc name="cta_banner_*"] 等）と、
 * 記事本文に直書きされた CTA の HTML は書き換えない。
 * その HTML が持つ現行テーマ cariot2020 のクラス名に、現行の CSS を当てる。
 * 2026-09-15 合意: 枠も中のボタンも現行スタイル（中だけ新サイトの c-button-* にしない）。
 *
 * セレクタは現行クラスだけに閉じる（old.css と同じ考え方）。
 *   ・素の a / button / p には書かない
 *   ・テーマ部品（c-button-more / c-button-pill / c-button-outline-pill / p-footer__cta）は
 *     .p-button / .cta_blog / .m-lr-auto を持たないので当たらない（2026-09-15 grep で確認）
 *   ・短コードは固定ページの本文にも出るので、old.css と違い本文ラッパーには閉じない
 *
 * =========================================
 * 値の決め方
 * =========================================
 * 実測元（2026-09-15 取得）:
 *   lower2.css https://www.cariot.jp/wp-content/themes/cariot2020/assets/css/lower/lower2.css（67,029 B）
 *              .cta_blog* 一式
 *   style2.css https://www.cariot.jp/wp-content/themes/cariot2020/assets/css/style2.css（190,585 B）
 *              .m-lr-auto / .p-button
 * 現行 html の font-size は 62.5%（1.5rem = 15px）。新テーマの根 16px で割って rem にした。
 * 背景画像・矢印は現行テーマの assets/img から持ってきた（images/blog/legacy-cta_*）。
 *
 * ブレークポイントは old.css と同じくテーマ既定の 768px に寄せた。
 *   現行の SP 値（max-width:500px / 540px）→ 767px 以下
 *   現行の PC 値                        → 768px 以上
 *   現行の 1024px / 375px / 320px の細かい上書きは移していない。
 *
 * 移していないもの（現行でも見えていない、または使われていないもの）:
 *   ・.p-button.ico のアイコン — 現行 style2.css 後半の
 *     `.p-button.ico span { padding-left:0 !important }` と
 *     `.p-button.ico span::before { content:none !important }` で消えている
 *   ・.p-button.disabled / .anc / .microcopy / __input / __arrow / .fv-* — tsnap の本文・短コードに無い
 */
/* =========================================================
 * .m-lr-auto — 現行 style2.css
 * ========================================================= */
.m-lr-auto {
  margin-inline: auto;
}
/* =========================================================
 * .p-button — 現行 style2.css
 * ========================================================= */
.p-button {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 18.25rem; /* 292px */
  height: 3.5rem; /* 56px */
  margin: auto; /* 現行 SP 値。PC は下の @media で外す */
  border: none;
  border-radius: 0.4375rem; /* 7px */
  background-color: #242e4d;
  box-shadow: 0 5px 8px rgb(0 0 0/20%);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.p-button::after {
  position: absolute;
  top: 50%;
  right: 1.25rem; /* 20px */
  width: 0.625rem; /* 10px */
  height: 0.625rem;
  background: url("data:image/svg+xml,%3csvg%20id='コンポーネント_18_1'%20data-name='コンポーネント%2018%20–%201'%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%3e%3cpath%20id='パス_838'%20data-name='パス%20838'%20d='M4.573,5.935,0,1.362,1.362,0,4.573,3.211,7.783,0,9.145,1.362Z'%20transform='translate(3%2010.145)%20rotate(-90)'%20fill='%23fff'/%3e%3crect%20id='長方形_1295'%20data-name='長方形%201295'%20width='12'%20height='12'%20fill='none'/%3e%3c/svg%3e") no-repeat center/contain;
  transform: translateY(-50%);
  transition: right 0.3s ease;
  content: "";
}
.p-button span {
  display: block;
  position: relative;
  color: #fff;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  text-decoration: none;
}
.p-button.l {
  z-index: 1;
  max-width: 18.4375rem; /* 295px SP */
  height: 2.8125rem; /* 45px SP */
}
.p-button.m {
  max-width: 13.75rem; /* 220px SP */
  height: 2.8125rem; /* 45px SP */
}
.p-button.m::after {
  right: 1rem; /* 16px */
}
.p-button.s {
  max-width: 10.3125rem; /* 165px SP */
  height: 2.1875rem; /* 35px SP */
}
.p-button.s span {
  font-size: 0.8125rem; /* 13px */
}
.p-button.s::after {
  right: 0.75rem; /* 12px */
  margin-top: 1px;
}
.p-button.ico::after {
  content: none;
}
.p-button.cta {
  background-color: #306cd3;
}
.p-button.w {
  background-color: #fff;
}
.p-button.w::after {
  background-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2026.3.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='コンポーネント_13_4'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2012%2012.1'%20style='enable-background:new%200%200%2012%2012.1;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23242E4D;}%20.st1{fill:none;}%20%3c/style%3e%3cpath%20id='パス_837'%20class='st0'%20d='M10.4,6.1l-6,6l-1.8-1.8l4.2-4.2L2.6,1.9l1.8-1.8L10.4,6.1z'/%3e%3crect%20id='長方形_1348'%20class='st1'%20width='12'%20height='12'/%3e%3c/svg%3e");
}
.p-button.w span {
  color: #242e4d;
}
/* =========================================================
 * .cta_blog — 現行 lower2.css
 *   型: wp（お役立ち資料）/ case（導入事例）/ smnr（セミナー）/ lc（大）
 *       ban（バナー。01 紺グラデ / 02 水色グラデ / 03〜09 背景画像）
 * ========================================================= */
.cta_blog {
  width: 90%;
  margin-top: 1.875rem; /* 30px */
  margin-bottom: 2.5rem; /* 40px */
  padding: 0;
  border: solid 1px #242e4d;
}
.cta_blog.cta_index {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 75rem; /* 1200px */
}
.cta_blog > a {
  --hover-opacity: 0.75; /* 現行 .cta_blog > a:hover { opacity:0.75 } */
  display: block;
  width: 100%;
  background: #fff;
  color: #242e4d; /* 現行 a の色（style2.css） */
  text-decoration: none;
}
.cta_blog p {
  margin: 0 !important; /* 現行。本文の p の余白に勝たせる */
  color: inherit; /* 本文 .p-post-content p の黒を外し、a の色を継ぐ */
  line-height: 1.5;
}
.cta_blog .box-title {
  display: inline-block;
  position: relative;
  top: -2px;
  margin-top: 0;
  padding: 0.125rem 1.25rem 0.125rem 0.625rem; /* 2 20 2 10 */
  background: #242e4d;
  color: #fff;
  font-size: 0.8125rem; /* 13px */
}
.cta_blog_wp .box-title,
.cta_blog_smnr .box-title {
  padding-right: 0.625rem; /* 10px */
}
.cta_blog .box-content {
  display: block;
  padding: 0.3125rem 0.9375rem 0.9375rem; /* 5 15 15 SP */
}
.cta_blog .cta-title {
  font-weight: 700;
}
.cta_blog .cta-img {
  width: 5.625rem; /* 90px */
  margin-left: 0.9375rem;
}
.cta_blog .cta-img img {
  width: 100%;
  margin-bottom: 0;
}
.cta_blog .cta-img,
.cta_blog .cta-img02 {
  display: none !important; /* 現行 SP。PC は下の @media で出す */
}
.cta_blog .p-button {
  width: 11.875rem; /* 190px */
  margin-top: 0.625rem; /* 10px SP */
}
.cta_blog_smnr .p-button.ico.arrow span::after {
  position: absolute;
  top: 50%;
  right: 0.625rem; /* 10px */
  width: 0.9375rem; /* 15px */
  height: 0.9375rem;
  background: url("data:image/svg+xml,%3csvg%20id='コンポーネント_18_1'%20data-name='コンポーネント%2018%20–%201'%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%3e%3cpath%20id='パス_838'%20data-name='パス%20838'%20d='M4.573,5.935,0,1.362,1.362,0,4.573,3.211,7.783,0,9.145,1.362Z'%20transform='translate(3%2010.145)%20rotate(-90)'%20fill='%23fff'/%3e%3crect%20id='長方形_1295'%20data-name='長方形%201295'%20width='12'%20height='12'%20fill='none'/%3e%3c/svg%3e") no-repeat center/contain;
  transform: translateY(-50%);
  content: "";
}
.cta_blog_smnr .p-button.ico.arrow span {
  position: static;
  z-index: 1;
}
.cta_blog_case .co-name {
  font-size: 0.8125rem; /* 13px */
}
.cta_blog_case .case-dis,
.cta_blog_fnc .fnc-dis {
  font-size: 0.75rem; /* 12px */
}
/* lc（大） */
.cta_blog.lc {
  padding-bottom: 0.9375rem; /* 15px SP */
  border-width: 3px;
}
.cta_blog.lc .box-content {
  display: flex;
  flex-direction: column;
}
.cta_blog.lc .box-content p {
  font-size: 1.0625rem; /* 17px SP */
  font-weight: 700;
  text-align: center;
}
.cta_blog.lc .dl-btn {
  margin: 1.25rem 0 0; /* 20px SP */
}
.cta_blog.lc .p-button {
  width: 80%; /* SP */
  max-width: initial;
  height: 3.125rem; /* 50px SP */
  margin-top: 0;
}
.cta_blog.lc .p-button span {
  font-size: 0.9375rem; /* 15px SP */
}
/* ban（バナー） */
.cta_blog.cta_blog_ban {
  height: 9.375rem; /* 150px SP */
  border: 0;
}
.cta_blog.cta_blog_ban03,
.cta_blog.cta_blog_ban04,
.cta_blog.cta_blog_ban06 {
  height: 11.5625rem; /* 185px SP */
}
.cta_blog_ban > a {
  height: 100%;
  background: linear-gradient(to right, #242e4d 0%, #306cd3 100%);
  color: #fff;
}
.cta_blog_ban02 > a {
  background: linear-gradient(to right, #008dd3 30%, #27c3d5 100%);
}
.cta_blog_ban03 > a,
.cta_blog_ban04 > a,
.cta_blog_ban05 > a,
.cta_blog_ban06 > a,
.cta_blog_ban07 > a,
.cta_blog_ban08 > a,
.cta_blog_ban09 > a {
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.cta_blog_ban03 > a {
  background-image: url(../images/legacy-cta_bg-case-study-fs.png);
}
.cta_blog_ban04 > a {
  background-image: url(../images/legacy-cta_bg-case-study-logi.png);
}
.cta_blog_ban05 > a {
  border: 1px solid #5d5d5d;
  background-image: url(../images/legacy-cta_bg-v-mgmt-gd.png);
}
.cta_blog_ban06 > a {
  border: 1px solid #5d5d5d;
  background-image: url(../images/legacy-cta_bg-sfdrvngl-mngmnt.png);
}
.cta_blog_ban07 > a {
  border: 1px solid #797878;
  background-image: url(../images/legacy-cta_bg-rprt-atmtn.png);
}
.cta_blog_ban08 > a {
  border: 1px solid #5d5d5d;
  background-image: url(../images/legacy-cta_bg-spapp-dynmc-mngmnt.png);
}
.cta_blog_ban09 > a {
  border: 1px solid #5d5d5d;
  background-image: url(../images/legacy-cta_bg-alcohol-check.png);
}
.cta_blog_ban .box-content {
  height: 100%;
  padding: 0.3125rem; /* 5px */
}
.cta_blog_ban .box-content .cta-img,
.cta_blog_ban .box-content .box-wrap,
.cta_blog_ban .box-content .box-wrap02 {
  width: 100%; /* SP */
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.cta_blog_ban .box-content .box-wrap {
  padding: 0.625rem; /* 10px */
}
.cta_blog_ban .box-content .cta-img02 {
  width: 46%;
  height: 100%;
  margin: 0 auto 0 1.25rem; /* 20px */
  padding: 0;
  text-align: center;
}
.cta_blog_ban .box-content .cta-img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.cta_blog_ban02 .box-content .cta-img {
  text-align: right;
}
.cta_blog_ban .cta-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% -15%;
     object-position: 50% -15%;
}
.cta_blog_ban02 .cta-img img {
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.cta_blog_ban .box-wrap > div {
  display: flex;
  align-items: center;
  height: auto; /* SP */
  margin-left: 0;
}
.cta_blog_ban .box-wrap .dl-btn {
  flex-direction: column;
  height: auto; /* SP */
  margin-left: 0;
}
.cta_blog_ban .box-wrap p {
  margin: 0 auto !important;
  font-size: 1.25rem; /* 20px SP */
  font-weight: 700;
  line-height: 1.5;
}
.cta_blog_ban .box-wrap02 p {
  margin: 0.9375rem auto 0.625rem !important; /* 15 auto 10 */
  color: #fff;
  font-size: 1.1875rem; /* 19px SP */
  font-weight: 700;
  line-height: 1.3;
}
.cta_blog_ban .box-wrap02 p span {
  font-size: 0.875rem; /* 14px SP */
}
.cta_blog_ban .box-wrap .micro_copy,
.cta_blog_ban .box-wrap02 .micro_copy {
  margin-top: 0.3125rem !important; /* 5px */
  color: #fff;
  font-size: 0.75rem; /* 12px */
  font-weight: 400;
  line-height: 1.5;
}
.cta_blog_ban .p-button {
  width: 90%;
  max-width: 15.625rem; /* 250px SP */
  height: 2.5rem; /* 40px SP */
  margin: 0.625rem auto 0; /* 10px */
  border: none;
}
.cta_blog_ban .p-button span {
  font-size: 0.9375rem; /* 15px */
}
.cta_blog_ban02 .p-button.cta {
  background-color: #1d66e4;
}
.cta_blog.cta_blog_ban03 .dl-btn,
.cta_blog.cta_blog_ban04 .dl-btn {
  margin-left: 0;
}
/* =========================================================
 * ホバー — 現行は min-width:769px。テーマ既定に合わせ any-hover で出す
 * ========================================================= */
/* =========================================================
 * PC（テーマ既定 mq() ＝ min-width:768px）— 現行の PC 値に戻す
 * ========================================================= */
/* デバッグ用のスタイル */
@media not all and (min-width: 768px){
  .c-section-head-bar::before {
    content: none;
  }
  .c-section-head-bar__title {
    position: relative;
  }
  .c-section-head-bar__title::before {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: -1rem;
    width: 0.3125rem;
    height: 3.75rem;
    background-color: var(--color-brand-blue);
    translate: 0 -50%;
    content: "";
  }
}
@media screen and (min-width: 768px){
  :root {
    --header-nav-height: 7.75rem;
    --header-height: 7.75rem;
    --inner-padding: 3.125rem;
    --inner: 75rem;
  }
  :root[data-info-count="1"] {
    --header-height: 9.375rem;
  }
  :root[data-info-count="2"] {
    --header-height: 11rem;
  }
  html {
    font-size: 1.2307692308vw;
    font-size: 1.2307692308cqi;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  .l-about-auto {
    margin-block-start: 5.625rem;
  }
  .l-about-change {
    margin-block-start: 2.5rem;
  }
  .l-about-copilot {
    margin-block-start: 4.25rem;
  }
  .l-about-flow {
    margin-block-start: 5rem;
  }
  .l-about-issues {
    margin-block-start: 7.875rem;
  }
  .l-about-more {
    margin-block-start: 7.5625rem;
    margin-block-end: 7.0625rem;
  }
  .l-about-mv {
    margin-block-start: 3.75rem;
  }
  .l-about-reason {
    margin-block-start: 7.6875rem;
  }
  .l-auto-summary {
    margin-block-start: 4.3125rem;
  }
  .l-day-change {
    margin-block-start: 5.4125rem;
  }
  .l-feature-panel {
    margin-block-start: 1.375rem;
  }
  .l-feature-spotlight {
    margin-block-start: 6.3125rem;
  }
  .p-cta-band + .l-feature-spotlight {
    margin-block-start: 5.6875rem;
  }
  .l-lower-hero {
    margin-block-start: 3.475rem;
    margin-block-end: 1.725rem;
  }
  .l-other-issues {
    margin-block-start: 6.3125rem;
    margin-block-end: 4.875rem;
  }
  .p-related-features + .l-other-issues {
    margin-block-start: 5.78125rem;
  }
  .l-related-features {
    margin-block-start: 7.1875rem;
  }
  .p-feature-panel[data-visual=stack] + .l-related-features {
    margin-block-start: 4.5875rem;
  }
  .l-salesforce {
    margin-block-start: 5.4375rem;
  }
  .l-theme-cards {
    margin-block-start: 5.5625rem;
  }
  .l-top-about {
    margin-block-start: 5rem;
  }
  .l-top-cases {
    margin-block-start: 6rem;
  }
  .l-top-download {
    margin-block-start: 5rem;
  }
  .l-top-functions {
    margin-block-start: 5rem;
  }
  .l-top-issues {
    margin-block-start: 5rem;
  }
  .l-top-links {
    margin-block-start: 5rem;
  }
  .l-top-reason {
    margin-block-start: 8rem;
  }
  .l-top-topics {
    margin-block-start: 0;
  }
  .c-button-more {
    min-height: 3.1875rem;
    padding-inline: 2.125rem;
    font-size: max(0.9375rem, 10px);
  }
  .c-button-outline-pill {
    --button-outline-pill-min-height: 3.125rem;
    padding-inline: 1.25rem 1rem;
    font-size: max(1rem, 10px);
  }
  .c-heading-dots {
    font-size: max(1.875rem, 10px);
  }
  .c-heading-dots {
    --heading-dots-pad-inline: 2.1875rem;
  }
  .c-heading-dots::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .c-image-zoom__icon {
    inset-block-end: 0.875rem;
    inset-inline-end: 0.875rem;
    width: 3rem;
    height: 3rem;
  }
  .c-image-zoom__icon::before {
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    width: 1.125rem;
    height: 1.125rem;
  }
  .c-image-zoom__icon::after {
    inset-block-start: 1.875rem;
    inset-inline-start: 1.6875rem;
    width: 0.625rem;
  }
  .c-image-zoom--icon-top .c-image-zoom__icon {
    inset-block: -0.5rem auto;
    inset-inline-end: -0.5rem;
    width: 2rem;
    height: 2rem;
  }
  .c-image-zoom--icon-top .c-image-zoom__icon::before {
    inset-block-start: 0.46875rem;
    inset-inline-start: 0.46875rem;
    width: 0.75rem;
    height: 0.75rem;
    border-width: 2px;
  }
  .c-image-zoom--icon-top .c-image-zoom__icon::after {
    inset-block-start: 1.22319375rem;
    inset-inline-start: 1.03569375rem;
    width: 0.5rem;
    height: 2px;
  }
  .c-image-zoom-dialog__scroller {
    padding: 4.5rem 3rem;
  }
  .c-image-zoom-dialog__image {
    width: min(100%, 70rem);
    max-width: min(100%, 70rem);
    max-height: calc(100dvh - 9rem);
    -o-object-fit: contain;
       object-fit: contain;
  }
  .c-image-zoom-dialog.is-mobile-page .c-image-zoom-dialog__image {
    max-inline-size: calc(100vw - 6rem);
    max-width: calc(100vw - 6rem);
    max-block-size: calc(100dvh - 9rem);
  }
  .c-image-zoom-dialog.is-feature-flow .c-image-zoom-dialog__image.is-portrait {
    max-inline-size: calc(100vw - 6rem);
    max-width: calc(100vw - 6rem) !important;
    max-block-size: calc(100dvh - 9rem);
  }
  .c-image-zoom-dialog__close {
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
  }
  .c-image-zoom-dialog.is-tight .c-image-zoom-dialog__image.c-image-zoom-dialog__image {
    width: min(100%, 70rem, (100dvh - 9rem) * var(--zoom-ratio, 1));
  }
  .c-scroll-table.is-scrollable {
    padding-block-end: 0;
  }
  .c-scroll-table__scroller {
    overflow-x: visible;
  }
  .c-scroll-table.is-scrollable:not(.is-at-end) .c-scroll-table__hint {
    display: none;
  }
  .c-section-head-bar {
    padding-inline-start: 1.25rem;
  }
  .c-section-head-bar::before {
    inset-block-start: 50%;
    width: 0.4375rem;
    height: var(--section-head-bar-height, 5.375rem);
  }
  .c-section-head-bar__title {
    font-size: max(2.3125rem, 10px);
  }
  .c-section-head-bar__lead {
    margin-block-start: 0.6875rem;
    font-size: max(1rem, 10px);
  }
  .c-section-head {
    --section-head-rule-margin-block-start: 2rem;
    --section-head-logo-width: 7.9375rem;
  }
  .c-section-head__title {
    font-size: max(2.5rem, 10px);
  }
  .c-section-head__rule {
    width: 10.8125rem;
    height: 0.3125rem;
  }
  .p-404 {
    padding-block: 0.8125rem 4rem;
  }
  .p-404__code {
    font-size: max(7.75rem, 10px);
  }
  .p-404__label {
    margin-block-start: 0.6875rem;
    font-size: max(2.875rem, 10px);
  }
  .p-404__text {
    margin-block-start: 2.25rem;
    font-size: max(1.25rem, 10px);
  }
  .p-about-auto {
    padding-block: 5rem;
  }
  .p-about-auto__table {
    margin-block-start: 3.75rem;
  }
  .p-about-auto__row {
    grid-template-columns: 11.75rem 25.25rem 3.125rem 31.3125rem;
    align-items: center;
    gap: 0;
  }
  .p-about-auto__row + .p-about-auto__row {
    margin-block-start: 2.1875rem;
  }
  .p-about-auto__label {
    min-height: 3.5625rem;
    font-size: max(1.25rem, 10px);
  }
  .p-about-auto__before {
    margin-inline-start: 0.75rem;
    min-height: 3.5625rem;
    font-size: max(1.125rem, 10px);
  }
  .p-about-auto__arrow {
    width: 2.375rem;
    rotate: 0deg;
  }
  .p-about-auto__conclusion-arrow {
    width: 2.375rem;
  }
  .p-about-auto__after {
    min-height: 5.3125rem;
    padding-inline: 1.5rem;
  }
  .p-about-auto__after-text {
    font-size: max(1.625rem, 10px);
  }
  .p-about-auto__after-illust[data-illust=report] {
    inset-block-start: -0.5625rem;
    inset-inline-end: -1.8125rem;
    width: 4.3125rem;
  }
  .p-about-auto__after-illust[data-illust=alcohol] {
    inset-block-start: -0.5rem;
    inset-inline-end: -1.5rem;
    width: 4rem;
  }
  .p-about-auto__after-illust[data-illust=inspection] {
    inset-block-start: -0.0625rem;
    inset-inline-end: -1.8125rem;
    width: 4.3125rem;
  }
  .p-about-auto__after-illust[data-illust=cost] {
    inset-block-start: -0.0625rem;
    inset-inline-end: -1.4375rem;
    width: 3.5625rem;
  }
  .p-about-auto__conclusion-arrow {
    margin-block-start: 3.125rem;
    width: 3rem;
  }
  .p-about-auto__conclusion {
    margin-block-start: 1.6875rem;
    font-size: max(3.3125rem, 10px);
  }
  .p-about-change__lead {
    font-size: max(1rem, 10px);
  }
  .p-about-change__title {
    font-size: max(2.25rem, 10px);
  }
  .p-about-change__marker {
    background-size: 100% 1rem;
  }
  .p-about-change__collage {
    position: relative;
    display: block;
    height: 26.9375rem;
    margin-block-start: 2.6875rem;
  }
  .p-about-change__group {
    display: block;
  }
  .p-about-change__bubbles {
    display: block;
    margin-block-start: 0;
  }
  .p-about-change__bubble {
    position: absolute;
    padding: 0;
  }
  .p-about-change__bubble-text {
    font-size: max(1.25rem, 10px);
  }
  .p-about-change__bubble::after {
    position: absolute;
    display: block;
    background-color: #e2edff;
    content: "";
  }
  .p-about-change__bubble[data-bubble=call] {
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 13.875rem;
    height: 6.4375rem;
  }
  .p-about-change__bubble[data-bubble=alcohol-reminder] {
    inset-block-start: 0.125rem;
    inset-inline-start: 16.4375rem;
    width: 17.625rem;
    height: 7.75rem;
  }
  .p-about-change__bubble[data-bubble=report-handwrite] {
    inset-block-start: 0.5625rem;
    inset-inline-start: 42.3125rem;
    width: 16.125rem;
    height: 6.5rem;
  }
  .p-about-change__bubble[data-bubble=call-incoming] {
    inset-block-start: 2.625rem;
    inset-inline-start: 59.75rem;
    width: 14.125rem;
    height: 7.4375rem;
  }
  .p-about-change__bubble[data-bubble=time] {
    inset-block-start: 8.8125rem;
    inset-inline-start: 2.75rem;
    width: 20.1875rem;
    height: 6.1875rem;
  }
  .p-about-change__bubble[data-bubble=alcohol-app] {
    inset-block-start: 12.8125rem;
    inset-inline-start: 51.125rem;
    width: 16.25rem;
    height: 6.3125rem;
  }
  .p-about-change__bubble[data-bubble=report-auto] {
    inset-block-start: 15.875rem;
    inset-inline-start: 0;
    width: 17.625rem;
    height: 5.0625rem;
  }
  .p-about-change__bubble[data-bubble=inspection] {
    inset-block-start: 21.875rem;
    inset-inline-start: 2.3125rem;
    width: 22.3125rem;
    height: 5.0625rem;
  }
  .p-about-change__bubble[data-bubble=reserve] {
    inset-block-start: 21.0625rem;
    inset-inline-start: 51.8125rem;
    width: 23.1875rem;
    height: 5.875rem;
  }
  .p-about-change__bubble[data-bubble=call]::after,
  .p-about-change__bubble[data-bubble=alcohol-reminder]::after,
  .p-about-change__bubble[data-bubble=report-handwrite]::after,
  .p-about-change__bubble[data-bubble=call-incoming]::after {
    inset-block-start: 100%;
    width: 2.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .p-about-change__bubble[data-bubble=call]::after {
    inset-inline-start: 10.1875rem;
  }
  .p-about-change__bubble[data-bubble=alcohol-reminder]::after {
    inset-inline-start: 12.75rem;
  }
  .p-about-change__bubble[data-bubble=report-handwrite]::after {
    inset-inline-start: 1.25rem;
  }
  .p-about-change__bubble[data-bubble=call-incoming]::after {
    inset-inline-start: 1.625rem;
  }
  .p-about-change__bubble[data-bubble=time]::after,
  .p-about-change__bubble[data-bubble=report-auto]::after,
  .p-about-change__bubble[data-bubble=inspection]::after {
    inset-inline-start: 100%;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .p-about-change__bubble[data-bubble=time]::after {
    inset-block-start: 2.25rem;
  }
  .p-about-change__bubble[data-bubble=report-auto]::after {
    inset-block-start: 1.4375rem;
  }
  .p-about-change__bubble[data-bubble=inspection]::after {
    inset-block-start: 1.4375rem;
  }
  .p-about-change__bubble[data-bubble=alcohol-app]::after,
  .p-about-change__bubble[data-bubble=reserve]::after {
    inset-inline-end: 100%;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
  }
  .p-about-change__bubble[data-bubble=alcohol-app]::after {
    inset-block-start: 2.0625rem;
  }
  .p-about-change__bubble[data-bubble=reserve]::after {
    inset-block-start: 1.8125rem;
  }
  .p-about-change__person {
    position: absolute;
    inset-block-start: 9rem;
    width: auto;
    margin-block-end: 0;
  }
  .p-about-change__person[data-person=manager] {
    inset-block-start: 8.9375rem;
    inset-inline-start: 25.5rem;
    width: 12rem;
  }
  .p-about-change__person[data-person=driver] {
    inset-inline-start: 38.125rem;
    width: 12rem;
  }
  .p-about-change__person-label {
    inset-block-end: -1.4375rem;
    height: 2.875rem;
    font-size: max(1.375rem, 10px);
  }
  .p-about-change__person[data-person=manager] .p-about-change__person-label {
    width: 6rem;
  }
  .p-about-change__person[data-person=driver] .p-about-change__person-label {
    width: 8.6875rem;
  }
  .p-about-copilot {
    padding-block-start: 5rem;
  }
  .p-about-copilot__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-block-start: 4.625rem;
  }
  .p-about-copilot__card {
    height: 29.375rem;
    padding: 11.3125rem 2.5625rem 1.375rem;
    border-radius: 6.25rem 6.25rem 0 0;
  }
  .p-about-copilot__illust {
    position: absolute;
    inset-inline-start: 50%;
    width: auto;
    margin-inline: 0;
    translate: -50% 0;
  }
  .p-about-copilot__illust[data-card=report] {
    inset-block-start: -1.1875rem;
    width: 13.25rem;
  }
  .p-about-copilot__illust[data-card=alcohol] {
    inset-block-start: -1.625rem;
    width: 13rem;
  }
  .p-about-copilot__illust[data-card=copilot] {
    inset-block-start: -2.5rem;
    width: 11.0625rem;
  }
  .p-about-copilot__label {
    font-size: max(0.9375rem, 10px);
  }
  .p-about-copilot__title {
    margin-block-start: 0.25rem;
    font-size: max(1.5rem, 10px);
  }
  .p-about-copilot__desc {
    min-height: 5.625rem;
    margin-block-start: 1.3125rem;
    font-size: max(1rem, 10px);
  }
  .p-about-copilot__card .c-link-arrow {
    justify-self: end;
    margin-block-start: 1.375rem;
  }
  .p-about-flow {
    padding-block-end: 7.3125rem;
  }
  .p-about-flow__steps {
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 0;
    margin-block-start: 3.75rem;
  }
  .p-about-flow__step {
    align-content: end;
  }
  .p-about-flow__step-illust {
    width: 16.5625rem;
  }
  .p-about-flow__step-body {
    margin-block-start: 1.4375rem;
    align-items: center;
  }
  .p-about-flow__step-no {
    width: 2.5625rem;
    height: 2.5625rem;
    font-size: max(1.5625rem, 10px);
  }
  .p-about-flow__step-title {
    font-size: max(1.5rem, 10px);
  }
  .p-about-flow__step-sub {
    font-size: max(1rem, 10px);
  }
  .p-about-flow__arrow {
    position: absolute;
    display: block;
    inset-block-start: 4.875rem;
    width: 6.0625rem;
    translate: -50% 0;
  }
  .p-about-flow__arrow:nth-of-type(2) {
    inset-inline-start: 33.33%;
  }
  .p-about-flow__arrow:nth-of-type(4) {
    inset-inline-start: 66.66%;
  }
  .p-about-flow__defs {
    grid-template-columns: repeat(3, minmax(0, 23.75rem));
    justify-content: center;
    gap: 1.875rem;
    margin-block-start: 3.625rem;
  }
  .p-about-flow__def {
    min-height: 14.125rem;
    padding: 1.875rem 1.875rem 2.1875rem;
  }
  .p-about-flow__def-term {
    font-size: max(1.5rem, 10px);
  }
  .p-about-flow__def-desc {
    margin-block-start: 0.875rem;
    font-size: max(1rem, 10px);
  }
  .p-about-flow__deco {
    position: absolute;
    inset-block-end: 0;
    inset-inline: 0;
    display: block;
    height: 8.375rem;
    background-image: linear-gradient(to bottom, rgba(209, 226, 255, 0), rgb(209, 226, 255));
    clip-path: polygon(0 0, 100% 0, 100% 47.8%, 50% 100%, 0 47.8%);
  }
  .p-about-issues__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-block-start: 6.4375rem;
  }
  .p-about-issues__card {
    height: 24rem;
    padding: 1.9375rem 1.6875rem 1.375rem;
  }
  .p-about-issues__illust {
    position: absolute;
    width: auto;
    margin-block-end: 0;
  }
  .p-about-issues__illust[data-card=efficiency] {
    inset-block-start: -2.0625rem;
    inset-inline-end: 0.625rem;
    width: 9.25rem;
  }
  .p-about-issues__illust[data-card=compliance] {
    inset-block-start: -2.6875rem;
    inset-inline-end: 1.5625rem;
    width: 8rem;
  }
  .p-about-issues__illust[data-card=cost] {
    inset-block-start: -2.6875rem;
    inset-inline-end: 1.1875rem;
    width: 10.375rem;
  }
  .p-about-issues__label {
    font-size: max(0.9375rem, 10px);
  }
  .p-about-issues__title {
    font-size: max(1.25rem, 10px);
  }
  .p-about-issues__desc {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-about-issues__target-label {
    margin-block-start: 1.25rem;
    font-size: max(1.0625rem, 10px);
  }
  .p-about-issues__target {
    margin-block-start: -0.4375rem;
    font-size: max(1rem, 10px);
  }
  .p-about-issues__card .c-link-arrow {
    margin-inline-end: 0.5625rem;
  }
  .p-about-more__frame {
    padding: 2.75rem 3.125rem 2.8125rem;
    border-radius: 1.5rem;
  }
  .p-about-more__title {
    font-size: max(1.875rem, 10px);
  }
  .p-about-more__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem;
    margin-block-start: 1.4375rem;
  }
  .p-about-more__card {
    min-height: 11.625rem;
    padding: 1.9375rem 1.6875rem 1.125rem;
  }
  .p-about-more__label {
    font-size: max(0.9375rem, 10px);
  }
  .p-about-more__card-title {
    font-size: max(1.25rem, 10px);
  }
  .p-about-more__desc {
    margin-block-start: 1rem;
    font-size: max(1rem, 10px);
  }
  .p-about-more__card .c-link-arrow {
    margin-inline-end: 0.125rem;
  }
  .p-about-mv__inner {
    grid-template-columns: minmax(0, 632fr) minmax(0, 555fr);
    align-items: start;
    -moz-column-gap: 0.8125rem;
         column-gap: 0.8125rem;
  }
  .p-about-mv__body {
    padding-block-start: 1.25rem;
  }
  .p-about-mv__logo {
    width: 7.4375rem;
  }
  .p-about-mv__title-then {
    font-size: max(1.625rem, 10px);
  }
  .p-about-mv__title-main {
    margin-block-start: 0.4375rem;
    font-size: max(3.4375rem, 10px);
  }
  .p-about-mv__title-sub {
    margin-block-start: 0.3125rem;
    font-size: max(1.625rem, 10px);
  }
  .p-about-mv__lead {
    margin-block-start: 3.375rem;
    font-size: max(1.125rem, 10px);
  }
  .p-about-reason__list {
    margin-block-start: 3.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
  .p-about-reason__item {
    padding-block-end: 0;
    border-block-end: 0;
    padding-inline: 1.25rem;
    border-inline-end: 1px solid var(--color-brand-blue);
  }
  .p-about-reason__item[data-reason=years] {
    padding-inline-end: 4.5rem;
  }
  .p-about-reason__item[data-reason=salesforce] {
    padding-inline: 3.25rem 0;
  }
  .p-about-reason__item:last-child {
    border-inline-end: 0;
  }
  .p-about-reason__label {
    min-height: 2.25rem;
    padding-block: 0.3125rem;
    padding-inline: 0.75rem;
    font-size: max(1.125rem, 10px);
  }
  .p-about-reason__stat {
    margin-block-start: 0.9375rem;
    min-height: 7.9375rem;
  }
  .p-about-reason__value {
    font-size: max(6.625rem, 10px);
  }
  .p-about-reason__unit {
    margin-block-start: 1.75rem;
    font-size: max(3.5625rem, 10px);
  }
  .p-about-reason__heading {
    margin-block-start: 0.9375rem;
    min-height: 7.9375rem;
    padding-block-start: 0.28125rem;
    font-size: max(2.125rem, 10px);
  }
  .p-about-reason__text {
    margin-block-start: 0;
    font-size: max(1rem, 10px);
  }
  .p-about-reason__lead {
    margin-block-start: 3.8125rem;
    font-size: max(1.5rem, 10px);
  }
  .p-about-reason__logos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem 1rem;
    margin-block-start: 4.375rem;
  }
  .p-about-reason__button {
    margin-block-start: 3.75rem;
  }
  .p-about-reason__heading + .p-about-reason__text {
    margin-block-start: 0;
  }
  .p-about-reason__item:last-child {
    padding-block-end: 0;
  }
  .p-about-auto__row {
    grid-template-columns: 14.5rem 22.5rem 4.875rem 31.3125rem;
  }
  .p-about-auto__label {
    min-height: 4.5rem;
    font-size: max(1.125rem, 10px);
  }
  .p-about-auto__before {
    min-height: 4.5rem;
    font-size: max(1.0625rem, 10px);
  }
  .p-about-auto__after {
    padding-inline: 1.5rem 3.25rem;
  }
  .p-about-auto__after-text {
    font-size: max(1.25rem, 10px);
  }
  .p-about-reason__logo-item[data-logo=maynavi] img {
    height: 2.3125rem;
    max-height: none;
  }
  .p-about-reason__logo-item[data-logo=saikyu] img {
    height: 2.625rem;
    max-height: none;
  }
  .p-about-reason__logo-item[data-logo=subaru-living] img {
    height: 2.375rem;
    max-height: none;
  }
  .p-about-reason__logo-item[data-logo=ebara] img,
  .p-about-reason__logo-item[data-logo=tsukasa] img,
  .p-about-reason__logo-item[data-logo=kenbundo] img {
    height: 3.0625rem;
    max-height: none;
  }
  .p-about-reason__logo-item[data-logo=conexio] img {
    height: 2.875rem;
    max-height: none;
  }
  .p-about-reason__logos {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .l-about-change .p-about-change__collage {
    height: 38.25rem;
  }
  .l-about-change .p-about-change__person[data-person=manager] {
    inset-block-start: 15.75rem;
  }
  .l-about-change .p-about-change__person[data-person=driver] {
    inset-block-start: 15.8125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble] {
    display: grid;
    place-items: center;
    width: -moz-max-content;
    width: max-content;
    max-width: 26.25rem;
    height: auto;
    padding: 1rem 1.5rem;
  }
  .l-about-change .p-about-change__bubble-text {
    font-size: max(1.0625rem, 10px);
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-handwrite] {
    inset-block-start: 0;
    inset-inline-start: 43.125rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-reminder] {
    inset-block-start: 7.875rem;
    inset-inline-start: 38.75rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=call-incoming] {
    inset-block-start: 7.875rem;
    inset-inline-start: 38.75rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=evaluation] {
    inset-block-start: 0;
    inset-inline-start: 21.875rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=call-incoming]::after {
    inset-inline-start: 5.375rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=time]::after {
    inset-block-start: 100%;
    inset-block-end: auto;
    inset-inline-start: 11.75rem;
    inset-inline-end: auto;
    width: 2.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .l-about-change .p-about-change__bubble[data-bubble=inspection]::after {
    inset-block-start: 1.6875rem;
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: 100%;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-reminder]::after {
    inset-inline-start: 5.375rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=evaluation]::after {
    inset-block-start: 100%;
    inset-block-end: auto;
    inset-inline-start: 50%;
    inset-inline-end: auto;
    width: 2.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    translate: -50% 0;
  }
  .l-about-change .p-about-change__bubble[data-bubble=time] {
    inset-block-start: 8.75rem;
    inset-inline-start: 4.125rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=call] {
    inset-block-start: 8.75rem;
    inset-inline-start: 21.875rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-auto] {
    inset-block-start: 16.25rem;
    inset-inline-start: 4.125rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=inspection] {
    inset-block-start: 25.4375rem;
    inset-inline-start: 53.75rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=call]::after {
    inset-block-start: 100%;
    inset-block-end: auto;
    inset-inline-start: 9.625rem;
    inset-inline-end: auto;
    width: 2.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-auto]::after {
    inset-block-start: 2.625rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-app] {
    inset-block-start: 17rem;
    inset-inline-start: 53.75rem;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=one-system] {
    inset-block-start: 25.5625rem;
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=one-system]::after {
    inset-block-start: 1.6875rem;
    inset-block-end: auto;
    inset-inline-start: 100%;
    inset-inline-end: auto;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .l-about-change .p-about-change__collage {
    height: 34.0625rem;
  }
  .l-about-change .p-about-change__person[data-person=manager] {
    inset-block-start: 16.25rem;
  }
  .l-about-change .p-about-change__person[data-person=driver] {
    inset-block-start: 16.3125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=evaluation],
  .l-about-change .p-about-change__bubble[data-bubble=call],
  .l-about-change .p-about-change__bubble[data-bubble=time],
  .l-about-change .p-about-change__bubble[data-bubble=report-auto],
  .l-about-change .p-about-change__bubble[data-bubble=one-system] {
    inset-inline-start: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=evaluation] {
    inset-block-start: 0;
    inset-inline-end: 37.8125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=call] {
    inset-block-start: 8.75rem;
    inset-inline-end: 37.8125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=time] {
    inset-block-start: 8.75rem;
    inset-inline-end: 52.6875rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-auto] {
    inset-block-start: 18.125rem;
    inset-inline-end: 51.125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=one-system] {
    inset-block-start: 27.4375rem;
    inset-inline-end: 51.125rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-handwrite],
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-reminder],
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-app],
  .l-about-change .p-about-change__bubble[data-bubble=inspection] {
    inset-inline-end: auto;
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-handwrite] {
    inset-block-start: 0;
    inset-inline-start: 38.4375rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-reminder] {
    inset-block-start: 8.75rem;
    inset-inline-start: 38.4375rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-app] {
    inset-block-start: 18.125rem;
    inset-inline-start: 51.75rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=inspection] {
    inset-block-start: 27.4375rem;
    inset-inline-start: 51.75rem;
  }
  .l-about-change .p-about-change__bubble[data-bubble=report-auto]::after,
  .l-about-change .p-about-change__bubble[data-bubble=one-system]::after {
    inset-block-start: 50%;
    inset-inline-start: 100%;
    inset-inline-end: auto;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    translate: 0 -50%;
  }
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-app]::after,
  .l-about-change .p-about-change__bubble[data-bubble=inspection]::after {
    inset-block-start: 50%;
    inset-inline-start: auto;
    inset-inline-end: 100%;
    width: 1rem;
    height: 2.25rem;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    translate: 0 -50%;
  }
  .l-about-change .p-about-change__bubble[data-bubble=evaluation]::after,
  .l-about-change .p-about-change__bubble[data-bubble=call]::after,
  .l-about-change .p-about-change__bubble[data-bubble=report-handwrite]::after,
  .l-about-change .p-about-change__bubble[data-bubble=alcohol-reminder]::after,
  .l-about-change .p-about-change__bubble[data-bubble=time]::after {
    inset-block-start: 100%;
    inset-inline-start: 50%;
    inset-inline-end: auto;
    width: 2.25rem;
    height: 1rem;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    translate: -50% 0;
  }
  .p-ai-figures__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem;
    margin-block-start: 2.03125rem;
  }
  .p-ai-figures__list--single {
    grid-template-columns: minmax(0, 36.8125rem);
    justify-content: center;
  }
  .l-efficiency-ai .p-ai-figures__list--single,
  .l-safety-ai .p-ai-figures__list--single {
    grid-template-columns: minmax(0, 43.75rem);
  }
  .p-ai-figures__link {
    margin-block-start: 1.6875rem;
  }
  .l-efficiency-ai .p-ai-figures__link,
  .l-safety-ai .p-ai-figures__link {
    width: min(100%, 43.75rem);
    margin-inline: auto;
  }
  .p-archive-hero {
    margin-block-start: 2.8125rem;
  }
  .p-archive-hero__title {
    font-size: max(3.4375rem, 10px);
  }
  .p-archive-hero__logo {
    width: 11.0875rem;
    translate: 0 0.3125rem;
  }
  .p-archive-hero__lead {
    margin-block-start: 1.375rem;
    font-size: max(1rem, 10px);
  }
  .p-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4625rem 1.75rem;
  }
  .p-archive-card__body {
    padding: 1.3125rem 2rem 1.5625rem;
  }
  .p-archive-card__title {
    font-size: max(1.25rem, 10px);
  }
  .p-archive-card__date {
    font-size: max(1.125rem, 10px);
  }
  .p-auto-summary__group {
    margin-block-start: 2.5625rem;
  }
  .p-auto-summary__group + .p-auto-summary__group {
    margin-block-start: 2.25rem;
  }
  .p-auto-summary__subtitle {
    font-size: max(1.5rem, 10px);
  }
  .p-auto-summary__pair {
    position: relative;
    margin-block-start: 0.625rem;
    grid-template-columns: 34.375rem 34.375rem;
    gap: 0 6.25rem;
  }
  .p-auto-summary__card {
    min-height: 8.8125rem;
    padding-inline: 1.5625rem;
  }
  .p-auto-summary__card[data-side=before] {
    padding-block-start: 2.25rem;
  }
  .p-auto-summary__card[data-side=after] {
    padding-block: 2.125rem 1.25rem;
    padding-inline: 1.375rem;
  }
  .p-auto-summary__text {
    font-size: max(1rem, 10px);
  }
  .p-auto-summary__card[data-side=after] .p-auto-summary__text {
    font-size: max(1.25rem, 10px);
  }
  .p-auto-summary__more {
    position: absolute;
    inset-block-end: 1.25rem;
    inset-inline-end: 1.375rem;
  }
  .p-auto-summary__arrow {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 33.3125rem;
    z-index: 0;
    display: block;
    height: auto;
    width: 6.08125rem;
    translate: 0 -50%;
  }
  .p-auto-summary__arrow img {
    width: 100%;
    rotate: none;
  }
  .page-billing .p-page-hero {
    padding-block: 3.54375rem;
  }
  .l-billing-intro {
    margin-block-start: 2.6875rem;
  }
  .p-billing-intro__lead {
    font-size: max(1.25rem, 10px);
  }
  .p-billing-intro__notice {
    margin-block-start: 3.6625rem;
    padding: 2.15625rem 1.8125rem;
    font-size: max(1rem, 10px);
    text-align: center;
  }
  .l-billing-flow {
    margin-block-start: 2.4375rem;
  }
  .p-billing-flow__body {
    grid-template-columns: 23.75rem minmax(0, 1fr);
    align-items: start;
    gap: 2.25rem;
  }
  .p-billing-flow__badge {
    inset-inline-start: 1.5625rem;
    gap: 0.6875rem;
  }
  .p-billing-flow__badge-label {
    font-size: max(1.25rem, 10px);
  }
  .p-billing-flow__box {
    padding: 1.6625rem 1.5625rem 2.0625rem;
  }
  .p-billing-flow__title {
    font-size: max(1.5rem, 10px);
  }
  .p-billing-flow__text {
    font-size: max(1rem, 10px);
  }
  .p-billing-flow__visual {
    padding-block-start: 3rem;
  }
  .p-billing-flow__note {
    margin-block-start: 2rem;
    font-size: max(0.9375rem, 10px);
    text-align: center;
  }
  .l-billing-terms {
    margin-block-start: 5.5625rem;
  }
  .p-billing-terms__list {
    margin-block-start: 2.25rem;
  }
  .p-billing-terms__row {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    margin-block-start: 1.40625rem;
  }
  .p-billing-terms__term,
  .p-billing-terms__desc {
    padding-block-end: 0.03125rem;
    font-size: max(1rem, 10px);
  }
  .l-billing-notes {
    margin-block-start: 7.03125rem;
  }
  .p-billing-notes__list {
    margin-block-start: 1.8125rem;
  }
  .p-billing-notes__item {
    font-size: max(1.125rem, 10px);
  }
  .p-billing-notes__item + .p-billing-notes__item {
    margin-block-start: 0.5rem;
  }
  .l-billing-related {
    margin-block-start: 6.9375rem;
    margin-block-end: 5.9375rem;
  }
  .p-billing-related__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem;
    margin-block-start: 2.25rem;
  }
  .p-billing-related__card {
    padding: 2.24375rem 1.7rem 2.725rem;
  }
  .p-billing-related__name {
    font-size: max(1.25rem, 10px);
  }
  .p-billing-related__foot {
    margin-block-start: 0.6375rem;
  }
  .p-billing-related__text {
    font-size: max(1rem, 10px);
  }
  .l-blog-detail-head {
    margin-block-start: 3.75rem;
  }
  .p-blog-detail-head__title {
    margin-block-start: 2.0625rem;
    font-size: max(2.25rem, 10px);
  }
  .p-blog-detail-head__tags {
    margin-block-start: 1rem;
  }
  .p-blog-detail-head__meta {
    margin-block-start: 1rem;
    font-size: max(0.9375rem, 10px);
  }
  .l-blog-detail-body {
    margin-block-start: 2.25rem;
  }
  .p-blog-detail__layout {
    grid-template-columns: minmax(0, 833fr) minmax(0, 300fr);
    align-items: stretch;
    gap: 4.1875rem;
  }
  .p-blog-side {
    align-content: start;
  }
  .p-blog-detail__content {
    margin-block-start: 2.3125rem;
  }
  .p-blog-detail-download {
    margin-block-start: 4.4375rem;
    padding: 2rem 1.5rem 2.25rem;
  }
  .p-blog-detail-download__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-block-start: 1.4375rem;
  }
  .p-blog-detail-download__more {
    margin-block-start: 1.4375rem;
  }
  .p-blog-detail-download__card {
    grid-template-columns: 5.25rem minmax(0, 1fr);
    align-items: center;
    gap: 0.625rem 0.875rem;
    padding: 0.875rem;
  }
  .p-blog-detail-download__thumb {
    grid-column: 1;
    grid-row: 1/3;
    width: 5.25rem;
    justify-self: start;
  }
  .p-blog-detail-download__body {
    display: contents;
  }
  .p-blog-detail-download__title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: max(1rem, 10px);
  }
  .p-blog-detail-download__lead {
    margin-block-start: 1.125rem;
    font-size: max(1rem, 10px);
  }
  .p-blog-detail-download__button {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }
  .p-blog-detail-author {
    grid-template-columns: 9.1875rem minmax(0, 1fr);
    align-items: start;
    gap: 2.75rem;
    margin-block-start: 2.875rem;
  }
  .p-blog-detail-author__avatar {
    width: 9.1875rem;
    height: 9.1875rem;
  }
  .p-blog-detail-author__body {
    padding: 1.4375rem 3rem;
  }
  .p-blog-detail-author__body::before {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 1.875rem;
    width: 2.375rem;
    height: 2rem;
    background-color: var(--color-surface-gray);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    content: "";
  }
  .p-blog-detail-author__name,
  .p-blog-detail-author__text {
    font-size: max(1rem, 10px);
  }
  .p-blog-detail-meta {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    margin-block-start: 2rem;
    padding-block: 1.5625rem;
  }
  .p-blog-detail-meta__label {
    font-size: max(1.125rem, 10px);
  }
  .p-blog-detail-meta__tags {
    gap: 1.375rem;
  }
  .p-blog-detail-meta__tag {
    min-height: 3.1875rem;
    padding-inline: 1.25rem;
  }
  .p-blog-side {
    gap: 1.1875rem;
  }
  .p-blog-side__box {
    padding: 1.1875rem 1.3125rem 1.5rem;
  }
  .p-blog-side__box--card {
    padding-block-start: 2.375rem;
  }
  .p-blog-side__doc-slot {
    align-self: start;
  }
  .p-blog-side__box--doc.is-fade-in {
    transition: opacity 160ms ease-out;
  }
  /* 動きを抑えたい人への配慮 */
  .p-blog-side__title {
    font-size: max(1.25rem, 10px);
  }
  .p-blog-side__doc-title {
    font-size: max(1.125rem, 10px);
  }
  .p-blog-side__thumb {
    width: 12rem;
  }
  .l-blog-detail-related {
    margin-block-start: 6.8125rem;
    margin-block-end: 4.55625rem;
  }
  .p-blog-detail-posts {
    margin-block-start: 6.8125rem;
  }
  .p-blog-detail-related .p-feature-related__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-block-start: 3.65625rem;
  }
  .p-blog-detail-related .p-feature-related__foot {
    gap: 0.4375rem;
    padding-inline: 1.7rem 1.1875rem;
  }
  .p-blog-detail-related__desc {
    padding: 0.875rem 1.1875rem 2.625rem 1.7rem;
    font-size: max(1rem, 10px);
  }
  .l-blog-detail-cases {
    margin-block-start: 6.4375rem;
    margin-block-end: 4.55625rem;
  }
  .p-blog-detail-cases__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-block-start: 3.6875rem;
  }
  .p-blog-detail-cases__card {
    grid-template-columns: 14.0875rem minmax(0, 1fr);
    grid-template-rows: auto auto auto auto 1fr;
    align-content: start;
    gap: 0.875rem 1.475rem;
    padding: 1.5875rem 1.875rem 2.5625rem;
  }
  .p-blog-detail-cases__media {
    grid-row: 1/3;
  }
  .p-blog-detail-cases__head {
    align-self: center;
  }
  .p-blog-detail-cases__title {
    grid-column: 1/-1;
    font-size: max(1.25rem, 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .p-blog-detail-cases__text,
  .p-blog-detail-cases__link {
    grid-column: 1/-1;
  }
  .p-blog-detail-cases__link {
    align-self: end;
  }
  .p-blog-detail-cases__text {
    font-size: max(1rem, 10px);
  }
  .p-blog-detail-cases__cat {
    font-size: max(1rem, 10px);
  }
  .p-blog-detail__content.p-post-content > h3 {
    font-size: max(1.5rem, 10px);
  }
  .p-blog-detail__content.p-post-content p {
    font-size: max(1.125rem, 10px);
    line-height: 1.8888888889;
  }
  .p-blog-doc::before,
  .p-blog-doc::after {
    display: block;
  }
  .p-blog-search {
    gap: 1.25rem;
    padding: 0.625rem 1.89375rem 0.625rem 1.51875rem;
  }
  .p-blog-search-panel__body {
    gap: 1.625rem;
    padding: 0 1.89375rem 1.75rem 1.51875rem;
  }
  .p-blog-search-panel__title {
    font-size: max(1.125rem, 10px);
  }
  .p-blog-search-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: stretch;
    gap: 1rem;
    max-width: 45rem;
  }
  .p-blog-search-form__submit {
    min-width: 7.5rem;
    min-height: 3.125rem;
  }
  .p-blog-search-panel__chips {
    gap: 0.875rem;
  }
  .p-blog-search__title {
    font-size: max(1.25rem, 10px);
  }
  .p-blog-search__note {
    font-size: max(0.8125rem, 10px);
  }
  .p-blog-doc {
    padding-block: 2.4625rem 2.00625rem;
  }
  .p-blog-doc__inner {
    grid-template-columns: 11.375rem minmax(0, 1fr) auto;
    align-items: center;
    justify-items: stretch;
    gap: 2.5rem;
  }
  .p-blog-doc__visual {
    width: 11.375rem;
  }
  .p-blog-doc__title {
    font-size: max(2.5rem, 10px);
  }
  .p-blog-doc__lead {
    margin-block-start: 1.5rem;
    font-size: max(1.25rem, 10px);
  }
  .p-blog-doc__button {
    min-width: 15.9375rem;
    min-height: 5.1125rem;
    padding-inline: 1.875rem;
    font-size: max(1.375rem, 10px);
  }
  .l-blog-search {
    margin-block-start: 2.25rem;
  }
  .l-blog-latest {
    margin-block-start: 4.21875rem;
  }
  .l-blog-grid {
    margin-block-start: 4.21875rem;
  }
  .p-blog-latest .p-archive-card {
    grid-template-columns: minmax(0, 8.6875rem) minmax(0, 1fr);
    gap: 0.5rem;
    align-items: stretch;
    padding: 1rem 0.625rem;
  }
  .p-blog-latest .p-archive-card__thumb {
    width: 100%;
    height: 100%;
    overflow: hidden;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-blog-latest .p-archive-card__media {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 0.5rem;
  }
  .p-blog-latest .p-archive-card__body.p-archive-card__body {
    padding: 0 1.375rem 0 0;
  }
  .l-blog-doc {
    margin-block-start: 3.25rem;
  }
  .l-blog-banner {
    margin-block-start: 3rem;
  }
  .l-blog-archive {
    margin-block-start: 3.99375rem;
    margin-block-end: 3.525rem;
  }
  .p-blog-archive__pagination {
    margin-block-start: 0;
    padding-block-start: 1.75rem;
  }
  .p-blog-archive .p-blog-detail__layout .p-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-blog-latest .p-archive-card__media {
    position: relative;
  }
  .p-blog-latest .p-archive-card__media .p-archive-card__tags {
    inset-block-start: auto;
    inset-block-end: 0;
    inset-inline-start: 0;
    max-width: 100%;
    padding: 0.375rem;
    flex-wrap: wrap;
  }
  :is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumbs {
    flex-wrap: wrap;
  }
  :is(.single-seminar, .single-case, .single-post) .p-breadcrumb .aioseo-breadcrumb:last-child {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .p-case-detail__main > h2 {
    font-size: max(1.875rem, 10px);
  }
  .p-case-detail__main > h2::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .l-case-detail-head {
    margin-block-start: 3.15625rem;
  }
  .p-case-detail-head__title {
    margin-block-start: 1.15625rem;
    font-size: max(2.25rem, 10px);
  }
  .l-case-detail-body {
    margin-block-start: 2.46875rem;
    margin-block-end: 5.3875rem;
  }
  .p-case-detail-body__inner {
    display: grid;
    grid-template-columns: 52.0625rem 21.5rem;
    -moz-column-gap: 1.4375rem;
         column-gap: 1.4375rem;
  }
  .p-case-detail__hero {
    grid-column: 1;
    grid-row: 1;
  }
  .p-case-detail-body__side {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: stretch;
    align-content: start;
    display: grid;
    gap: 1.5rem;
  }
  .p-case-detail-company {
    margin-block: 0;
    padding: 2rem 1.75rem 1.625rem 2.1875rem;
  }
  .p-case-detail__main {
    grid-column: 1;
    grid-row: 2;
  }
  .p-case-detail-company__title {
    margin-block-start: 1.1875rem;
    font-size: max(1.25rem, 10px);
  }
  .p-case-detail-company__list {
    margin-block-start: 0.46875rem;
  }
  .p-case-detail-company__label,
  .p-case-detail-company__value {
    font-size: max(1rem, 10px);
  }
  .p-case-detail__main,
  .p-case-detail__main > p {
    font-size: max(1rem, 10px);
  }
  .p-case-detail__main > :is(p, h2, h3, h4, ul, ol, figure, blockquote, table, .c-scroll-table) + :is(p, h2, h3, h4, ul, ol, figure, blockquote, table, .c-scroll-table) {
    margin-block-start: 1.75rem;
  }
  .p-case-detail__main > h2 {
    --heading-dots-pad-inline: 2.1875rem;
  }
  .p-case-detail__main > h3 {
    font-size: max(1.125rem, 10px);
  }
  .p-case-detail__main > :is(p, ul, ol, figure, blockquote, table, .c-scroll-table) + h2 {
    margin-block-start: 5.125rem;
  }
  .p-case-detail__main > :is(p, ul, ol, figure, blockquote, table, .c-scroll-table) + h3 {
    margin-block-start: 3.5rem;
  }
  .p-case-detail__main > :is(h2, h3) + :is(p, h4, ul, ol, figure, blockquote, table, .c-scroll-table) {
    margin-block-start: 1.25rem;
  }
  .p-case-detail__main > :is(ul, ol) > li {
    font-size: max(1.125rem, 10px);
  }
  .l-case-detail-section {
    margin-block-start: 3.71875rem;
  }
  .l-case-detail-section + .l-case-detail-section {
    margin-block-start: 6.21875rem;
  }
  .l-case-detail-section + .l-case-detail-section--result {
    margin-block-start: 5.15625rem;
  }
  .p-case-detail__text {
    margin-block-start: 3.65625rem;
  }
  .p-case-detail-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.65625rem;
    margin-block-start: 3.1875rem;
  }
  .p-case-detail-stat {
    padding-block: 2.09375rem 2.65625rem;
  }
  .p-case-detail-stat__label {
    padding: 0.4375rem 0.4375rem 0.4375rem;
    font-size: max(1.25rem, 10px);
  }
  .p-case-detail-stat__value {
    margin-block-start: 0.8125rem;
    font-size: max(1.875rem, 10px);
  }
  .p-case-detail-stat__num {
    font-size: max(3rem, 10px);
  }
  .p-case-detail__text--stats {
    margin-block-start: 1.40625rem;
  }
  .l-case-detail-voice {
    margin-block-start: 6.5rem;
  }
  .p-case-detail-voice {
    grid-template-columns: 9.1875rem minmax(0, 1fr);
    align-items: start;
    justify-items: stretch;
    gap: 2.75rem;
  }
  .p-case-detail-voice:not(:has(.p-case-detail-voice__avatar)) {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-case-detail-voice:has(.p-case-detail-voice__avatar) .p-case-detail-voice__avatar {
    grid-column: 1;
    grid-row: 1;
  }
  .p-case-detail-voice:has(.p-case-detail-voice__avatar) .p-case-detail-voice__bubble {
    grid-column: 2;
    grid-row: 1;
  }
  .p-case-detail-voice__avatar {
    width: 9.1875rem;
    height: 9.1875rem;
    margin-block-start: 1.4375rem;
  }
  .p-case-detail-voice__bubble {
    padding: 2.15625rem 2.9375rem 2.15625rem 3rem;
  }
  .p-case-detail-voice__bubble::after {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 3.7125rem;
    width: 0;
    height: 0;
    border-inline: 2.225rem solid transparent;
    border-block-start: 1.9125rem solid var(--color-surface-gray);
    content: "";
  }
  .p-case-detail-voice__text {
    font-size: max(1.25rem, 10px);
  }
  .p-case-detail-voice__name {
    margin-block-start: 0.375rem;
    font-size: max(1rem, 10px);
  }
  .l-case-detail-features {
    margin-block-start: 6.3125rem;
  }
  .p-case-detail-features__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.625rem;
    margin-block-start: 2.125rem;
  }
  .p-case-detail-features__link {
    min-height: 4.5rem;
    padding: 1.3125rem 1.1875rem 1.1875rem 1.3125rem;
    font-size: max(1rem, 10px);
  }
  .p-case-detail-features__link--outline {
    padding: 1.25rem 1.125rem 1.125rem 1.25rem;
  }
  .p-case-detail-features__link .c-icon-arrow-circle {
    width: 1.5rem;
  }
  .l-case-detail-next {
    margin-block-start: 5.25rem;
    margin-block-end: 5.1875rem;
  }
  .p-case-detail-next__lead {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-case-detail-next__button {
    justify-self: start;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 19.0625rem;
    margin-block-start: 1.4375rem;
    padding-inline: 1.3125rem 1.125rem;
  }
  .p-case-detail__main .p-case-section__head {
    font-size: max(1.875rem, 10px);
  }
  .p-case-detail__main .p-case-section__head {
    --heading-dots-pad-inline: 2.1875rem;
    font-size: max(2.3125rem, 10px);
  }
  .p-case-detail__main .p-case-section__head::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-case-detail__main .p-case-section__ttl {
    font-size: max(1.5rem, 10px);
  }
  .p-case-detail__main .l-column-content__section {
    margin-block-start: 4rem;
  }
  .p-case-detail__main .p-case-section__txt + div {
    margin-block-start: 2.5rem;
  }
  .p-case-detail__main .p-case-section__txt {
    font-size: max(1rem, 10px);
  }
  .l-case-related {
    margin-block-start: 6.4375rem;
    margin-block-end: 4.55625rem;
  }
  .p-case-related__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-block-start: 3.6875rem;
  }
  .p-case-doc {
    padding-block: 2.4625rem 2.00625rem;
    border-radius: 1.5rem;
  }
  .p-case-doc__inner {
    grid-template-columns: 11.375rem minmax(0, 1fr) auto;
    align-items: center;
    justify-items: stretch;
    gap: 2.5rem;
  }
  .p-case-doc__visual {
    width: 11.375rem;
  }
  .p-case-doc__title {
    font-size: max(2.5rem, 10px);
  }
  .p-case-doc__lead {
    margin-block-start: 1.5rem;
    font-size: max(1.25rem, 10px);
  }
  .l-case-doc {
    margin-block: 5rem;
  }
  .p-case-detail__main .p-case-section__img.left,
  .p-case-detail__main .p-case-section__img.right {
    width: 48.75%;
    margin-block-end: 7.5rem;
  }
  .p-case-detail__main .p-case-section__img.left {
    float: left;
    margin-inline-end: 1.25rem;
  }
  .p-case-detail__main .p-case-section__img.right {
    float: right;
    margin-inline-start: 1.25rem;
  }
  .p-case-detail__main .p-case-section__img-caption {
    font-size: max(0.875rem, 10px);
  }
  .p-case-detail__main .p-case-section__img:is(.left, .right).mb-0 {
    margin-block-end: 0 !important;
  }
  .p-case-detail__main .p-case-section__img:is(.left, .right).mb-10 {
    margin-block-end: 0.625rem !important;
  }
  .p-case-detail__main .p-case-section__img:is(.left, .right).mb-30 {
    margin-block-end: 1.875rem !important;
  }
  .p-case-detail__main .p-case-section__img:is(.left, .right).mb-50 {
    margin-block-end: 3.125rem !important;
  }
  .p-case-detail__main .p-case-anchor__item {
    display: flex;
    align-items: center;
  }
  .p-case-detail__main .p-case-anchor__head {
    flex: 0 0 8.125rem;
    margin-block-end: 0;
    margin-inline-end: 1.25rem;
  }
  .p-case-detail__main .ttl-paragraph {
    margin-block-end: 1.25rem;
  }
  .p-case-detail__main .p-case-anchor__item > p {
    flex: 1;
    min-width: 0;
  }
  .p-case-detail__main .p-case-section__txt {
    font-size: max(1.125rem, 10px);
    line-height: 1.8888888889;
  }
  .p-case-detail__main .p-case-section__img:is(.left, .right).mb-0 {
    margin-block-end: 1.25rem !important;
  }
  .p-case-detail__main .p-case-section__img.left {
    margin-inline-end: 1.875rem;
  }
  .p-case-detail__main .p-case-section__img.right {
    margin-inline-start: 1.875rem;
  }
  .p-case-pickup {
    padding-block: 4.53125rem 5.71875rem;
  }
  .p-case-pickup__grid {
    margin-block-start: 2.28125rem;
  }
  .p-case-card__badge {
    font-size: max(0.75rem, 10px);
  }
  .p-case-card--pickup .p-case-card__body {
    padding: 3.4375rem 2rem 1.34375rem;
  }
  .p-case-card--pickup .p-case-card__title {
    margin-block-start: 0.9375rem;
  }
  .p-case-card__title {
    font-size: max(1.25rem, 10px);
  }
  .p-case-card__industry {
    margin-block-start: 0.4375rem;
    font-size: max(1rem, 10px);
  }
  .p-case-card__meta {
    font-size: max(1rem, 10px);
  }
  .p-case-card--pickup .p-case-card__meta {
    margin-block-start: 0.375rem;
  }
  .p-case-card--pickup .p-case-card__link {
    margin-block-start: 0.8125rem;
  }
  .p-case-search__tabs {
    gap: 0 1.125rem;
    margin-block-start: 3.53125rem;
  }
  .p-case-search__tab {
    padding: 0.40625rem 1.875rem 1.65625rem;
    font-size: max(1.25rem, 10px);
    line-height: 1.7;
  }
  .p-case-search__radio:checked + .p-case-search__tab {
    padding-block: 0.59375rem 1.84375rem;
    font-size: max(1.5rem, 10px);
    line-height: 1.4167;
  }
  .p-case-search__panel {
    padding: 2.1875rem 2.5rem 1.84375rem;
  }
  .p-case-search__label {
    font-size: max(1rem, 10px);
  }
  .p-case-search__options {
    margin-block-start: 1.84375rem;
  }
  .p-case-result__count,
  .p-case-result__grid {
    margin-inline: 2.5rem;
  }
  .p-case-result__count {
    padding-block-end: 1.4375rem;
    font-size: max(1.25rem, 10px);
  }
  .p-case-result__count-num {
    font-size: max(2rem, 10px);
  }
  .p-case-result__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.625rem 2.04375rem;
    margin-block-start: 2.40625rem;
  }
  .p-case-card--list .p-case-card__body {
    padding: 2.75rem 1.0625rem 1.25rem;
  }
  .p-case-card--list .p-case-card__title {
    margin-block-start: 0.1875rem;
  }
  .p-case-card--list .p-case-card__meta {
    margin-block-start: 0.28125rem;
  }
  .p-case-card--list .p-case-card__link {
    margin-block-start: 0.90625rem;
  }
  .l-case-pickup {
    margin-block-start: 3.05rem;
  }
  .l-case-search {
    margin-block-start: 6.3125rem;
  }
  .l-case-result {
    margin-block-start: 2.96875rem;
    margin-block-end: 9.84375rem;
  }
  .l-company-mission {
    margin-block-start: 3.1875rem;
  }
  .p-company-mission__inner {
    grid-template-columns: 23.125rem minmax(0, 1fr) 23.125rem;
    align-items: start;
    gap: 3.125rem;
    max-width: 93.75rem;
    margin-inline: auto;
    padding-inline: 0;
  }
  .p-company-mission__lead br,
  .p-company-recruit__lead br {
    display: inline;
  }
  .p-company-mission__body {
    grid-column: auto;
    grid-row: auto;
  }
  .p-company-mission__label {
    font-size: max(1.125rem, 10px);
  }
  .p-company-mission__title {
    margin-block-start: 1.0625rem;
    font-size: max(3.125rem, 10px);
  }
  .p-company-mission__lead {
    margin-block-start: 2.5rem;
    font-size: max(1.125rem, 10px);
  }
  .l-company-info {
    margin-block-start: 6.8125rem;
  }
  .p-company-info__list {
    margin-block-start: 2.71875rem;
  }
  .p-company-info__row {
    grid-template-columns: 6.25rem minmax(0, 1fr);
    -moz-column-gap: 1.375rem;
         column-gap: 1.375rem;
    margin-block-start: 1.375rem;
  }
  .p-company-info__term,
  .p-company-info__desc {
    padding-block-end: 0.0625rem;
    font-size: max(1rem, 10px);
  }
  .l-company-access {
    margin-block-start: 5.5625rem;
  }
  .p-company-access__map {
    margin-block-start: 2.75rem;
  }
  .p-company-access__cols {
    grid-template-columns: 29.1875rem minmax(0, 1fr);
    gap: 0rem 0rem;
    margin-block-start: 1.71875rem;
  }
  .p-company-access__label {
    padding-block-end: 0.4375rem;
    font-size: max(1rem, 10px);
  }
  .p-company-access__address {
    margin-block-start: 1.4375rem;
    font-size: max(1rem, 10px);
  }
  .p-company-access__list {
    margin-block-start: 1.15625rem;
  }
  .p-company-access__item {
    padding-inline-start: 1.25rem;
    font-size: max(1rem, 10px);
  }
  .p-company-access__item + .p-company-access__item {
    margin-block-start: 0.5625rem;
  }
  .l-company-recruit {
    margin-block-start: 8rem;
    margin-block-end: 4.7875rem;
  }
  .p-company-recruit__card {
    grid-template-columns: minmax(0, 676fr) minmax(0, 524fr);
    align-items: center;
  }
  .p-company-recruit__body {
    padding: 3.4375rem 2.5rem 2.5rem 3.6875rem;
  }
  .p-company-recruit__label {
    font-size: max(1rem, 10px);
  }
  .p-company-recruit__title {
    margin-block-start: 0.5625rem;
    font-size: max(2.5rem, 10px);
  }
  .p-company-recruit__lead {
    margin-block-start: 1.4375rem;
    font-size: max(1.125rem, 10px);
  }
  .p-company-recruit__button {
    margin-block-start: 1.75rem;
  }
  .p-company-recruit__figure {
    align-self: stretch;
  }
  .p-company-recruit__figure img {
    height: 100%;
    aspect-ratio: auto;
  }
  .p-company-info__row,
  .p-company-info__row:first-child {
    grid-template-columns: 12.5rem minmax(0, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    margin-block-start: 0;
  }
  .p-company-info__term,
  .p-company-info__desc {
    padding: 1.125rem 1.5rem;
  }
  .p-company-info__row,
  .p-company-info__row:first-child {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
  }
  .p-company-info__term {
    border-inline-end: 1px solid #dbdbdb;
  }
  .p-company-info__term,
  .p-company-info__desc {
    padding: 1.125rem 1.5rem;
  }
  .p-company-recruit__button {
    margin-inline: 0;
  }
  .p-contact .c-form-embed__frame {
    min-height: 0;
  }
  .p-content h2 {
    margin-block: 3rem 1.25rem;
  }
  .p-content :is(h3, h4, p) {
    margin-block: 1.25rem;
  }
  .p-content :is(ul, ol) {
    margin-block: 1.375rem 1rem;
  }
  .p-content .wp-block-button {
    margin-block: 1.25rem 2rem;
  }
  .p-content h2 {
    font-size: max(1.3125rem, 10px);
  }
  .p-content h3 {
    font-size: max(1.125rem, 10px);
  }
  .p-content h4 {
    font-size: max(1rem, 10px);
  }
  .p-content :is(ul, ol, p) {
    font-size: max(0.875rem, 10px);
  }
  .p-content a[href^="tel:"] {
    text-decoration: underline;
  }
  .p-correspondence {
    padding-block: 3.75rem 6.25rem;
  }
  .p-correspondence__lead {
    font-size: max(1rem, 10px);
  }
  .p-correspondence__note {
    margin-block-start: 3.125rem;
    font-size: max(1rem, 10px);
  }
  .p-correspondence__table {
    margin-block: 3rem 0;
  }
  .p-correspondence__table table {
    border-spacing: 1.375rem 0;
  }
  .p-correspondence__table :is(th, td) {
    padding-block: 0.625rem 0.75rem;
    font-size: max(1rem, 10px);
  }
  .p-correspondence__table th {
    font-size: max(1rem, 10px);
  }
  .p-cost-simulator__title br {
    display: inline;
  }
  .p-cost-reduce__name {
    padding-block: 0;
  }
  .l-cost-hero .p-lower-hero__inner {
    grid-template-columns: minmax(0, 711fr) minmax(0, 489fr);
    -moz-column-gap: 0;
    column-gap: 0;
  }
  .l-cost-hero .p-lower-hero__visual {
    width: 30.5625rem;
  }
  .l-cost-simulator {
    margin-block-start: 5rem;
  }
  .p-persona-flow__card.p-persona-flow__card--tight {
    padding-inline: 0.875rem;
  }
  .p-cost-simulator__box {
    padding: 3.125rem;
  }
  .p-cost-simulator__title {
    font-size: max(2.25rem, 10px);
  }
  .p-cost-simulator__lead {
    margin-block-start: 1.375rem;
    font-size: max(1rem, 10px);
  }
  .p-cost-simulator__input-area {
    max-width: 53.125rem;
    margin-block-start: 3rem;
    padding-block-end: 3.25rem;
    margin-inline: auto;
    border-block-end: 1px solid #c9ccd1;
  }
  .p-cost-simulator__panel {
    display: contents;
  }
  .p-cost-simulator__panel::details-content {
    display: contents;
  }
  .p-cost-simulator__panel-summary {
    display: none;
  }
  .p-cost-simulator__fields {
    grid-template-columns: minmax(0, 19rem) repeat(2, minmax(0, 11.875rem));
    align-items: center;
    justify-content: center;
    gap: 2.375rem 3.75rem;
    margin-block-start: 0;
    padding: 0;
  }
  .p-cost-simulator__field:first-child {
    grid-row: span 2;
    padding: 4.125rem 2.75rem;
    background-color: var(--color-white);
    border-radius: 1.625rem;
  }
  .p-cost-simulator__label {
    min-height: 0;
  }
  .p-cost-simulator__label-sub {
    display: inline;
  }
  .p-cost-simulator__result {
    max-width: 36.875rem;
    margin-block-start: 3.25rem;
    margin-inline: auto;
    padding: 1.75rem 5.25rem;
    border: 3px solid var(--color-brand-blue);
    border-radius: 0.625rem;
  }
  .p-cost-simulator__result-title {
    display: none;
  }
  .p-cost-simulator__result-note {
    margin-block-start: 1.625rem;
    font-size: max(1.25rem, 10px);
  }
  .p-cost-simulator__amounts {
    gap: 1.5625rem;
  }
  .p-cost-simulator__amount {
    justify-content: start;
    gap: 2.9375rem;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
  }
  .p-cost-simulator__amount-value {
    font-size: max(2.25rem, 10px);
  }
  .p-cost-simulator__amount-label {
    min-width: 9.25rem;
    min-height: 3.5625rem;
    font-size: max(1.5rem, 10px);
  }
  .p-cost-simulator__amount-unit {
    font-size: max(1.5rem, 10px);
  }
  .p-cost-simulator__note {
    margin-block-start: 1.875rem;
    font-size: max(1.5rem, 10px);
  }
  .l-cost-scale {
    margin-block-start: 5rem;
  }
  .p-cost-scale__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.625rem;
    margin-block-start: 3.9375rem;
  }
  .p-cost-scale__item {
    padding: 2.46875rem 2.125rem 2.75rem;
  }
  .p-cost-scale__arrow {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: -2.875rem;
    display: block;
    width: 2.125rem;
    height: auto;
    translate: 0 -50%;
  }
  .p-cost-scale__badge {
    font-size: max(1.25rem, 10px);
  }
  .p-cost-scale__heading {
    font-size: max(1.5rem, 10px);
  }
  .p-cost-scale__hours {
    margin-block-start: 1.3125rem;
  }
  .p-cost-scale__text {
    margin-block-start: 1.49375rem;
    font-size: max(1rem, 10px);
  }
  .l-cost-insight {
    margin-block-start: 5rem;
  }
  .p-cost-insight__title {
    font-size: max(2.25rem, 10px);
  }
  .p-cost-insight__subtitle {
    margin-block-start: 0;
    font-size: max(1.5rem, 10px);
  }
  .p-cost-insight__lead {
    margin-block-start: 1.1rem;
    font-size: max(1.25rem, 10px);
  }
  .p-cost-insight__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 5.11875rem;
  }
  .p-cost-insight__item {
    min-height: 15.2rem;
    padding: 3.56875rem 1.5625rem 2rem;
  }
  .p-cost-insight__item-title {
    inset-inline-start: 2rem;
    font-size: max(1.25rem, 10px);
  }
  .p-cost-insight__item-body {
    grid-template-columns: 8.75rem minmax(0, 1fr);
    gap: 1.125rem;
  }
  .p-cost-insight__item-illust {
    justify-self: start;
    width: 8.75rem;
  }
  .p-cost-insight__item-text {
    font-size: max(1rem, 10px);
  }
  .l-cost-reduce {
    margin-block-start: 6.375rem;
  }
  .p-cost-reduce__list {
    grid-template-columns: repeat(2, minmax(0, 560fr));
    gap: 3.4375rem 3.0625rem;
    margin-block-start: 4.6875rem;
  }
  .p-cost-reduce__item {
    min-height: 23.3375rem;
    padding: 3.44375rem 2.625rem;
  }
  .p-cost-reduce__num {
    width: 2.875rem;
    height: 2.875rem;
    font-size: max(1.5625rem, 10px);
  }
  .p-cost-reduce__name {
    font-size: max(1.5rem, 10px);
  }
  .p-cost-reduce__illust {
    width: 9.4375rem;
  }
  .p-cost-reduce__text {
    margin-block-start: 3.75rem;
    font-size: max(1rem, 10px);
  }
  .l-cost-cta {
    margin-block: 5rem;
  }
  .l-cost-flow {
    margin-block-start: 0;
  }
  .l-cost-related {
    margin-block-start: 4.91875rem;
  }
  .l-cost-salesforce {
    margin-block-start: 6.6125rem;
  }
  .l-cost-issues {
    margin-block-start: 5.94375rem;
    margin-block-end: 4.875rem;
  }
  .l-cost-related .p-related-features__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4375rem 1.75rem;
    margin-block-start: 3.3125rem;
  }
  .l-cost-related .p-related-features__foot {
    padding: 1.125rem 1.7rem;
  }
  .l-cost-related .p-related-features__name {
    font-size: max(1.25rem, 10px);
  }
  .l-cost-salesforce .p-salesforce__inner {
    grid-template-columns: minmax(0, 467.5fr) minmax(0, 679fr);
    align-items: start;
    gap: 0;
  }
  .l-cost-salesforce .p-salesforce__head {
    padding-block-start: 0.5625rem;
  }
  .l-cost-salesforce .p-salesforce__title {
    font-size: max(2.6875rem, 10px);
  }
  .l-cost-salesforce .p-salesforce__title-logo {
    width: 7.66875rem;
    margin-inline-end: 0.75rem;
  }
  .l-cost-salesforce .p-salesforce__body {
    padding-inline-start: 3.34375rem;
    border-inline-start: 1px solid #d5d7da;
  }
  .l-cost-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
    gap: 1.575rem;
  }
  .l-cost-salesforce .p-salesforce__logo {
    width: 6.675rem;
  }
  .l-cost-salesforce .p-salesforce__text {
    font-size: max(1rem, 10px);
  }
  .l-cost-salesforce .p-salesforce__points {
    margin-block-start: 1.375rem;
  }
  .l-cost-salesforce .p-salesforce__actions {
    grid-auto-flow: column;
    justify-content: start;
    gap: 2.6125rem;
    margin-block-start: 2.3125rem;
  }
  .l-cost-salesforce .p-salesforce__button {
    min-width: 15.90625rem;
  }
  .l-cost-issues .p-other-issues__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 3.875rem;
  }
  .l-cost-issues .p-other-issues__card {
    min-height: 11.225rem;
    padding: 1.95rem 1.375rem 1.95rem 1.7rem;
  }
  .l-cost-issues .p-other-issues__name {
    margin-block-start: 0.65625rem;
    font-size: max(1.25rem, 10px);
  }
  .l-cost-issues .p-other-issues__desc {
    margin-block-start: 0.33125rem;
    font-size: max(1rem, 10px);
  }
  .l-cost-issues .p-other-issues__illust {
    width: 7.5625rem;
  }
  .l-cost-issues .p-other-issues__back {
    margin-block-start: 1.99375rem;
    font-size: max(1.25rem, 10px);
  }
  .l-cost-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
  }
  .l-cost-salesforce .p-salesforce__logo {
    justify-self: start;
    margin-inline-end: 0.75rem;
  }
  .l-cost-issues .p-other-issues__illust {
    position: static;
  }
  .p-cta-band {
    padding-block: 1.5rem 3.75rem;
  }
  .p-cta-band__deco-item {
    display: block;
  }
  .p-cta-band__title {
    font-size: max(3.3125rem, 10px);
  }
  .p-cta-band__lead {
    font-size: max(1.5rem, 10px);
  }
  .p-cta-band__actions {
    gap: 1.5625rem;
    margin-block-start: 2.5rem;
  }
  .p-cta-band__button {
    width: 17.8125rem;
    min-width: 0;
    min-height: 5.125rem;
    font-size: max(1.375rem, 10px);
  }
  .cta_ban_l.cta_blog_ban .box-wrap p {
    font-size: 1.25rem;
  }
  .cta_blog_ban .p-blog-banner-dl.c-button-pill {
    min-height: 2.75rem; /* 44px */
    margin-block-start: 0.75rem; /* 12px */
    padding-block: 0.5rem; /* 8px */
  }
  /* 見出しが2行の型（成功事例集 .box-wrap02・ban03 / ban04）は、PC でボタンがバナーの下端からはみ出していた
     （テスト環境の実測 -11px）。見出しの上下の余白（old-cta.css の 15px / 10px・!important）を詰めて収める。 */
  .cta_blog_ban .box-wrap02 > div > p {
    margin: 0.3125rem auto 0.375rem !important; /* 5px auto 6px */
  }
  .p-cta-demo::before,
  .p-cta-demo::after {
    display: block;
  }
  .l-cta-demo {
    margin-block: 5rem;
  }
  .p-cta-demo {
    padding-block: 1.9625rem 3.73125rem;
    border-radius: 1.5rem;
  }
  .p-cta-demo.l-cta-demo,
  .p-cta-demo.l-safety-cta,
  .p-cta-demo.l-cost-cta {
    padding-block: 1.9625rem;
  }
  .p-cta-demo__title {
    font-size: max(3.3125rem, 10px);
  }
  .p-cta-demo.l-cta-demo .p-cta-demo__title,
  .p-cta-demo.l-safety-cta .p-cta-demo__title,
  .p-cta-demo.l-cost-cta .p-cta-demo__title {
    font-size: max(3rem, 10px);
  }
  .p-cta-demo__lead {
    font-size: max(1.5rem, 10px);
  }
  .p-cta-demo__actions {
    grid-auto-flow: column;
    gap: 1.54375rem;
    margin-block-start: 2.875rem;
  }
  .p-cta-demo__button,
  .p-cta-demo .c-button-pill[data-color] {
    min-width: 17.83125rem;
    min-height: 5.1125rem;
    font-size: max(1.375rem, 10px);
    line-height: 1.9091;
  }
  .p-day-change {
    padding-block: 3.8125rem 4.5625rem;
  }
  .p-day-change__title {
    font-size: max(2rem, 10px);
  }
  .p-day-change__logo {
    width: 8.76875rem;
    translate: 0 -0.25rem;
  }
  .p-day-change__list {
    margin-block-start: 1rem;
    gap: 0;
  }
  .p-day-change__list::before {
    content: "";
    position: absolute;
    display: block;
    inset-block-start: 3.8125rem;
    inset-block-end: 0;
    inset-inline-start: 0.515625rem;
    width: 0.125rem;
    background-color: var(--color-brand);
  }
  .p-day-change__row {
    grid-template-columns: 9.4375rem minmax(0, 1fr);
    align-items: start;
    gap: 0;
  }
  .p-day-change__row + .p-day-change__row {
    margin-block-start: 0.875rem;
  }
  .p-day-change__row:first-child + .p-day-change__row {
    margin-block-start: -3rem;
  }
  .p-day-change__row:last-child {
    align-items: stretch;
  }
  .p-day-change__row:last-child .p-day-change__time:has(span)::after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    inset-block-start: 4.40625rem;
    inset-block-end: 0;
    inset-inline-start: 0.4375rem;
    width: 0.25rem;
    background-color: var(--color-surface-gray);
  }
  .p-day-change__time {
    position: relative;
    padding-block-start: 2.5rem;
  }
  .p-day-change__time:has(span) {
    padding-inline-start: 1.625rem;
  }
  .p-day-change__time span {
    font-size: max(2.25rem, 10px);
  }
  .p-day-change__time:has(span)::before {
    content: "";
    position: absolute;
    display: block;
    inset-block-start: 3.25rem;
    inset-inline-start: 0;
    width: 1.15625rem;
    height: 1.15625rem;
    border-radius: 50%;
    background-color: var(--color-brand);
    z-index: 1;
  }
  .p-day-change__pair {
    position: relative;
    grid-template-columns: 31.25rem 31.25rem;
    align-items: end;
    gap: 0 3.0625rem;
  }
  .p-day-change__role {
    font-size: max(1.25rem, 10px);
  }
  .p-day-change__text {
    font-size: max(1rem, 10px);
  }
  .p-day-change__card[data-side=after] .p-day-change__text {
    font-size: max(1.125rem, 10px);
  }
  .p-day-change__arrow {
    position: absolute;
    z-index: 0;
    display: block;
    inset-inline-start: 27.875rem;
    inset-block-end: 2.84375rem;
    height: auto;
    width: 6.08125rem;
  }
  .p-day-change__arrow img {
    width: 100%;
    rotate: none;
  }
  .p-day-change[data-times=off] .p-day-change__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-day-change[data-times=off] .p-day-change__row + .p-day-change__row {
    margin-block-start: 0.375rem;
  }
  .p-day-change[data-times=off] .p-day-change__row:first-child + .p-day-change__row {
    margin-block-start: 0.375rem;
  }
  .p-day-change[data-times=off] .p-day-change__pair {
    grid-template-columns: 34.375rem 34.375rem;
    gap: 0 6.25rem;
  }
  .p-day-change[data-times=off] .p-day-change__arrow {
    inset-inline-start: 33.8125rem;
  }
  .l-device-hero .p-lower-hero__inner {
    grid-template-columns: minmax(0, 700fr) minmax(0, 470fr);
  }
  .l-device-hero .p-lower-hero__visual {
    width: 29.375rem;
  }
  .l-device-tabs {
    margin-block-start: 7.18125rem;
  }
  .p-device-tabs__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-device-tabs__lead {
    margin-block-start: 2.81875rem;
    font-size: max(1.125rem, 10px);
    text-align: center;
  }
  .p-device-tabs__tabs {
    grid-template-columns: minmax(0, 335fr) repeat(2, minmax(0, 265fr)) minmax(0, 335fr);
    margin-block-start: 3.5rem;
  }
  .p-device-tabs__tab {
    flex-direction: row;
    gap: 0.5rem;
    min-height: 4.625rem;
  }
  .p-device-tabs__tab:nth-of-type(1) {
    grid-column: 2;
  }
  .p-device-tabs__tab-name {
    font-size: max(1.0625rem, 10px);
  }
  .p-device-tabs__radio:checked + .p-device-tabs__tab .p-device-tabs__tab-name {
    font-size: max(1.25rem, 10px);
  }
  .p-device-tabs__panel {
    padding: 3.5rem 2.8125rem 3.75rem;
  }
  .p-device-tabs__summary {
    grid-template-columns: 24.375rem minmax(0, 1fr);
    gap: 2rem;
  }
  .p-device-tabs__photo {
    justify-self: center;
  }
  .p-device-tabs__catch {
    font-size: max(1.5rem, 10px);
  }
  .p-device-tabs__strong {
    margin-block-start: 0;
    font-size: max(1.125rem, 10px);
  }
  .p-device-tabs__text {
    margin-block-start: 1.375rem;
    font-size: max(1rem, 10px);
  }
  .p-device-tabs__specs {
    gap: 0.3125rem;
    margin-block-start: 1.6875rem;
  }
  .p-device-tabs__specs--wide {
    display: block;
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    margin-block-start: 2rem;
    margin-inline: calc((24.375rem - 12.5rem) / 2);
  }
  .p-device-tabs__specs--wide + .p-device-tabs__notes {
    margin-block-start: 1.875rem;
    margin-inline: calc((24.375rem - 12.5rem) / 2);
  }
  .p-device-tabs__specs--wide .p-device-tabs__spec {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    margin-block-start: 0.5625rem;
  }
  .p-device-tabs__specs--wide .p-device-tabs__spec:first-child {
    margin-block-start: 0;
  }
  .p-device-tabs__spec {
    font-size: max(1rem, 10px);
  }
  .p-device-tabs__steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.8125rem;
    margin-block-start: 3.75rem;
  }
  .p-device-tabs__step {
    padding: 2.8125rem 1.5rem 2rem;
  }
  .p-device-tabs__step:first-child .p-device-tabs__step-photo {
    height: 10.89375rem;
  }
  .p-device-tabs__step-name {
    margin-block-start: 1.5rem;
    font-size: max(1.125rem, 10px);
  }
  .p-device-tabs__step-text {
    font-size: max(1rem, 10px);
    text-align: center;
  }
  .l-device-doc {
    margin-block: 5rem;
  }
  .l-device-choice {
    margin-block-start: 5.90625rem;
  }
  .p-device-choice__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-device-choice__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 2.875rem;
  }
  .p-device-choice__points {
    gap: 1.5625rem;
    padding: 2.375rem 2rem 2rem;
  }
  .p-device-choice__point {
    padding-inline-start: 2.625rem;
    font-size: max(1.125rem, 10px);
  }
  .p-device-choice__point::before {
    inset-block-start: 0.375rem;
    width: 1.73125rem;
    height: 1.63125rem;
  }
  .p-device-choice__answer {
    gap: 0.875rem;
    min-height: 6.1875rem;
    padding: 1.25rem 1.5rem;
  }
  .p-device-choice__tag + .p-device-choice__answer {
    padding-block-start: 1.25rem;
  }
  .p-device-choice__answer img {
    max-height: 2.5rem;
  }
  .p-device-choice__answer-label {
    font-size: max(1rem, 10px);
  }
  .p-device-choice__answer-name {
    font-size: max(1.5rem, 10px);
  }
  .p-device-choice__note {
    margin-block-start: 2.375rem;
    font-size: max(1rem, 10px);
  }
  .l-device-structure {
    margin-block-start: 4.875rem;
  }
  .l-device-standalone {
    margin-block-start: 6rem;
    margin-block-end: 4.875rem;
  }
  .p-device-standalone__lead {
    margin-block-start: 0.625rem;
    font-size: max(1rem, 10px);
  }
  .p-device-standalone__list {
    grid-template-columns: repeat(3, minmax(0, 380fr));
    gap: 1.8125rem;
    margin-block-start: 3rem;
  }
  .p-device-standalone__item {
    gap: 1.125rem;
    padding: 1.5rem 1.75rem;
  }
  .p-device-standalone__text {
    font-size: max(1rem, 10px);
  }
  .p-device-standalone__link {
    margin-block-start: 2.875rem;
    font-size: max(1.25rem, 10px);
  }
  .p-doc-cta::before,
  .p-doc-cta::after {
    display: block;
  }
  .p-doc-cta {
    padding-block: 3.5rem;
    border-radius: 1.5rem;
  }
  .l-device-doc {
    padding-block: 1.875rem;
  }
  .l-device-doc::before {
    inset-inline-start: -12.5rem;
  }
  .l-device-doc::after {
    inset-inline-end: -11.875rem;
  }
  .p-doc-cta__inner {
    grid-template-columns: minmax(0, 700fr) minmax(0, 460fr);
    align-items: center;
    gap: 2.5rem;
  }
  .p-doc-cta__body {
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-doc-cta__title {
    font-size: max(2.5rem, 10px);
  }
  .p-doc-cta__lead {
    margin-block-start: 2.1875rem;
    font-size: max(1.25rem, 10px);
  }
  .l-device-doc .p-doc-cta__lead {
    font-size: 15px;
  }
  .l-device-doc .p-doc-cta__action {
    grid-template-columns: auto;
    margin-inline-start: auto;
    margin-inline-end: 0;
  }
  .l-device-doc .p-doc-cta__button {
    min-width: 26.25rem;
  }
  .p-doc-cta__action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0rem 1.875rem;
    margin-block-start: 2.375rem;
    margin-inline-start: auto;
  }
  .p-doc-cta__note {
    grid-column: 1;
    justify-self: center;
  }
  .p-doc-cta__button {
    grid-column: 1;
    min-width: 21.25rem;
    min-height: 5.125rem;
    margin-block-start: 0.25rem;
    font-size: max(1.375rem, 10px);
  }
  .p-doc-cta__tags {
    grid-column: 2;
    grid-row: 1/3;
    max-width: 21.25rem;
    margin-block-start: 0;
  }
  .p-doc-cta__visual img {
    max-width: 18.75rem;
  }
  .l-device-doc .p-doc-cta__visual img {
    max-width: 13.75rem;
  }
  .p-doc-detail__body .ttl-section {
    margin-block-end: 2.5rem;
    font-size: 2rem;
    text-align: start;
  }
  .p-doc-detail__body .ttl-block {
    font-size: 1.75rem;
  }
  .p-doc-detail__body .p-kh__head {
    margin-inline-start: -0.5625rem;
  }
  .p-doc-detail__body .text-check::before,
  .p-seminar-detail__content .text-check::before {
    inset-block-start: 0.375rem;
  }
  .l-efficiency-flow {
    margin-block-start: 0;
  }
  .l-efficiency-compare {
    margin-block-start: 5rem;
  }
  .p-efficiency-compare__list {
    gap: 2.51875rem;
  }
  .p-efficiency-compare__subtitle {
    font-size: max(1.5rem, 10px);
  }
  .p-efficiency-compare__row {
    grid-template-columns: repeat(2, minmax(0, 550fr));
    gap: 6.25rem;
  }
  .p-efficiency-compare__col {
    min-height: 8.825rem;
    padding: 2.4375rem 1.5625rem;
  }
  .p-efficiency-compare__col--after {
    padding-block-end: 2.4375rem;
  }
  .p-efficiency-compare__text {
    font-size: max(1rem, 10px);
  }
  .p-efficiency-compare__col--after .p-efficiency-compare__text {
    font-size: max(1.125rem, 10px);
  }
  .p-efficiency-compare__link {
    inset-block-end: 1.5125rem;
  }
  .p-efficiency-compare__arrow {
    inset-block-start: 50%;
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: -5.01875rem;
    width: 6.08125rem;
    translate: 0 -50%;
    rotate: none;
  }
  .l-efficiency-ai {
    margin-block-start: 5rem;
  }
  .l-efficiency-drivecast {
    margin-block-start: 5rem;
  }
  .l-efficiency-drivecast .p-promo-box__box {
    min-height: auto;
  }
  .l-efficiency-drivecast .p-promo-box__visual {
    align-self: center;
  }
  .l-efficiency-related {
    margin-block-start: 6.875rem;
  }
  .l-efficiency-issues {
    margin-block-start: 5.94375rem;
    margin-block-end: 4.875rem;
  }
  .l-efficiency-related .p-related-features__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4375rem 1.75rem;
    margin-block-start: 3.3125rem;
  }
  .l-efficiency-related .p-related-features__foot {
    padding: 1.125rem 1.7rem;
  }
  .l-efficiency-related .p-related-features__name {
    font-size: max(1.25rem, 10px);
  }
  .l-efficiency-salesforce {
    margin-block-start: 4.88125rem;
  }
  .l-efficiency-salesforce .p-salesforce__inner {
    grid-template-columns: minmax(0, 467.5fr) minmax(0, 679fr);
    align-items: start;
    gap: 0;
  }
  .l-efficiency-salesforce .p-salesforce__head {
    padding-block-start: 0.5625rem;
  }
  .l-efficiency-salesforce .p-salesforce__title {
    font-size: max(2.6875rem, 10px);
  }
  .l-efficiency-salesforce .p-salesforce__title br {
    display: inline;
  }
  .l-efficiency-salesforce .p-salesforce__title-logo {
    width: 7.66875rem;
    vertical-align: -0.125rem;
    margin-inline-end: 0.75rem;
  }
  .l-efficiency-salesforce .p-salesforce__body {
    padding-inline-start: 3.34375rem;
    border-inline-start: 1px solid #d5d7da;
  }
  .l-efficiency-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
    gap: 1.575rem;
  }
  .l-efficiency-salesforce .p-salesforce__logo {
    width: 6.675rem;
  }
  .l-efficiency-salesforce .p-salesforce__text {
    font-size: max(1rem, 10px);
  }
  .l-efficiency-salesforce .p-salesforce__points {
    margin-block-start: 1.375rem;
  }
  .l-efficiency-salesforce .p-salesforce__actions {
    grid-auto-flow: column;
    justify-content: start;
    gap: 2.6125rem;
    margin-block-start: 2.3125rem;
  }
  .l-efficiency-salesforce .p-salesforce__button {
    min-width: 15.90625rem;
  }
  .l-efficiency-issues .p-other-issues__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 3.875rem;
  }
  .l-efficiency-issues .p-other-issues__card {
    min-height: 11.225rem;
    padding: 1.95rem 1.375rem 1.95rem 1.7rem;
  }
  .l-efficiency-issues .p-other-issues__name {
    margin-block-start: 0.65625rem;
    font-size: max(1.25rem, 10px);
  }
  .l-efficiency-issues .p-other-issues__desc {
    margin-block-start: 0.33125rem;
    font-size: max(1rem, 10px);
  }
  .l-efficiency-issues .p-other-issues__illust {
    width: 7.5625rem;
  }
  .l-efficiency-issues .p-other-issues__back {
    margin-block-start: 1.99375rem;
    font-size: max(1.25rem, 10px);
  }
  .l-efficiency-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
  }
  .l-efficiency-issues .p-other-issues__illust {
    position: static;
  }
  .l-efficiency-salesforce .p-salesforce__logo {
    justify-self: start;
    margin-inline-end: 0.75rem;
  }
  .p-faq-nav__list {
    gap: 0.4375rem;
    margin-block-start: 2.0375rem;
  }
  .p-faq-nav__link {
    min-height: 3.25rem;
    padding-inline: 1.875rem 1.75rem;
    gap: 0.875rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-faq-group {
    margin-block-start: 3.1875rem;
  }
  .p-faq-group + .p-faq-group {
    margin-block-start: 4.75rem;
  }
  .p-faq--page .p-faq__list {
    gap: 2rem;
    margin-block-start: 2.125rem;
  }
  .p-faq--page .p-faq__summary {
    padding: 2.21875rem 2.25rem 2.21875rem 2.5625rem;
  }
  .p-faq--page .p-faq__question {
    font-size: max(1rem, 10px);
  }
  .p-faq--page .p-faq__answer {
    padding: 0 2.25rem 2.25rem 6.125rem;
  }
  .p-page-hero__lead {
    margin-block-start: 4.3125rem;
    font-size: max(1.25rem, 10px);
  }
  .l-faq-page {
    padding-block-end: 7.375rem;
  }
  .p-faq-nav__list {
    gap: 0.75rem;
  }
  .p-faq-nav__link {
    gap: 0;
    min-height: 1.6875rem;
    padding: 0.3125rem 0.9375rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-faq-system {
    padding-block: 3.75rem 6.25rem;
  }
  .p-faq-system__actions {
    grid-template-columns: repeat(2, minmax(0, 20rem));
    gap: 2.5rem;
    justify-content: center;
    align-items: start;
    margin-block-start: 3.5rem;
  }
  .p-faq-system__note {
    font-size: max(0.9375rem, 10px);
  }
  .p-faq__list {
    gap: 1rem;
    margin-block-start: 3.5rem;
  }
  .p-faq__summary {
    gap: 1rem;
    padding: 1.5rem 2.5625rem;
  }
  .p-faq__question {
    font-size: max(1rem, 10px);
  }
  .p-faq__mark {
    padding-inline-end: 1rem;
    font-size: max(1.8125rem, 10px);
  }
  .p-faq__icon {
    width: 1.875rem;
    height: 1.875rem;
  }
  .p-faq__answer {
    padding: 0 2.5625rem 1.75rem 6.125rem;
  }
  .p-faq__answer-text {
    font-size: max(1rem, 10px);
  }
  .p-feature-cards__group + .p-feature-cards__group {
    margin-block-start: 5.5rem;
  }
  .p-feature-cards__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-feature-cards__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.875rem 1.4375rem;
    margin-block-start: 2.875rem;
  }
  .p-feature-cards__head {
    padding: 1.125rem 1.125rem 0;
  }
  .p-feature-cards__name {
    font-size: max(1.125rem, 10px);
  }
  .p-feature-cards__text {
    padding: 0.625rem 1.125rem 1.5rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-feature-cards__item--link .p-feature-cards__text {
    padding-block-end: 3.75rem;
  }
  .p-feature-cards__detail {
    --link-arrow-font-size: max(0.9375rem, 10px);
    inset-block-end: 1.25rem;
    inset-inline-end: 1.125rem;
  }
  .l-feature-hero {
    margin-block-start: 3.1875rem;
  }
  .p-feature-hero__inner {
    grid-template-columns: 18.375rem minmax(0, 1fr);
    align-items: start;
    gap: 1.75rem;
  }
  .p-feature-hero__illust {
    width: 18.375rem;
  }
  .p-feature-hero__badge {
    min-height: 1.875rem;
    font-size: max(0.875rem, 10px);
  }
  .p-feature-hero__title {
    font-size: max(3.4375rem, 10px);
  }
  .p-feature-hero__sub {
    margin-block-start: 1.3125rem;
    font-size: max(1.625rem, 10px);
  }
  .p-feature-hero__lead {
    margin-block-start: 0.875rem;
    font-size: max(1.125rem, 10px);
  }
  .l-feature-solve {
    margin-block-start: 4.875rem;
  }
  .p-feature-solve {
    padding-block: 2.275rem 3.75rem;
  }
  .p-feature-solve__title {
    font-size: max(2rem, 10px);
  }
  .p-feature-solve__lead {
    margin-block-start: 1.0625rem;
    font-size: max(1rem, 10px);
  }
  .p-feature-solve__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .p-feature-solve__list:not(:has(> :nth-child(5))) {
    grid-template-columns: repeat(auto-fit, minmax(0, calc((100% - 5rem) / 5)));
    justify-content: center;
  }
  .p-feature-solve__list {
    gap: 1.25rem;
    margin-block-start: 2.85rem;
  }
  .p-feature-solve__item {
    min-height: 10rem;
    padding: 1.625rem 1rem;
  }
  .p-feature-solve__text {
    font-size: max(1rem, 10px);
  }
  .l-feature-points {
    margin-block-start: 5.5rem;
  }
  .p-feature-points__heading.c-section-head-bar__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-feature-points__list {
    gap: 3.75rem;
    margin-block-start: 4.125rem;
  }
  .p-feature-points__item {
    display: grid;
    grid-template-columns: minmax(0, 560fr) minmax(0, 520fr);
    align-items: center;
    gap: 2.5rem;
    padding: 3.375rem 3rem 3rem;
  }
  .p-feature-points__item:nth-child(even) .p-feature-points__body {
    order: 2;
  }
  .p-feature-points__item:nth-child(even) .p-feature-points__ui {
    order: 1;
  }
  .p-feature-points__item:nth-child(even) .p-feature-points__label {
    inset-inline: auto 1rem;
  }
  .p-feature-points__label {
    inset-block-start: -1.125rem;
    inset-inline-start: 1.625rem;
    font-size: max(1.25rem, 10px);
  }
  .p-feature-points__num {
    width: 2.5625rem;
    height: 2.5625rem;
    font-size: max(1.5625rem, 10px);
  }
  .p-feature-points__title {
    font-size: max(1.5rem, 10px);
  }
  .p-feature-points__text {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-feature-points__ui {
    margin-block-start: 0;
  }
  .p-feature-points__zoom,
  .p-feature-points__hierarchy {
    margin-block-start: 0;
  }
  .l-report-points .p-feature-points__item:nth-child(1),
  .l-report-points .p-feature-points__item:nth-child(3),
  .l-alcohol-points .p-feature-points__item:nth-child(1),
  .l-alcohol-points .p-feature-points__item:nth-child(3),
  .l-copilot-points .p-feature-points__item:nth-child(2) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 34.375rem);
  }
  .l-report-points .p-feature-points__item:nth-child(1) .p-feature-points__ui,
  .l-report-points .p-feature-points__item:nth-child(3) .p-feature-points__ui,
  .l-alcohol-points .p-feature-points__item:nth-child(1) .p-feature-points__ui,
  .l-alcohol-points .p-feature-points__item:nth-child(3) .p-feature-points__ui,
  .l-copilot-points .p-feature-points__item:nth-child(2) .p-feature-points__ui {
    justify-self: center;
    width: 100%;
  }
  .p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(1),
  .p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(5) {
    grid-template-columns: minmax(0, 560fr) minmax(0, 520fr);
  }
  .p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(1) .p-feature-points__zoom,
  .p-main-sub:has(.p-feature-hero__illust--contain) .p-feature-points__item:nth-child(5) .p-feature-points__zoom {
    justify-self: center;
    width: 100%;
  }
  .p-feature-points__hierarchy-note {
    gap: 0.375rem;
    margin-block-start: 0.625rem;
    font-size: max(0.8125rem, 10px);
  }
  .p-feature-points__shots {
    gap: 1.25rem;
  }
  .l-feature-flow {
    margin-block-start: 5.5rem;
  }
  .p-feature-flow__box {
    padding-block: 4.125rem 5.5rem;
  }
  .p-feature-flow__heading.c-section-head-bar__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-feature-flow__list {
    gap: 1.25rem;
    margin-block-start: 2.875rem;
    padding-inline-start: max(7.5rem, 88px);
  }
  .p-feature-flow__item {
    grid-template-columns: minmax(0, 400fr) minmax(0, 376fr);
    align-items: center;
    gap: 1.75rem;
    padding: 1.75rem 2.25rem;
  }
  .l-copilot-flow .p-feature-flow__item {
    align-items: start;
  }
  .p-feature-flow__step {
    position: absolute;
    inset-block-start: 1.75rem;
    inset-inline-start: calc(-1 * max(7.5rem, 88px));
    min-height: 1.75rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-feature-flow__item::after {
    position: absolute;
    inset-block-start: 2.25rem;
    inset-inline-start: -2.875rem;
    width: 0.8125rem;
    height: 0.8125rem;
    content: "";
    border-radius: 50%;
    background-color: var(--color-brand);
  }
  .p-feature-flow__item::before {
    content: "";
    inset-inline-start: -2.5rem;
    inset-block-start: -1.25rem;
    height: calc(100% + 1.25rem);
  }
  .p-feature-flow__item:first-child::before {
    inset-block-start: 2.65625rem;
    height: calc(100% - 2.65625rem);
  }
  .p-feature-flow__item:last-child::before {
    height: 3.90625rem;
  }
  .p-feature-flow__name {
    font-size: max(1.25rem, 10px);
  }
  .p-feature-flow__text {
    font-size: max(1rem, 10px);
  }
  .p-feature-flow__form-link {
    margin-block-start: 2.25rem;
  }
  .l-feature-related {
    margin-block-start: 5.5rem;
    margin-block-end: 4.875rem;
  }
  .p-feature-back {
    gap: 1.5rem;
    margin-block-start: 2.875rem;
  }
  .p-feature-back .c-button-outline-pill {
    flex: 0 1 16.25rem;
    min-width: 11.25rem;
    gap: 0.625rem;
    padding-inline: 1.25rem 1rem;
    font-size: max(1rem, 10px);
  }
  #alc-form .p-estimate__form .c-form-embed {
    max-width: 43.75rem;
    margin-inline: auto;
  }
  .p-feature-flow__subtitle {
    margin-block-start: 2.875rem;
    font-size: max(1.25rem, 10px);
  }
  .p-feature-flow__subtitle--first {
    margin-block-start: 2.875rem;
  }
  .p-feature-flow__subtext {
    margin-block-start: 0.5rem;
    font-size: max(1rem, 10px);
  }
  .p-feature-flow__autos {
    gap: 1.25rem;
    margin-block-start: 1.5rem;
    padding-inline-start: 7.5rem;
  }
  .p-feature-flow__auto {
    grid-template-columns: minmax(0, 400fr) minmax(0, 376fr);
    align-items: center;
    gap: 1.75rem;
    padding: 1.75rem 2.25rem;
  }
  .p-feature-flow__auto-tag {
    position: absolute;
    inset-block-start: 1.75rem;
    inset-inline-start: -7.5rem;
    min-height: 1.75rem;
    font-size: max(0.9375rem, 10px);
  }
  .l-alcohol-devices {
    margin-block-start: 5.5rem;
  }
  .p-alcohol-devices__heading.c-section-head-bar__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-alcohol-devices__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 2.875rem;
  }
  .p-alcohol-devices__item {
    grid-template-columns: 15rem minmax(0, 1fr);
    align-items: center;
    gap: 1.75rem;
    padding: 2rem 2.125rem;
  }
  .p-alcohol-devices__spec {
    font-size: max(1rem, 10px);
  }
  .p-alcohol-devices__note,
  .p-alcohol-devices__link {
    font-size: max(0.875rem, 10px);
  }
  .p-feature-flow__caption {
    font-size: max(0.875rem, 10px);
  }
  .p-alcohol-devices__other {
    margin-block-start: 1.75rem;
    font-size: max(1rem, 10px);
  }
  .p-alcohol-devices__form-link {
    margin-block-start: 1rem;
  }
  .p-alcohol-devices__form-link--below {
    margin-block-start: 3.125rem;
  }
  .l-alcohol-outsource {
    margin-block-start: 4.875rem;
  }
  .p-alcohol-outsource__box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    align-items: center;
    padding: 3rem 3.5rem 3.25rem;
  }
  .p-alcohol-outsource__title {
    grid-column: 1/-1;
    font-size: max(1.75rem, 10px);
  }
  .p-alcohol-outsource__text {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-alcohol-outsource__buttons {
    gap: 1.25rem;
    justify-content: start;
    margin-block-start: 1.5rem;
  }
  .p-alcohol-outsource__button {
    min-width: 20rem;
    min-height: 4.625rem;
    margin-inline: 0;
    font-size: max(1.25rem, 10px);
  }
  .p-alcohol-outsource__services {
    grid-column: 1/-1;
    gap: 1.25rem;
    margin-block-start: 2.25rem;
    padding-block-start: 2rem;
  }
  .p-alcohol-outsource__services-title {
    font-size: max(1.25rem, 10px);
  }
  .p-alcohol-outsource__service-text,
  .p-alcohol-outsource__service-link {
    font-size: max(1rem, 10px);
  }
  .l-copilot-faq {
    margin-block-start: 5.5rem;
  }
  .p-feature-flow__shots .p-feature-flow__phone {
    max-height: 15rem;
  }
  .p-feature-flow__shots .p-feature-flow__device {
    height: 13.5rem;
  }
  .p-feature-panel {
    padding-block: 4.125rem 5.375rem;
  }
  .p-feature-panel__inner {
    grid-template-columns: 1fr 31.6875rem;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    row-gap: 2.125rem;
  }
  .p-feature-panel__label {
    min-width: 9.0625rem;
    font-size: max(1.875rem, 10px);
  }
  .p-feature-panel__title {
    margin-block-start: 2.5rem;
    font-size: max(2.6875rem, 10px);
  }
  .p-feature-panel__text {
    margin-block-start: 2.375rem;
    font-size: max(1.25rem, 10px);
  }
  .p-feature-panel__tags {
    grid-column: 1/-1;
    gap: 0.9375rem;
  }
  .p-feature-panel__tag {
    font-size: max(1rem, 10px);
  }
  .p-feature-panel[data-visual=stack] {
    padding-block: 4.125rem 3.525rem;
  }
  .p-feature-panel[data-visual=stack] .p-feature-panel__inner {
    grid-template-columns: 47.875rem 26.5625rem;
    grid-template-rows: auto 1fr;
    -moz-column-gap: 1.375rem;
         column-gap: 1.375rem;
    row-gap: 1.125rem;
  }
  .p-feature-panel[data-visual=stack] .p-feature-panel__body {
    grid-column: 1;
    grid-row: 1;
  }
  .p-feature-panel[data-visual=stack] .p-feature-panel__visual {
    position: relative;
    grid-column: 2;
    grid-row: 1/span 2;
    margin-block-start: 2.7125rem;
    height: 27.2rem;
  }
  .p-feature-panel__visual-item {
    position: absolute;
  }
  .p-feature-panel__visual-item[data-item=ui] {
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 24.375rem;
  }
  .p-feature-panel__visual-item[data-item=illust] {
    z-index: 1;
    inset-block-start: 9.33125rem;
    inset-inline-start: 7.7rem;
    width: 18.84375rem;
    margin: 0;
  }
  .p-feature-panel[data-visual=stack] .p-feature-panel__tags {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    flex-wrap: nowrap;
    gap: 1.9375rem;
  }
  .p-feature-panel[data-visual=stack] .p-feature-panel__tag {
    flex-shrink: 0;
  }
  .p-feature-related__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4375rem 1.75rem;
    margin-block-start: 3.3125rem;
  }
  .p-feature-related__foot {
    padding: 1.125rem 1.7rem;
  }
  .p-feature-related__name {
    font-size: max(1.25rem, 10px);
  }
  .p-feature-related__list--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-feature-related__desc {
    padding: 0 1.7rem 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-feature-spotlight {
    --section-head-bar-height: 7.025rem;
  }
  .p-feature-spotlight__figures {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.375rem;
    margin-block-start: 2.125rem;
  }
  .p-feature-spotlight__more {
    margin-block-start: 1.4375rem;
  }
  .p-flow-timeline {
    padding-block: 3rem 5.5rem;
  }
  .p-flow-timeline__title {
    font-size: max(2rem, 10px);
  }
  .p-flow-timeline__title-logo {
    width: 8.75rem;
    margin-inline: 0.375rem;
    vertical-align: -0.25rem;
  }
  .p-flow-timeline__list {
    gap: 2.5rem;
    margin-block-start: 3rem;
  }
  .p-flow-timeline__time {
    padding-block-end: 0.625rem;
    font-size: max(1.25rem, 10px);
  }
  .p-flow-timeline__pairs {
    margin-block-start: 1.125rem;
  }
  .p-flow-timeline__pair {
    grid-template-columns: minmax(0, 1fr) 3.5rem minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
  }
  .p-flow-timeline__before {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.625rem 1.5rem 0.625rem 1rem;
  }
  .p-flow-timeline__role {
    align-self: flex-start;
    margin-block-end: 0.625rem;
  }
  .p-flow-timeline__text {
    margin-block-start: 0;
    font-size: max(1rem, 10px);
  }
  .p-flow-timeline__arrow {
    align-self: center;
    width: 2.125rem;
    height: 0.75rem;
  }
  .p-flow-timeline__arrow::before {
    inset-block-start: 0.3125rem;
    inset-inline-start: 0;
    width: 1.625rem;
    height: 2px;
  }
  .p-flow-timeline__arrow::after {
    inset-block-start: 0.0625rem;
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: 0.125rem;
    border-block-end: 0;
    border-block-start: 2px solid #9aa6b8;
    border-inline-end: 2px solid #9aa6b8;
  }
  .p-flow-timeline__after {
    justify-content: center;
    padding: 1.25rem 1.375rem;
  }
  .p-flow-timeline__after-text {
    font-size: max(1.125rem, 10px);
  }
  .p-footer__cta {
    padding-block: 2.25rem 3.125rem;
  }
  .p-footer__cta-deco-item {
    display: block;
  }
  .p-footer__cta-inner {
    gap: 1.625rem;
  }
  .p-footer__cta-block {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.5rem;
    justify-items: stretch;
    text-align: start;
  }
  .p-footer__cta-block[data-cta=contact] {
    grid-template-columns: 1fr auto;
    align-items: end;
  }
  .p-footer__cta-block + .p-footer__cta-block {
    padding-block-start: 1.75rem;
  }
  .p-footer__cta-title {
    font-size: max(1.5rem, 10px);
  }
  .p-footer__cta-lead {
    margin-block-start: -0.25rem;
    font-size: max(1rem, 10px);
  }
  .p-footer__cta-phone {
    justify-content: flex-start;
    margin-block-start: 2rem;
  }
  .p-footer__cta-phone-icon {
    width: 3.75rem;
    margin-block-start: 0.875rem;
  }
  .p-footer__cta-phone-number {
    font-size: max(3.125rem, 10px);
  }
  .p-footer__cta-phone-note {
    margin-inline-start: 0.1875rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-footer__cta-button {
    width: 17.8125rem;
    min-width: 0;
    min-height: 5.125rem;
    font-size: max(1.375rem, 10px);
  }
  .p-footer__main {
    padding-block: 3.125rem 2rem;
  }
  .p-footer__upper {
    grid-template-columns: auto 1fr;
    gap: 3.75rem;
    align-items: start;
  }
  .p-footer__logo {
    width: 14.375rem;
    margin-inline: 0;
  }
  .p-footer__company {
    text-align: start;
    font-size: max(0.9375rem, 10px);
  }
  .p-footer__nav {
    grid-template-columns: repeat(3, max-content);
    justify-content: end;
    gap: 5.4375rem;
  }
  .p-footer__nav-list {
    margin-block-start: 0.375rem;
  }
  .p-footer__bottom {
    margin-block-start: 1.5625rem;
    padding-block-start: 0.875rem;
  }
  .p-footer__legal {
    margin-inline-start: -1em;
    justify-content: flex-start;
    font-size: max(0.9375rem, 10px);
  }
  .p-footer__legal-item:not(:last-child)::after {
    display: inline;
  }
  .p-footer__copyright {
    margin-block-start: 1.625rem;
    text-align: start;
    font-size: max(0.9375rem, 10px);
  }
  .p-form-lead {
    margin-block-start: 4.3125rem;
  }
  .p-form-lead__text {
    font-size: max(1.25rem, 10px);
  }
  .p-form-links {
    gap: 1.875rem;
    margin-block-start: 1.9375rem;
  }
  .p-form-links__item.c-button-outline-pill {
    --button-outline-pill-min-height: 3.25rem;
    padding-inline: 1.875rem 1.25rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-form-lead + .c-form-embed {
    margin-block-start: 2.6875rem;
  }
  .p-form-links + .c-form-embed {
    margin-block-start: 4.625rem;
  }
  .p-form-success {
    padding-block-end: 5.8125rem;
  }
  .p-form-success__title {
    margin-block-start: 6.875rem;
    font-size: max(2.25rem, 10px);
  }
  .p-form-success__label {
    margin-block-start: 1.0625rem;
    font-size: max(1.25rem, 10px);
  }
  .p-form-success__text {
    margin-block-start: 3.1875rem;
    font-size: max(1.25rem, 10px);
  }
  .p-form-success__actions {
    gap: 1.25rem;
    margin-block-start: 5.625rem;
  }
  .p-form-success__actions .c-button-more {
    width: auto;
  }
  .p-form-success__back.c-button-outline-pill {
    --button-outline-pill-min-height: 3.125rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-form-tel {
    display: grid;
    grid-template-areas: "phone title" "phone note";
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: start;
    gap: 0;
    margin-block-start: 2.9375rem;
  }
  .p-form-tel__title {
    font-size: max(1.5rem, 10px);
  }
  .p-form-tel__phone {
    margin-block-start: 0;
  }
  .p-form-tel__icon {
    width: 4.875rem;
  }
  .p-form-tel__number {
    margin-inline: 1.25rem;
    font-size: max(4.125rem, 10px);
  }
  .p-form-tel__hours {
    margin-inline-start: 1.5rem;
    font-size: max(1.1875rem, 10px);
  }
  .p-form-tel__note {
    margin-block-start: 0.625rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-form-tel + .c-form-embed {
    margin-block-start: 4.375rem;
  }
  .p-form-lead:has(+ .p-form-tel) .p-form-lead__text {
    font-size: max(1.125rem, 10px);
  }
  .p-form-tel {
    text-align: start;
  }
  .p-form-tel__phone {
    justify-content: normal;
  }
  .p-form-tel__note br {
    display: inline;
  }
  .p-form-tel + .c-form-embed {
    max-width: 40.625rem;
    margin-inline: auto;
  }
  .p-function-change__title {
    word-break: normal;
  }
  .l-function-hero {
    margin-block-start: 2.4375rem;
  }
  .p-function-hero__title {
    font-size: max(3.4375rem, 10px);
  }
  .p-function-hero__sub {
    margin-block-start: 2.3125rem;
    font-size: max(1.625rem, 10px);
  }
  .p-function-hero__lead {
    margin-block-start: 0.875rem;
    font-size: max(1.125rem, 10px);
  }
  .l-function-top {
    margin-block-start: 3.0625rem;
  }
  .p-function-top__box {
    padding-block: 3.8125rem 5rem;
  }
  .p-function-top__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-function-top__list {
    grid-template-columns: repeat(auto-fit, minmax(0, 23.75rem));
    justify-content: center;
    gap: 1.875rem;
    margin-block-start: 3.1875rem;
  }
  .p-function-top__item {
    padding-block-end: 1.75rem;
  }
  .p-function-top__name {
    margin-block-start: 1.25rem;
    padding-inline: 2.25rem;
    font-size: max(1.125rem, 10px);
  }
  .p-function-top__text {
    margin-block-start: 0.875rem;
    padding-inline: 2.25rem;
    font-size: max(1rem, 10px);
  }
  .p-function-top__link {
    margin-block-start: 1.5rem;
    padding-inline: 2.25rem;
    font-size: max(0.9375rem, 10px);
  }
  .l-function-cards {
    margin-block-start: 5.5rem;
  }
  .l-function-change {
    margin-block-start: 5.5rem;
    margin-block-end: 0;
  }
  .p-function-change__box {
    padding-block: 4.125rem 5rem;
  }
  .p-function-change__title {
    font-size: max(2.3125rem, 10px);
    line-height: 1.1622;
  }
  .p-function-change__title-logo {
    width: 8.75rem;
    margin-inline: 0.375rem;
  }
  .p-function-change__lead {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-function-change__list {
    grid-template-columns: repeat(3, minmax(0, 380fr));
    gap: 1.875rem;
    margin-block-start: 4.5rem;
  }
  .p-function-change__name {
    padding-inline: 1.75rem;
    font-size: max(1.25rem, 10px);
  }
  .p-function-change__text,
  .p-function-change__target,
  .p-function-change__link {
    padding-inline: 1.75rem;
  }
  .p-function-change__text {
    font-size: max(1rem, 10px);
  }
  .p-function-change__target {
    font-size: max(0.9375rem, 10px);
  }
  .p-function-change__link {
    font-size: max(1rem, 10px);
  }
  .p-function-change__actions {
    gap: 1.5rem;
    margin-block-start: 3.75rem;
  }
  .p-function-change__item {
    padding-block: 1.9375rem 1.375rem;
  }
  .p-function-change__illust {
    width: auto;
  }
  .p-function-change__illust[data-card=efficiency] {
    inset-block-start: -2.0625rem;
    inset-inline-end: 0.625rem;
    width: 9.25rem;
  }
  .p-function-change__illust[data-card=compliance] {
    inset-block-start: -2.6875rem;
    inset-inline-end: 1.5625rem;
    width: 8rem;
  }
  .p-function-change__illust[data-card=cost] {
    inset-block-start: -2.6875rem;
    inset-inline-end: 1.1875rem;
    width: 10.375rem;
  }
  .p-header__logo-link img {
    width: clamp(70px, 70px + 0.1478365385 * (100vw - 768px), 193px);
  }
  .p-header__pc-nav-link {
    font-size: max(0.875rem, clamp(10px, 10px + 0.0060096154 * (100vw - 768px), 15px));
    padding-inline: clamp(3px, 3px + 0.0108173077 * (100vw - 768px), 12px);
  }
  .p-header__pc-nav-submenu {
    position: absolute;
    inset-block-start: 75%;
    inset-inline-start: 0;
    min-inline-size: 12.5rem;
    background: var(--color-white);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }
  .p-header__pc-nav-item:hover .p-header__pc-nav-submenu,
  .p-header__pc-nav-item:focus-within .p-header__pc-nav-submenu {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s ease;
  }
  .p-info-area {
    background-color: transparent;
  }
  .p-info-area__row {
    gap: 0.625rem;
  }
  .p-info-area__title {
    font-size: max(0.75rem, 10px);
  }
  .p-info-area__detail {
    font-size: max(0.8125rem, 10px);
  }
  .p-legal {
    --legal-h2-pad-inline: 2.1875rem;
    padding-block: 4.3125rem 3.75rem;
  }
  .p-legal__heading-dots {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-legal__inner > p:first-child {
    font-size: max(1.25rem, 10px);
  }
  .p-legal h2 {
    font-size: max(1.875rem, 10px);
  }
  .p-legal h2 {
    margin-block-start: 3.5625rem;
  }
  .p-legal h2:not(.is-style-legal-article)::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-legal h3,
  .p-legal h2.is-style-legal-article {
    margin-block-start: 3.75rem;
    font-size: max(1.5rem, 10px);
  }
  .p-legal h2:not(.is-style-legal-article) + :is(h3, h2.is-style-legal-article) {
    margin-block-start: 2.5rem;
  }
  .p-legal :is(h2, h3) + p,
  .p-legal :is(h2, h3) + ol {
    margin-block-start: 1.25rem;
    font-size: max(1rem, 10px);
  }
  .p-legal__inner > p:not(:first-child) {
    font-size: max(1rem, 10px);
  }
  .p-legal__inner > p:first-child + p {
    margin-block-start: 1.25rem;
  }
  .p-legal__inner > p.is-legal-lead:not(:first-child) {
    font-size: max(1.25rem, 10px);
  }
  .p-legal__inner > p + p {
    margin-block-start: 1rem;
  }
  .p-legal__inner > p + ol {
    margin-block-start: 1rem;
  }
  .p-legal__inner > ol + p {
    margin-block-start: 3.5rem;
  }
  .p-legal__inner > ol + p.is-legal-note {
    margin-block-start: 1.25rem;
  }
  .p-legal__inner > ol + p.is-legal-note--en {
    margin-block-start: 1.75rem;
  }
  .p-legal__inner > p.is-legal-note + p {
    margin-block-start: 3.5rem;
  }
  .p-legal ol {
    font-size: max(1rem, 10px);
  }
  .p-legal ol > li + li {
    margin-block-start: 1rem;
  }
  .p-legal ol > li > p {
    margin-block-start: 1rem;
  }
  .p-legal figure:has(table) {
    margin-block: 2rem 0;
  }
  .p-legal figure:has(table) + p {
    margin-block-start: 3rem;
  }
  .p-legal table {
    display: table;
    border-spacing: 1.375rem 0;
  }
  .p-legal table :is(thead, tbody, tfoot) {
    display: table-row-group;
  }
  .p-legal table tr {
    display: table-row;
  }
  .p-legal table tr + tr {
    margin-block-start: 0;
  }
  .p-legal table :is(th, td) {
    display: table-cell;
    width: auto;
    padding-block: 0.625rem 0.75rem;
    font-size: max(1rem, 10px);
  }
  .p-legal table th {
    width: 11.25rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(1) {
    width: 15rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(2) {
    width: auto;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(3) {
    width: 7.5rem;
  }
  .p-legal table:not(:has(tr > *:nth-child(3))) th {
    width: 15rem;
    padding: 1.125rem 1.5rem;
    border-bottom: 1px solid #dbdbdb;
  }
  .p-legal table:not(:has(tr > *:nth-child(3))) td {
    padding: 1.125rem 1.5rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) th {
    padding: 0.875rem 1rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) td {
    padding: 1.125rem 1rem;
  }
  .p-legal h2.is-legal-part {
    margin-block-start: 5rem;
  }
  .p-legal .is-legal-contact {
    margin-block-start: 2rem;
    padding: 1.875rem 3.125rem;
  }
  .p-legal .is-legal-contact > p {
    font-size: max(1rem, 10px);
  }
  .p-legal ul.is-legal-hang {
    margin-block-start: 1rem;
    font-size: max(1rem, 10px);
  }
  .p-legal .is-legal-purpose-consent table:has(tr > *:nth-child(3)) :is(th, td):nth-child(1) {
    width: 25rem;
  }
  .p-legal .is-style-legal-sign {
    margin-block-start: 1.4375rem;
    padding: 1.625rem;
  }
  .p-legal .is-style-legal-sign p {
    font-size: max(1rem, 10px);
  }
  .p-legal .is-style-legal-sign p:first-child {
    font-size: max(1rem, 10px);
  }
  .p-legal .p-legal__figure--logo-text {
    width: 30rem;
  }
  .p-legal .p-legal__figure--logo-symbol {
    width: 18.75rem;
  }
  .p-legal__form {
    margin-block-start: 4rem;
    padding-block: 3.5rem 5rem;
  }
  .p-legal__form-inner {
    justify-items: center;
  }
  .p-legal__form-inner .p-legal__form-embed,
  .p-legal__form-inner .p-legal__form-head {
    inline-size: var(--form-field-width);
    max-inline-size: 100%;
  }
  .p-legal__form-head {
    padding-block-start: 0.625rem;
  }
  .p-legal h2.p-legal__form-title {
    font-size: max(1.875rem, 10px);
  }
  .p-legal__form-note {
    margin-block-start: 1.75rem;
    font-size: max(1rem, 10px);
  }
  .p-legal--success {
    padding-block: 4rem 6.25rem;
  }
  .p-legal h2.p-legal__success-title {
    font-size: max(1.75rem, 10px);
  }
  .p-legal__success-text {
    margin-block-start: 2rem;
    font-size: max(1rem, 10px);
  }
  .p-legal__success-actions {
    margin-block-start: 3rem;
  }
  .privacy-policy .p-legal table:not(:has(tr > *:nth-child(3))) th {
    border-inline-end: 1px solid #dbdbdb;
  }
  .l-lineup-hero {
    margin-block-start: 3.0375rem;
  }
  .p-lineup-hero__inner {
    position: relative;
    display: block;
  }
  .p-lineup-hero__body {
    max-width: 45rem;
  }
  .p-lineup-hero__eyebrow {
    font-size: max(1.625rem, 10px);
  }
  .p-lineup-hero__eyebrow-logo {
    width: 9.24375rem;
  }
  .p-lineup-hero__title {
    font-size: max(3.4375rem, 10px);
  }
  .p-lineup-hero__sub {
    margin-block-start: 1rem;
    font-size: max(1.625rem, 10px);
  }
  .p-lineup-hero__lead {
    margin-block-start: 3.0625rem;
    font-size: max(1.125rem, 10px);
  }
  .p-lineup-hero__visual {
    position: absolute;
    inset-block-start: -1.9625rem;
    inset-inline-end: max(-2.5375rem, (100vw - 100%) / -2);
    width: 37.6125rem;
  }
  .l-lineup-common {
    margin-block-start: 9.1875rem;
  }
  .p-lineup-common__inner {
    grid-template-columns: 24.375rem minmax(0, 1fr);
    align-items: center;
    gap: 0.625rem;
  }
  .p-lineup-common__title {
    font-size: max(2rem, 10px);
  }
  .p-lineup-common__text {
    padding-inline-start: 0.75rem;
    font-size: max(1.25rem, 10px);
    border-inline-start: 1px solid #c9ccd1;
  }
  .l-lineup-structure {
    margin-block-start: 4.90625rem;
  }
  .l-lineup-plan {
    margin-block-start: 3.3125rem;
  }
  .l-lineup-cta {
    margin-block: 5rem;
  }
  .l-lineup-faq {
    margin-block-start: 4.875rem;
    margin-block-end: 4.875rem;
  }
  .p-lower-hero__inner {
    grid-template-columns: minmax(0, 702fr) minmax(0, 405.5fr);
    align-items: start;
    -moz-column-gap: 5.78125rem;
         column-gap: 5.78125rem;
  }
  .p-lower-hero[data-visual=wide] .p-lower-hero__inner {
    grid-template-columns: minmax(0, 702fr) minmax(0, 489fr);
    -moz-column-gap: 0.5625rem;
         column-gap: 0.5625rem;
  }
  .p-lower-hero__body {
    padding-block-start: 1.2125rem;
  }
  .p-lower-hero__badge {
    font-size: max(0.9375rem, 10px);
  }
  .p-lower-hero__title {
    margin-block-start: 0.4375rem;
    font-size: max(3.4375rem, 10px);
  }
  .p-lower-hero__sub {
    margin-block-start: 1.625rem;
    font-size: max(1.625rem, 10px);
  }
  .p-lower-hero__lead {
    margin-block-start: 0.4375rem;
    font-size: max(1.125rem, 10px);
  }
  .p-lower-hero:has(.p-lower-hero__chips) .p-lower-hero__lead {
    margin-block-start: 0.875rem;
  }
  .p-lower-hero__chips {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    -moz-column-gap: 1.1875rem;
         column-gap: 1.1875rem;
    row-gap: 1.375rem;
    width: 100%;
    max-width: 36.9375rem;
  }
  .p-lower-hero__chip-name {
    font-size: max(1.25rem, 10px);
  }
  .p-lower-hero__chip-text {
    font-size: max(0.875rem, 10px);
  }
  .p-lower-hero__visual {
    width: 25.34375rem;
    justify-self: end;
  }
  .p-lower-hero[data-visual=wide] .p-lower-hero__visual {
    max-width: 30.5625rem;
    margin-block-start: 2.2125rem;
  }
  .l-mobile-hero .p-lower-hero__inner {
    grid-template-columns: minmax(0, 881fr) minmax(0, 243.3fr);
  }
  .l-mobile-hero .p-lower-hero__visual {
    width: 15.20625rem;
  }
  .l-mobile-screens {
    margin-block-start: 7.21875rem;
  }
  .p-mobile-screens__box {
    max-width: 84.9375rem;
    margin-inline: auto;
    padding-block: 3.0875rem 3.75rem;
  }
  .p-mobile-screens__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-mobile-screens__lead {
    margin-block-start: 2.81875rem;
    font-size: max(1.125rem, 10px);
    text-align: center;
  }
  .p-mobile-screens__cards {
    grid-template-columns: minmax(0, 500fr) auto minmax(0, 500fr);
    align-items: center;
    gap: 2.125rem;
    margin-block-start: 3.75rem;
  }
  .p-mobile-screens__card {
    min-height: 40.45rem;
    padding: 2.875rem 3.6875rem 2.5rem;
  }
  .p-mobile-screens__illust {
    inset-block-start: -2.25rem;
    inset-inline-end: -1.6875rem;
    max-height: 10.4375rem;
  }
  .p-mobile-screens__name {
    padding-block-end: 1.75rem;
    font-size: max(1.875rem, 10px);
  }
  .p-mobile-screens__text {
    margin-block-start: 1.375rem;
    font-size: max(1.125rem, 10px);
  }
  .p-mobile-screens__items {
    gap: 2.875rem 1.25rem;
    margin-block-start: 2.875rem;
  }
  .p-mobile-screens__item-text {
    font-size: max(0.9375rem, 10px);
  }
  .p-mobile-screens__link {
    padding-block-end: 3.25rem;
    font-size: max(1.25rem, 10px);
  }
  .p-mobile-screens__link::before,
  .p-mobile-screens__link::after {
    inset-inline-start: 50%;
    width: 3.5rem;
    height: 0.875rem;
    translate: -50% 0;
  }
  .p-mobile-screens__link::before {
    inset-block-end: 1.375rem;
    clip-path: polygon(0 30%, 76% 30%, 76% 0, 100% 50%, 76% 100%, 76% 70%, 0 70%);
  }
  .p-mobile-screens__link::after {
    inset-block-end: 0.25rem;
    clip-path: polygon(100% 30%, 24% 30%, 24% 0, 0 50%, 24% 100%, 24% 70%, 100% 70%);
  }
  .p-mobile-screens__note {
    margin-block-start: 2.875rem;
    font-size: max(1rem, 10px);
    text-align: center;
  }
  .l-mobile-features {
    margin-block-start: 6.46875rem;
  }
  .p-mobile-features__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-mobile-features__subtitle {
    margin-block-start: 2.875rem;
    font-size: max(1.5rem, 10px);
  }
  .p-mobile-features__lead {
    margin-block-start: 2.875rem;
    font-size: max(1.125rem, 10px);
  }
  .p-mobile-features__list {
    grid-template-columns: repeat(2, minmax(0, 560fr));
    gap: 3.75rem 5rem;
    margin-block-start: 4.375rem;
  }
  .p-mobile-features__list {
    grid-auto-rows: 1fr;
  }
  .p-mobile-features__item {
    padding: 1.875rem 3.125rem;
  }
  .p-mobile-features__item .c-image-zoom--fit {
    height: 18.75rem;
  }
  .p-mobile-features__name {
    margin-block-start: 1.375rem;
    font-size: max(1.5rem, 10px);
  }
  .p-mobile-features__text {
    margin-block-start: 0.875rem;
    font-size: max(1rem, 10px);
  }
  .p-mobile-features__link {
    margin-block-start: 1.25rem;
    font-size: max(1.0625rem, 10px);
  }
  .p-mobile-features__link .c-link-arrow__text {
    color: var(--color-black);
  }
  .l-mobile-steps {
    margin-block-start: 4.875rem;
  }
  .p-mobile-steps__box {
    padding-block: 3.25rem 5rem;
  }
  .p-mobile-steps__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-mobile-steps__head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
  }
  .p-mobile-steps__stores {
    margin-block-end: 0;
    padding-inline-start: 0;
  }
  .p-mobile-steps__block {
    grid-template-columns: 9.875rem minmax(0, 1fr);
    align-items: start;
    -moz-column-gap: 3.375rem;
         column-gap: 3.375rem;
    margin-block-start: 3.5rem;
  }
  .p-mobile-steps__block + .p-mobile-steps__block {
    margin-block-start: 5.625rem;
  }
  .p-mobile-steps__phone {
    margin-block-start: -0.8125rem;
  }
  .p-mobile-steps__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.775rem;
    margin-block-start: 0;
  }
  .p-mobile-steps__item {
    padding: 2.5rem 1.75rem 1.75rem;
  }
  .p-mobile-steps__num {
    inset-block-start: -0.625rem;
  }
  .p-mobile-steps__name {
    font-size: max(1.125rem, 10px);
  }
  .p-mobile-steps__text {
    margin-block-start: 0.75rem;
    font-size: max(1rem, 10px);
  }
  .l-mobile-extras {
    margin-block-start: 6.4375rem;
  }
  .p-mobile-extras__lead {
    margin-block-start: 1.05625rem;
    font-size: max(1rem, 10px);
  }
  .p-mobile-extras__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 2.1875rem;
  }
  .p-mobile-extras__item {
    gap: 1.5rem;
    padding: 1.75rem 2.125rem;
  }
  .p-mobile-extras__name {
    font-size: max(1.125rem, 10px);
  }
  .p-mobile-extras__text {
    margin-block-start: 0.5rem;
    font-size: max(1rem, 10px);
  }
  .l-mobile-faq {
    margin-block-start: 5.5rem;
    margin-block-end: 4.875rem;
  }
  .p-mobile-features__ui.p-mobile-features__ui--phone {
    max-height: 18.75rem;
  }
  .p-modal__inner {
    padding: 3.5rem 3rem 2.5rem;
  }
  .p-modal__close {
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
  }
  .p-modal__image {
    min-height: 15rem;
    font-size: max(0.875rem, 10px);
  }
  .p-modal__title {
    margin-block-start: 1.75rem;
    font-size: max(1.5rem, 10px);
  }
  .p-modal__text {
    margin-block-start: 1.125rem;
    font-size: max(1rem, 10px);
  }
  .p-modal__tags {
    margin-block-start: 1.5rem;
  }
  .p-modal__tag {
    font-size: max(0.875rem, 10px);
  }
  .p-modal__actions {
    margin-block-start: 2rem;
  }
  .p-modal__link {
    font-size: max(1rem, 10px);
  }
  .p-news-detail__body h2 {
    font-size: max(1.875rem, 10px);
  }
  .p-news-detail__body h2::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-news-tabs__list {
    align-items: end;
    gap: 0.5rem;
    margin-block-start: 1.9375rem;
  }
  .p-news-tabs__link {
    min-height: 3.125rem;
    padding-inline: 1.875rem;
    font-size: max(1.25rem, 10px);
    border-block-end: 0;
    border-radius: 0.5rem 0.5rem 0 0;
  }
  .p-news-tabs__item--current .p-news-tabs__link {
    min-height: 3.4375rem;
    padding-inline: 1.875rem;
    font-size: max(1.5rem, 10px);
  }
  .p-news-list {
    margin-block-start: 0;
    padding: 3.90625rem 3.0625rem 3.0625rem;
  }
  .p-news-list__link {
    grid-template-columns: 4.5625rem minmax(0, 1fr);
    gap: 0.875rem 1.75rem;
    padding-block: 0.78125rem;
  }
  .p-news-list__thumb {
    width: 4.5625rem;
    height: 4.5625rem;
  }
  .p-news-list__date {
    font-size: max(1rem, 10px);
  }
  .p-news-list__cat {
    min-height: 1.9375rem;
    padding-inline: 0.625rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-news-list__title {
    font-size: max(1rem, 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .p-pagination__list {
    margin-block-start: 2.59375rem;
  }
  .p-pagination__ellipsis {
    width: 2.5rem;
  }
  .p-news-detail__head {
    grid-template-columns: 15.25rem minmax(0, 1fr);
    gap: 0.875rem 2.375rem;
  }
  .p-news-detail__thumb {
    grid-row: 1/3;
    max-width: none;
  }
  .p-news-detail__meta {
    align-self: start;
  }
  .p-news-detail__date {
    font-size: max(1rem, 10px);
  }
  .p-news-detail__title {
    font-size: max(2.125rem, 10px);
  }
  .p-news-detail__body {
    margin-block-start: 2.375rem;
  }
  .p-news-detail__body > * + * {
    margin-block-start: 1.75rem;
  }
  .p-news-detail__body p,
  .p-news-detail__body li {
    font-size: max(1rem, 10px);
  }
  .p-news-detail__body h2 {
    --heading-dots-pad-inline: 2.1875rem;
  }
  .l-news {
    padding-block-end: 7.65625rem;
  }
  .l-news-detail {
    margin-block-start: 4.6625rem;
  }
  .p-news-nav {
    margin-block-start: 3.9375rem;
    padding-block: 1.5rem 3.6875rem;
  }
  .p-news-nav__list {
    grid-template-columns: 25.54375rem minmax(0, 1fr) 25.54375rem;
    align-items: start;
    gap: 0;
  }
  .p-news-nav__item--prev {
    grid-column: 1;
  }
  .p-news-nav__back {
    grid-column: 2;
    order: 0;
    align-self: start;
    margin-block-start: 6.3125rem;
  }
  .p-news-nav__item--next {
    grid-column: 3;
    text-align: end;
  }
  .p-news-nav__item--next .p-news-nav__label {
    justify-content: flex-end;
  }
  .p-news-nav__label {
    font-size: max(1rem, 10px);
  }
  .p-news-nav__card {
    margin-block-start: 0.975rem;
    grid-template-columns: 5.4375rem minmax(0, 1fr);
    gap: 0.875rem;
    padding: 1.675rem 1.91875rem 1.875rem;
    min-height: 9.4rem;
    text-align: start;
  }
  .p-news-nav__thumb {
    width: 5.4375rem;
    height: 5.4375rem;
  }
  .p-news-nav__content {
    gap: 0.625rem;
  }
  .p-news-nav__meta {
    gap: 0.5rem 1.3125rem;
  }
  .p-news-nav__date {
    font-size: max(1rem, 10px);
  }
  .p-news-nav__cat {
    min-height: 1.9375rem;
    padding-inline: 0.4375rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-news-nav__title {
    font-size: max(1rem, 10px);
  }
  .p-other-issues__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem;
    margin-block-start: 4.1875rem;
  }
  .p-other-issues__card {
    min-height: 11.25rem;
    padding: 1.95rem 1.7rem 2.5rem;
  }
  .p-other-issues__label {
    font-size: max(0.9375rem, 10px);
  }
  .p-other-issues__title {
    margin-block-start: 0.4375rem;
    font-size: max(1.25rem, 10px);
  }
  .p-other-issues__desc {
    margin-block-start: 0.5rem;
    font-size: max(1rem, 10px);
  }
  .p-other-issues__illust {
    position: absolute;
    inset-block-start: 2.49375rem;
    display: block;
  }
  .p-other-issues__illust[data-card=compliance] {
    inset-inline-end: 3.325rem;
    width: 7.55rem;
  }
  .p-other-issues__illust[data-card=efficiency] {
    inset-block-start: 3.5rem;
    inset-inline-end: 1.6125rem;
    width: 9.2625rem;
  }
  .p-other-issues__illust[data-card=cost] {
    inset-inline-end: 1.71875rem;
    width: 10.34375rem;
  }
  .p-other-issues__back {
    margin-block-start: 1.5625rem;
  }
  .p-other-issues__back .c-link-arrow {
    --link-arrow-font-size: max(1.25rem, 10px);
  }
  .p-page-hero {
    padding-block: 2.4375rem 2.375rem;
  }
  .p-page-hero__label {
    font-size: max(1rem, 10px);
  }
  .p-page-hero__title {
    margin-block-start: 0.5rem;
    font-size: max(2.5rem, 10px);
  }
  .p-page-top {
    inset-block-end: 2.5rem;
    inset-inline-end: 2.5rem;
    width: 3.5rem;
  }
  .p-page-top__icon {
    width: 1.0625rem;
    border-block-start-width: 0.25rem;
    border-inline-start-width: 0.25rem;
  }
  .p-persona-flow {
    padding-block: 3.1875rem 4.5625rem;
  }
  .p-persona-flow__title {
    font-size: max(2rem, 10px);
    line-height: 1.0313;
  }
  .p-persona-flow__title-logo {
    width: 8.76875rem;
    margin-inline: 0.375rem;
    vertical-align: -0.25rem;
  }
  .p-persona-flow__list {
    margin-block-start: 7rem;
  }
  .p-persona-flow__item {
    display: grid;
    grid-template-columns: 9.4375rem minmax(0, 1fr);
    padding-inline-start: 0;
  }
  .p-persona-flow__item::before {
    inset-block: -2.171875rem -3rem;
    inset-inline-start: 0.578125rem;
  }
  .p-persona-flow__item:nth-last-child(2)::before {
    inset-block-end: -5.171875rem;
  }
  .p-persona-flow__item + .p-persona-flow__item {
    margin-block-start: 3rem;
  }
  .p-persona-flow__time {
    align-self: start;
    margin-block-start: -3.5rem;
    padding-inline-start: 1.625rem;
    font-size: max(2.25rem, 10px);
    line-height: 1.2222;
  }
  .p-persona-flow__time::before {
    inset-block-start: 0.75rem;
    inset-inline-start: 0;
  }
  .p-persona-flow__time:empty {
    display: block;
  }
  .p-persona-flow__body {
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 500fr));
    gap: 0 3.0625rem;
    margin-block-start: 0;
  }
  .p-persona-flow__persona {
    position: absolute;
    inset-block-end: 100%;
    inset-inline-start: 1.4375rem;
    margin-block-end: -0.6875rem;
    padding-inline-start: 0;
  }
  .p-persona-flow__col--after .p-persona-flow__persona {
    inset-inline-start: 2.125rem;
  }
  .p-persona-flow__persona-illust {
    width: 3rem;
  }
  .p-persona-flow__col--after .p-persona-flow__persona-illust {
    width: 3.3125rem;
  }
  .p-persona-flow__role {
    margin-block-end: 1rem;
    font-size: max(1.25rem, 10px);
    line-height: 1.7;
  }
  .p-persona-flow__col {
    display: flex;
    flex-direction: column;
  }
  .p-persona-flow__col > .p-persona-flow__card {
    flex: 1 1 auto;
  }
  .p-persona-flow__card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 8.825rem;
    margin-block-start: 0;
    padding: 2.4375rem 1.5625rem;
  }
  .p-persona-flow__col--after button.p-persona-flow__card {
    padding-block-end: 2.4375rem;
  }
  .p-persona-flow__badge {
    inset-inline-end: 0.9375rem;
  }
  .p-persona-flow__col--after .p-persona-flow__badge {
    inset-inline-end: 1.575rem;
  }
  .p-persona-flow__text {
    font-size: max(1rem, 10px);
    line-height: 1.875;
  }
  .p-persona-flow__col--after .p-persona-flow__text {
    font-size: max(1.125rem, 10px);
    line-height: 1.8889;
  }
  .p-persona-flow__arrow {
    inset-block-start: 50%;
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: -2.70625rem;
    width: 3.75rem;
    translate: 0 -50%;
    rotate: none;
  }
  .p-persona-flow--no-time .p-persona-flow__item {
    display: block;
  }
  .p-persona-flow--no-time .p-persona-flow__item + .p-persona-flow__item {
    margin-block-start: 7.7375rem;
  }
  .p-persona-flow--no-time .p-persona-flow__item::before {
    content: none;
  }
  .p-persona-flow--no-time .p-persona-flow__list {
    margin-block-start: 8.4375rem;
  }
  .p-persona-flow--no-time .p-persona-flow__body {
    grid-template-columns: repeat(2, minmax(0, 550fr));
    gap: 0 6.25rem;
  }
  .p-persona-flow--no-time .p-persona-flow__arrow {
    inset-inline-end: -5.01875rem;
    width: 6.08125rem;
  }
  .p-plan-detail__head {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .p-plan-detail__title.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-plan-detail__combo {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-block-start: 0;
  }
  .p-plan-detail__chip {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    min-height: 7.375rem;
    padding: 1rem 2.25rem;
  }
  .p-plan-detail__chip-name {
    margin-inline-start: 0.9375rem;
    white-space: nowrap;
    font-size: max(1.125rem, 10px);
  }
  .p-plan-detail__note {
    min-height: 4.6875rem;
    margin-block-start: 2.375rem;
    font-size: max(1.5625rem, 10px);
    line-height: 0.84;
  }
  .p-plan-detail__subtitle {
    margin-block-start: 3.1875rem;
  }
  .p-plan-detail__targets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-block-start: 1.78125rem;
  }
  .p-plan-detail__targets:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-plan-detail__target {
    min-height: 9.4375rem;
    padding: 1.5rem 1.25rem;
  }
  .p-plan-detail__target-text {
    font-size: max(1rem, 10px);
  }
  .p-plan-detail__merits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem;
    margin-block-start: 1.78125rem;
  }
  .p-plan-detail__merit {
    padding: 1.75rem 2.5625rem;
  }
  .p-plan-detail__merit-title {
    padding-inline-start: 1.25rem;
    font-size: max(1.25rem, 10px);
  }
  .p-plan-detail__merit-text {
    margin-block-start: 0.75rem;
    padding-inline-start: 1.25rem;
    font-size: max(1rem, 10px);
  }
  .p-plan-detail__spec {
    grid-template-columns: 17.875rem minmax(0, 1fr);
    align-items: center;
    gap: 0;
    margin-block-start: 3.75rem;
  }
  .p-plan-detail__spec-title {
    font-size: max(1.25rem, 10px);
  }
  .p-plan-detail__spec-list {
    gap: 0.6875rem;
    padding-inline-start: 4.125rem;
    border-inline-start: 1px solid #c9ccd1;
  }
  .p-plan-detail__spec-item {
    font-size: max(1rem, 10px);
  }
  .p-plan-detail__more {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1875rem;
    margin-block-start: 1.78125rem;
  }
  .p-plan-detail__more-card {
    padding: 1.25rem 1.625rem;
  }
  .p-plan-detail__more-illust {
    flex-basis: 4.1875rem;
    width: 4.1875rem;
  }
  .p-plan-detail__more-name {
    font-size: max(1rem, 10px);
  }
  .p-post-content h2 {
    font-size: max(1.875rem, 10px);
  }
  .p-post-content h2::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-post-content,
  .p-post-content p {
    font-size: max(1rem, 10px);
  }
  .p-post-content > * + * {
    margin-block-start: 1.75rem;
  }
  .p-post-content h2 {
    --heading-dots-pad-inline: 2.1875rem;
  }
  .p-post-content > h2 {
    margin-block-start: 5.125rem;
  }
  .p-post-content > .p-post-content__toc + h2 {
    margin-block-start: 2.75rem;
  }
  .p-post-content > :is(ul, ol) + h2 {
    margin-block-start: 3.25rem;
  }
  .p-post-content > figure + h3 {
    margin-block-start: 4.5625rem;
  }
  .p-post-content > h3 {
    margin-block-start: 3.5rem;
    padding-inline-start: 1.25rem;
    font-size: max(1.125rem, 10px);
  }
  .p-post-content > :is(h2, h3) + * {
    margin-block-start: 1.25rem;
  }
  .p-post-content li {
    font-size: max(1.125rem, 10px);
  }
  .p-post-content figure {
    margin-block-start: 1.1875rem;
  }
  .p-post-content figcaption {
    margin-block-start: 2.0625rem;
  }
  .p-post-content__toc {
    gap: 0;
    grid-template-columns: 6rem minmax(0, 1fr);
    padding: 2.4375rem 1.625rem 2.1875rem;
  }
  .p-post-content__toc-title {
    font-size: max(1.25rem, 10px);
  }
  .p-post-content__toc-list {
    gap: 0.5625rem;
  }
  .p-post-content__toc-item {
    font-size: max(1rem, 10px);
  }
  .p-post-content__note {
    margin-block-start: 2.0625rem;
    margin-inline: 2rem;
    padding: 2.125rem 2.6875rem 2.375rem;
  }
  .p-post-content__note-title {
    font-size: max(1.125rem, 10px);
  }
  .p-post-content__note-title + * {
    margin-block-start: 1rem;
  }
  .p-post-content__actions {
    gap: 1.5625rem;
    margin-block-start: 1.8125rem;
  }
  .p-post-content__external {
    font-size: max(1rem, 10px);
  }
  .p-post-nav {
    padding-block: 1.5rem 2.3375rem;
  }
  .p-post-nav__list {
    grid-template-columns: 24.0625rem minmax(0, 1fr) 24.0625rem;
    align-items: stretch;
    gap: 1.875rem;
  }
  .p-post-nav__item {
    display: flex;
    flex-direction: column;
  }
  .p-post-nav__card {
    flex: 1;
    align-content: start;
  }
  .p-post-nav__item--next {
    text-align: end;
  }
  .p-post-nav__item--next .p-post-nav__label {
    justify-content: flex-end;
  }
  .p-post-nav__card {
    gap: 0.5rem;
    margin-block-start: 1.3125rem;
    padding: 0.875rem 1.73125rem 1.125rem;
    text-align: start;
  }
  .p-post-nav__date,
  .p-post-nav__title {
    font-size: max(1rem, 10px);
  }
  .p-post-nav__label {
    font-size: max(1rem, 10px);
  }
  .p-post-nav__back {
    order: 0;
    align-self: start;
    margin-block-start: 3.3125rem;
  }
  .p-post-nav__back a {
    font-size: max(1rem, 10px);
  }
  .l-price-hero {
    margin-block-start: 3.9375rem;
  }
  .p-price-hero__inner {
    grid-template-columns: minmax(0, 600fr) minmax(0, 600fr);
    align-items: center;
    gap: 0rem;
  }
  .p-price-hero__body {
    display: block;
  }
  .p-price-hero__button {
    justify-self: auto;
  }
  .p-price-hero__title {
    font-size: max(3.4375rem, 10px);
  }
  .p-price-hero__sub {
    margin-block-start: 1.3125rem;
    font-size: max(2.3125rem, 10px);
  }
  .p-price-hero__sub-num {
    font-size: max(2.8125rem, 10px);
  }
  .p-price-hero__strong {
    margin-block-start: 1.1875rem;
    font-size: max(1.5rem, 10px);
  }
  .p-price-hero__lead {
    margin-block-start: 1rem;
    font-size: max(1rem, 10px);
  }
  .p-price-hero__button {
    min-width: 21.5rem;
    min-height: 5.1125rem;
    margin-block-start: 2.25rem;
    padding-inline: 3rem 2.5rem;
    font-size: max(1.375rem, 10px);
  }
  .l-price-hero {
    overflow-x: clip;
  }
  .p-price-hero__visual {
    display: block;
    width: 78%;
    margin-block-start: 0;
    aspect-ratio: 560/377.2;
  }
  .p-price-hero__illust {
    position: absolute;
    width: auto;
    max-width: none;
    max-height: none;
  }
  .p-price-hero__illust--car {
    inset-block-start: 0;
    inset-inline-start: 5.3036%;
    width: 77.6429%;
  }
  .p-price-hero__illust--calc {
    inset-block-start: 32.1845%;
    inset-inline-start: 47.4107%;
    width: 64.1607%;
  }
  .l-price-basic {
    margin-block-start: 7.1875rem;
  }
  .p-price-basic__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-price-basic__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 3.125rem;
  }
  .p-price-basic__item {
    min-height: 16.5625rem;
    padding: 3.75rem 2.375rem 2rem;
  }
  .p-price-basic__tag {
    inset-inline-start: 1.9375rem;
  }
  .p-price-basic__main {
    flex-direction: row;
    gap: 1.5rem;
  }
  .p-price-basic__label {
    font-size: max(1.125rem, 10px);
  }
  .p-price-basic__value {
    font-size: max(2.25rem, 10px);
  }
  .p-price-basic__note {
    margin-block-start: 1.375rem;
    font-size: max(1rem, 10px);
  }
  .l-price-plans {
    margin-block-start: 5.5rem;
  }
  .p-price-plans__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-price-plans__table {
    display: grid;
    grid-template-columns: 9.375rem minmax(0, 1fr);
    gap: 0rem 1.75rem;
    margin-block-start: 2.8125rem;
  }
  .p-price-plans__labels {
    display: grid;
    grid-template-rows: repeat(4, auto);
    align-content: start;
    padding-block-start: 7.875rem;
  }
  .p-price-plans__label {
    display: flex;
    align-items: center;
    min-height: 4.75rem;
    padding-block-end: 0.75rem;
    padding-inline-start: 1.875rem;
    font-size: max(1rem, 10px);
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-black);
    border-block-end: 1px solid var(--color-brand-blue);
  }
  .p-price-plans__label:nth-child(3),
  .p-price-plans__label:nth-child(4) {
    min-height: 5.25rem;
  }
  .p-price-plans__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
  .p-price-plans__card {
    padding: 2.25rem 2rem 2rem;
  }
  .p-price-plans__summary {
    font-size: max(1rem, 10px);
  }
  .p-price-plans__row {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4rem;
    margin-block-start: 0.75rem;
    font-size: max(1rem, 10px);
  }
  .p-price-plans__row:not(.p-price-plans__row--num) {
    justify-content: flex-start;
    min-height: 4.5rem;
  }
  .p-price-plans__num {
    font-size: max(2.5rem, 10px);
  }
  .l-price-patterns {
    margin-block-start: 5.3125rem;
  }
  .p-price-patterns__box {
    padding-block: 3.9375rem 5rem;
  }
  .p-price-patterns__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-price-patterns__lead {
    margin-block-start: 1.1875rem;
    font-size: max(1rem, 10px);
  }
  .p-price-patterns__list {
    grid-template-columns: repeat(3, minmax(0, 380fr));
    gap: 1.875rem;
    margin-block-start: 2.875rem;
  }
  .p-price-patterns__head {
    padding: 1.5rem 1.75rem 0;
  }
  .p-price-patterns__name {
    font-size: max(1.25rem, 10px);
  }
  .p-price-patterns__more {
    margin-block-start: 2.5rem;
  }
  .p-price-patterns__text {
    padding: 1.25rem 1.75rem 2rem;
    font-size: max(1rem, 10px);
  }
  .l-price-flow {
    margin-block-start: 5.5rem;
  }
  .p-price-flow__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-price-flow__list {
    gap: 1.5rem;
    margin-block-start: 3.5rem;
  }
  .p-price-flow__item {
    grid-template-columns: 6.5rem minmax(0, 1fr) 7.25rem;
    align-items: start;
    gap: 1.125rem 1.5rem;
    padding: 1.75rem 2.125rem;
  }
  .p-price-flow__num {
    min-height: 2.375rem;
    padding-inline: 1.125rem;
    font-size: max(1.125rem, 10px);
  }
  .p-price-flow__name {
    font-size: max(1.5rem, 10px);
  }
  .p-price-flow__term {
    font-size: max(1rem, 10px);
  }
  .p-price-flow__text {
    font-size: max(0.9375rem, 10px);
    grid-column: 2/4;
  }
  .p-price-flow__note {
    font-size: max(0.875rem, 10px);
    grid-column: 2/4;
  }
  .l-price-support {
    margin-block-start: 6rem;
  }
  .p-price-support__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-price-support__list {
    grid-template-columns: minmax(0, 477fr) minmax(0, 707fr);
    align-items: stretch;
    gap: 1.375rem;
    margin-block-start: 3.25rem;
  }
  .p-price-support__item {
    padding: 3rem 1.75rem 1.75rem;
  }
  .p-price-support__cards {
    gap: 1rem;
  }
  .p-price-support__item:nth-child(2) .p-price-support__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-price-support__card {
    min-height: 6.25rem;
    font-size: max(1.125rem, 10px);
  }
  .p-price-support__note {
    margin-block-start: 1.25rem;
    font-size: max(0.9375rem, 10px);
  }
  .l-price-env {
    margin-block-start: 6rem;
  }
  .p-price-env__heading.c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
  }
  .p-price-env__lead {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
  }
  .p-price-env__table {
    margin-block-start: 2.5rem;
  }
  .p-price-env__table th,
  .p-price-env__table td {
    display: table-cell;
    width: auto;
    font-size: max(1rem, 10px);
  }
  .p-price-env__table th {
    width: 17.5rem;
  }
  .l-price-guide {
    margin-block-start: 6rem;
  }
  .p-price-guide__box {
    grid-template-columns: minmax(0, 1fr) 18.75rem;
    align-items: center;
    gap: 1.5rem;
    padding: 2.125rem 2.25rem;
  }
  .p-price-guide__title {
    font-size: max(1.75rem, 10px);
  }
  .p-price-guide__visual img {
    max-width: 18.75rem;
  }
  .p-price-guide__lead {
    margin-block-start: 0.625rem;
    font-size: max(1rem, 10px);
  }
  .p-price-guide__links {
    display: grid;
    grid-template-columns: repeat(2, 16.875rem);
    justify-content: start;
    gap: 0.75rem;
    margin-block-start: 1.375rem;
  }
  .l-price-change {
    margin-block-start: 3rem;
  }
  .p-price-change__banner {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.875rem 2.25rem;
  }
  .p-price-change__text {
    font-size: max(1.125rem, 10px);
  }
  .p-price-change__button {
    justify-self: start;
  }
  .l-price-estimate {
    margin-block-start: 6rem;
  }
  .p-estimate {
    padding-block: 4.375rem 5.625rem;
  }
  .p-estimate__title {
    font-size: max(2.5rem, 10px);
  }
  .p-estimate__lead {
    margin-block-start: 1.25rem;
    font-size: max(1rem, 10px);
  }
  .p-estimate__cases {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-block-start: 2.875rem;
  }
  .p-estimate__case {
    padding: 2rem 1.75rem;
  }
  .p-estimate__case-title {
    font-size: max(1.25rem, 10px);
  }
  .p-estimate__case-text {
    margin-block-start: 0.875rem;
    font-size: max(1rem, 10px);
  }
  .p-estimate__form {
    margin-block-start: 3.5rem;
    padding: 3.5rem 6.25rem 4rem;
  }
  .p-estimate__legend {
    font-size: max(1.375rem, 10px);
  }
  .p-estimate__desc {
    font-size: max(1rem, 10px);
  }
  .p-estimate__field {
    display: grid;
    grid-template-columns: 17.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0rem 1.75rem;
    margin-block-start: 1.75rem;
    padding-block-end: 1.75rem;
  }
  .p-estimate__input,
  .p-estimate__select,
  .p-estimate__textarea {
    margin-block-start: 0;
  }
  .p-estimate__control {
    margin-block-start: 0;
  }
  .p-estimate__desc {
    grid-column: 1/-1;
  }
  .p-estimate__button {
    min-height: 5.1125rem;
    font-size: max(1.375rem, 10px);
  }
  .p-promo-box__box {
    grid-template-columns: minmax(0, 775fr) minmax(0, 425fr);
    align-items: start;
    gap: 2.125rem 0.5625rem;
    max-width: 84.9375rem;
    min-height: 37.5625rem;
    margin-inline: auto;
    padding: 4.15625rem 4.6875rem 5.375rem;
  }
  .p-promo-box--tags-wide .p-promo-box__box {
    grid-template-columns: minmax(0, 693fr) minmax(0, 507fr);
  }
  .p-promo-box--tags-wide .p-promo-box__tags {
    grid-column: 1/-1;
    flex-wrap: nowrap;
    margin-block-start: 0;
  }
  .p-promo-box__tags {
    gap: 0.9375rem;
  }
  .p-promo-box__tag {
    gap: 0.4375rem;
    padding-block: 0.4375rem;
    padding-inline: 0.875rem 0.9375rem;
    font-size: max(1rem, 10px);
  }
  .p-promo-box__tag img {
    width: 1.25rem;
  }
  .p-promo-box__logo {
    min-width: 9.0625rem;
    min-height: 3.375rem;
    font-size: max(1.875rem, 10px);
  }
  .p-promo-box__title {
    margin-block-start: 2.15625rem;
    font-size: max(2.6875rem, 10px);
  }
  .p-promo-box__lead {
    margin-block-start: 2.225rem;
    font-size: max(1.25rem, 10px);
  }
  .l-efficiency-drivecast .p-promo-box__box,
  .l-safety-copilot .p-promo-box__box {
    max-width: 75rem;
    min-height: auto;
    padding: 3.125rem;
  }
  .l-efficiency-drivecast.p-promo-box--tags-wide .p-promo-box__box {
    grid-template-columns: minmax(0, 680fr) minmax(0, 420fr);
  }
  .l-efficiency-drivecast .p-promo-box__title-phrase {
    display: inline-block;
  }
  .l-safety-copilot .p-promo-box__box {
    grid-template-columns: minmax(0, 650fr) minmax(0, 450fr);
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
  .l-safety-copilot .p-promo-box__visual {
    align-self: center;
  }
  .l-efficiency-drivecast .p-promo-box__logo,
  .l-safety-copilot .p-promo-box__logo {
    display: grid;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 0;
    min-height: 0;
    font-size: max(1.25rem, 10px);
  }
  .l-efficiency-drivecast .p-promo-box__title,
  .l-safety-copilot .p-promo-box__title {
    margin-block-start: 0.9375rem;
  }
  .l-efficiency-drivecast .p-promo-box__lead,
  .l-safety-copilot .p-promo-box__lead {
    margin-block-start: 2rem;
  }
  .p-recruit-hero {
    min-height: 26.125rem;
    padding-block: 0;
  }
  .p-recruit-hero__catch br,
  .p-recruit-hero__lead br,
  .p-recruit-mission__lead br,
  .p-recruit-positions__lead br {
    display: inline;
  }
  .p-recruit-hero__catch {
    font-size: max(2.4375rem, 10px);
  }
  .p-recruit-hero__lead {
    margin-block-start: 2.125rem;
    font-size: max(1.5rem, 10px);
  }
  .l-recruit-message {
    margin-block-start: 4.3125rem;
  }
  .p-recruit-message__body {
    grid-template-columns: 23.3125rem minmax(0, 1fr);
    gap: 4.5rem;
    margin-block-start: 5.4375rem;
  }
  .p-recruit-message__figure img {
    max-width: none;
  }
  .p-recruit-message__title {
    font-size: max(1.875rem, 10px);
  }
  .p-recruit-message__paragraph {
    margin-block-start: 1.5625rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-message__paragraph:first-of-type {
    margin-block-start: 2.6875rem;
  }
  .p-recruit-message__sign {
    gap: 1.125rem;
    margin-block-start: 1.875rem;
  }
  .p-recruit-message__sign-role {
    font-size: max(0.9375rem, 10px);
  }
  .p-recruit-message__sign-name {
    font-size: max(1.5rem, 10px);
  }
  .l-recruit-mission {
    margin-block-start: 5.75rem;
  }
  .p-recruit-mission__body {
    grid-template-columns: 27.8125rem minmax(0, 1fr);
    align-items: start;
    gap: 0;
    margin-block-start: 3.5625rem;
  }
  .p-recruit-mission__title {
    font-size: max(3.125rem, 10px);
  }
  .p-recruit-mission__lead {
    padding-inline-start: 2.84375rem;
    font-size: max(1.125rem, 10px);
    border-inline-start: 1px solid #9ea0a2;
  }
  .l-recruit-about {
    margin-block-start: 8.625rem;
  }
  .p-recruit-about__list {
    margin-block-start: 2.03125rem;
  }
  .p-recruit-about__row {
    -moz-column-gap: 1.375rem;
         column-gap: 1.375rem;
  }
  .p-recruit-about__term,
  .p-recruit-about__desc {
    padding-block-end: 0.0625rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-about__shareholder + .p-recruit-about__shareholder {
    margin-block-start: 1.90625rem;
  }
  .p-recruit-about__row:last-child .p-recruit-about__term,
  .p-recruit-about__row:last-child .p-recruit-about__desc {
    padding-block-end: 1.375rem;
  }
  .p-recruit-about__button {
    margin-block-start: 2.0625rem;
  }
  .p-recruit-work {
    padding-block: 4.875rem 5.1875rem;
  }
  .l-recruit-work {
    margin-block-start: 5.125rem;
  }
  .p-recruit-work__lead {
    margin-block-start: 0.8125rem;
    padding-inline-start: 2.1875rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-work__list {
    margin-block-start: 3.21875rem;
  }
  .p-recruit-work__row {
    margin-block-start: 1.875rem;
  }
  .p-recruit-work__row--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.9375rem;
  }
  .p-recruit-work__pair {
    grid-template-columns: 7.625rem minmax(0, 1fr);
    -moz-column-gap: 1.0625rem;
         column-gap: 1.0625rem;
  }
  .p-recruit-work__term,
  .p-recruit-work__desc {
    padding-block-end: 0.75rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-work__items--two {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 33.625rem minmax(0, 1fr);
    grid-template-rows: repeat(6, auto);
    align-content: start;
  }
  .p-recruit-work__items--two .p-recruit-work__item + .p-recruit-work__item {
    margin-block-start: 0;
  }
  .p-recruit-work__items--two .p-recruit-work__item {
    margin-block-start: 0.3125rem;
  }
  .p-recruit-work__items--two .p-recruit-work__item:nth-child(1),
  .p-recruit-work__items--two .p-recruit-work__item:nth-child(7) {
    margin-block-start: 0;
  }
  .p-recruit-work__items--two .p-recruit-work__note {
    margin-inline-start: -0.5625rem;
  }
  .l-recruit-positions {
    margin-block-start: 4.75rem;
  }
  .p-recruit-positions__lead {
    margin-block-start: 0.8125rem;
    padding-inline-start: 2.1875rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-positions__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.3125rem 1.25rem;
    margin-block-start: 2.5rem;
  }
  .p-recruit-positions__card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    padding: 2.29375rem 2.0625rem 1.875rem;
  }
  .p-recruit-positions__tag {
    justify-self: start;
    padding: 0.1875rem 0.3125rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-recruit-positions__name {
    margin-block-start: 0.575rem;
    font-size: max(1.5rem, 10px);
  }
  .p-recruit-positions__name-sub {
    font-size: max(1rem, 10px);
  }
  .p-recruit-positions__foot {
    display: grid;
    grid-template-columns: 19.1875rem minmax(0, 1fr);
    -moz-column-gap: 1.8125rem;
         column-gap: 1.8125rem;
    align-items: center;
    margin-block-start: 1.3625rem;
  }
  .p-recruit-positions__text {
    font-size: max(0.9375rem, 10px);
  }
  .p-recruit-positions__button {
    justify-self: end;
    margin-block-start: 0;
  }
  .l-recruit-process {
    margin-block-start: 6.725rem;
  }
  .p-recruit-process__lead {
    margin-block-start: 0.8125rem;
    padding-inline-start: 2.1875rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-process__list {
    row-gap: 3.25rem;
    margin-block-start: 2.7125rem;
    padding-inline-start: 1.75rem;
  }
  .p-recruit-process__step:not(:last-child)::before {
    inset-block: 2.03125rem calc(-3.25rem - 2.03125rem);
  }
  .p-recruit-process__step {
    grid-template-columns: 2.5625rem 8.375rem minmax(0, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    min-height: 5rem;
    align-items: center;
  }
  .p-recruit-process__num {
    align-self: start;
    margin-block-start: 0.75rem;
  }
  .p-recruit-process__icon {
    min-height: 5rem;
  }
  .p-recruit-process__body {
    align-self: start;
  }
  .p-recruit-process__name {
    font-size: max(1.25rem, 10px);
  }
  .p-recruit-process__text {
    margin-block-start: 0.6875rem;
    font-size: max(1rem, 10px);
  }
  .l-recruit-snap {
    margin-block-start: 6.5625rem;
    margin-block-end: 7.225rem;
  }
  .p-recruit-snap__lead {
    margin-block-start: 0.8125rem;
    padding-inline-start: 2.1875rem;
    font-size: max(1rem, 10px);
  }
  .p-recruit-snap__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3.2875rem 2.5rem;
    margin-block-start: 3.625rem;
  }
  .l-recruit-faq {
    margin-block-start: 7.1rem;
  }
  .p-recruit-faq__lead {
    margin-block-start: 0.8125rem;
    padding-inline-start: 2.1875rem;
    font-size: max(1rem, 10px);
  }
  .l-recruit-faq .p-faq__list {
    margin-block-start: 3.1875rem;
  }
  .l-recruit-faq .p-faq__summary {
    padding-block: 1.90625rem;
  }
  .l-recruit-faq .p-faq__answer {
    padding-block-end: 2.625rem;
  }
  .p-recruit-snap-modal__box {
    max-inline-size: min(100% - 7rem, 57.5rem);
  }
  .p-recruit-snap-modal__close {
    inset-block-start: -1.75rem;
    inset-inline-end: -3rem;
  }
  .p-recruit-snap-modal__prev,
  .p-recruit-snap-modal__next {
    width: 2.375rem;
    height: 3.125rem;
  }
  .p-recruit-snap-modal__prev {
    inset-inline-start: -2.5rem;
  }
  .p-recruit-snap-modal__next {
    inset-inline-end: -2.5rem;
  }
  .p-recruit-snap-modal__prev::after,
  .p-recruit-snap-modal__next::after {
    content: none;
  }
  .p-recruit-snap-modal__chev {
    width: 0.75rem;
    height: 0.75rem;
  }
  .p-recruit-about__row,
  .p-recruit-about__row:first-child {
    grid-template-columns: 12.5rem minmax(0, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
    margin-block-start: 0;
  }
  .p-recruit-about__term,
  .p-recruit-about__desc,
  .p-recruit-about__row:last-child .p-recruit-about__term,
  .p-recruit-about__row:last-child .p-recruit-about__desc {
    padding: 1.125rem 1.5rem;
  }
  .p-recruit-about__row,
  .p-recruit-about__row:first-child,
  .p-recruit-work__pair {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .p-recruit-work__row,
  .p-recruit-work__row:first-child,
  .p-recruit-work__row--split {
    display: block;
    gap: 0;
    margin-block-start: 0;
  }
  .p-recruit-about__term,
  .p-recruit-work__term {
    border-inline-end: 1px solid #dbdbdb;
  }
  .p-recruit-about__term,
  .p-recruit-about__desc,
  .p-recruit-about__row:last-child .p-recruit-about__term,
  .p-recruit-about__row:last-child .p-recruit-about__desc,
  .p-recruit-work__term,
  .p-recruit-work__desc {
    padding: 1.125rem 1.5rem;
  }
  .p-recruit-positions__button {
    margin-inline: 0;
  }
  .p-related-features__list {
    grid-template-columns: repeat(3, minmax(0, 23.75rem));
    justify-content: start;
    gap: 1.4375rem 1.75rem;
    margin-block-start: 3.625rem;
  }
  .p-related-features__body {
    padding-block-end: 0.1875rem;
    padding-inline: 1.6875rem 1.3125rem;
  }
  .p-related-features__name {
    font-size: max(1.25rem, 10px);
  }
  .p-doc-detail__body h2,
  .p-seminar-detail__content h2 {
    font-size: max(1.875rem, 10px);
  }
  .p-doc-detail__body h2::before,
  .p-seminar-detail__content h2::before {
    width: 0.75rem;
    height: 1.8125rem;
  }
  .p-doc-detail-breadcrumb {
    display: block;
  }
  .p-doc-detail__layout {
    grid-template-columns: 39.375rem 30.5625rem;
    align-items: start;
    gap: 5.0625rem;
  }
  .p-doc-detail__title {
    margin-block-start: 1.90625rem;
    font-size: max(1.875rem, 10px);
  }
  .p-doc-detail__covers {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1.0625rem;
    margin-block-start: 3.1875rem;
  }
  .p-doc-detail__cover {
    width: 26.125rem;
  }
  .p-doc-detail__desc {
    margin-block-start: 2.3125rem;
    font-size: max(1.25rem, 10px);
  }
  .p-dot-list {
    margin-block-start: 1.25rem;
  }
  .p-dot-list__item {
    padding-inline-start: 1.25rem;
    font-size: max(1.125rem, 10px);
  }
  .p-dot-list--sm .p-dot-list__item {
    font-size: max(1rem, 10px);
  }
  .p-num-list {
    margin-block-start: 1.25rem;
  }
  .p-num-list__item {
    font-size: max(1.125rem, 10px);
  }
  .p-doc-detail__body,
  .p-seminar-detail__content,
  .p-doc-detail__body p,
  .p-seminar-detail__content p {
    font-size: max(1rem, 10px);
  }
  .p-doc-detail__body > * + *,
  .p-seminar-detail__content > * + * {
    margin-block-start: 1.25rem;
  }
  .p-doc-detail__body h2,
  .p-seminar-detail__content h2 {
    --heading-dots-pad-inline: 2.1875rem;
  }
  .p-doc-detail__body > h2,
  .p-seminar-detail__content > h2 {
    margin-block-start: 3.875rem;
  }
  .p-doc-detail__body h3,
  .p-seminar-detail__content h3 {
    font-size: max(1.125rem, 10px);
  }
  .p-doc-detail__body > h3,
  .p-seminar-detail__content > h3 {
    margin-block-start: 3.5rem;
  }
  .p-doc-detail__body li,
  .p-seminar-detail__content li {
    font-size: max(1.125rem, 10px);
  }
  .p-doc-detail__body {
    margin-block-start: 0;
  }
  .p-doc-detail__form {
    padding: 1.65625rem 2.625rem 3.875rem;
  }
  .p-lead-form {
    padding: 1.65625rem 2.625rem 3.875rem;
  }
  .p-lead-form__title {
    padding-block-end: 1.4375rem;
    font-size: max(1.5rem, 10px);
  }
  .p-lead-form__fields {
    gap: 1.75rem;
    margin-block-start: 1.88125rem;
  }
  .p-lead-form__label {
    font-size: max(1rem, 10px);
  }
  .p-lead-form__input {
    font-size: max(1rem, 10px);
  }
  .p-lead-form__agree {
    margin-block-start: 1.71875rem;
  }
  .p-lead-form__agree-label {
    font-size: max(1rem, 10px);
  }
  .p-lead-form__action {
    margin-block-start: 0.65625rem;
  }
  .p-lead-form__submit {
    min-height: 5.1125rem;
    font-size: max(1.375rem, 10px);
  }
  .l-doc-detail {
    margin-block-start: 3.1rem;
    margin-block-end: 5.3875rem;
  }
  .l-doc-heading {
    margin-block-start: 3.875rem;
  }
  .l-doc-heading--tight {
    margin-block-start: 3.0625rem;
  }
  .l-doc-heading--wide {
    margin-block-start: 4.1875rem;
  }
  .l-doc-related-head {
    margin-block-start: 8.7875rem;
  }
  .l-doc-related-grid {
    margin-block-start: 3.25rem;
  }
  .p-doc-detail__body > br:first-child {
    display: none;
  }
  .p-doc-detail__body > br:first-child + .ttl-section,
  .p-doc-detail__body > .ttl-section:first-child {
    margin-block-start: -0.26em;
  }
  .p-doc-detail__body > .text-dark:first-child {
    margin-block-start: -0.63em;
  }
  .p-resources-breadcrumb {
    display: block;
  }
  .p-resources-intro__title {
    font-size: max(1.625rem, 10px);
  }
  .p-resources-intro__text {
    margin-block-start: 0.64375rem;
    font-size: max(1rem, 10px);
  }
  .p-resources-filter {
    padding: 1.84375rem 2.4375rem;
  }
  .p-resources-filter__text {
    font-size: max(1rem, 10px);
  }
  .p-resources-filter__text + .p-resources-filter__list {
    margin-block-start: 1.84375rem;
  }
  .p-resources-headbar {
    min-height: 5.15rem;
  }
  .p-resources-headbar::before {
    height: 5.15rem;
  }
  .p-resources-headbar .c-section-head-bar__title {
    font-size: max(2.125rem, 10px);
    line-height: 1.2647;
  }
  .l-resources-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4875rem 1.0625rem;
  }
  .p-resource-card {
    display: block;
    padding: 2.35rem 2.4375rem 2.5375rem;
  }
  .p-resource-card__thumb {
    width: 100%;
    margin-inline: 0;
  }
  .p-resource-card__body {
    display: flex;
    flex-direction: column;
    margin-block-start: 1.25rem;
  }
  .p-resource-card__title {
    margin-block-start: 1.1rem;
    font-size: max(1.5rem, 10px);
  }
  .p-resource-card__text {
    margin-block-start: 1.15rem;
    font-size: max(1rem, 10px);
  }
  .p-resource-card__action {
    margin-block-start: 1.875rem;
  }
  .p-resource-button {
    min-height: 3.3375rem;
    padding-inline: 1.6rem 1.7875rem;
  }
  .l-resources-intro {
    margin-block-start: 1.875rem;
  }
  .l-resources-list {
    margin-block-start: 4.46875rem;
    margin-block-end: 2.4125rem;
  }
  .l-resources-filter-head {
    margin-block-start: 0rem;
    margin-block-end: 1.75rem;
  }
  .l-resources-headbar {
    margin-block-start: 6.225rem;
  }
  .l-resources-grid {
    margin-block-start: 1.9rem;
  }
  .l-resources-pagination {
    margin-block-start: 3.025rem;
  }
  .l-resources-pagination .p-pagination__list {
    margin-block-start: 0;
  }
  .p-safety-concerns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.375rem 1.1875rem;
    margin-block-start: 1.75rem;
    max-width: 36.9375rem;
  }
  .p-safety-concerns__item {
    min-height: 5.3125rem;
    gap: 0.1875rem;
    padding: 0.875rem 1rem;
  }
  .p-safety-concerns__name {
    font-size: max(1.25rem, 10px);
  }
  .p-safety-concerns__text {
    font-size: max(0.875rem, 10px);
  }
  .l-safety-themes {
    margin-block-start: 6.375rem;
  }
  .p-safety-themes__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.4375rem 3.0625rem;
    margin-block-start: 4.6875rem;
  }
  .p-safety-themes__card {
    height: 100%;
    min-height: 23.3375rem;
    padding: 5.9125rem 2.6875rem 2.6875rem;
  }
  .p-safety-themes__thumb {
    inset-block-start: 3.4125rem;
    inset-inline-end: 2.375rem;
    width: 12.5rem;
  }
  .p-safety-themes__head {
    min-height: 6.8125rem;
    gap: 0.875rem;
    padding-inline-end: 13.125rem;
  }
  .p-safety-themes__num {
    width: 2.5625rem;
    height: 2.5625rem;
    font-size: max(1.5625rem, 10px);
  }
  .p-safety-themes__name {
    font-size: max(1.5rem, 10px);
  }
  .p-safety-themes__text {
    margin-block-start: 4.4375rem;
    font-size: max(1rem, 10px);
  }
  .l-safety-flow {
    margin-block-start: 5rem;
  }
  .l-safety-cta {
    margin-block: 5rem;
  }
  .l-safety-ai {
    margin-block-start: 5rem;
  }
  .l-safety-copilot {
    margin-block-start: 5rem;
  }
  .l-safety-related {
    margin-block-start: 6.875rem;
  }
  .l-safety-salesforce {
    margin-block-start: 6.6125rem;
  }
  .l-safety-issues {
    margin-block-start: 5.94375rem;
    margin-block-end: 4.88125rem;
  }
  .l-safety-related .p-related-features__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4375rem 1.75rem;
    margin-block-start: 3.3125rem;
  }
  .l-safety-related .p-related-features__foot {
    padding: 1.125rem 1.7rem;
  }
  .l-safety-related .p-related-features__name {
    font-size: max(1.25rem, 10px);
  }
  .l-safety-salesforce .p-salesforce__inner {
    grid-template-columns: minmax(0, 467.5fr) minmax(0, 679fr);
    align-items: start;
    gap: 0;
  }
  .l-safety-salesforce .p-salesforce__head {
    padding-block-start: 0.5625rem;
  }
  .l-safety-salesforce .p-salesforce__title {
    font-size: max(2.6875rem, 10px);
  }
  .l-safety-salesforce .p-salesforce__title-logo {
    width: 7.66875rem;
    margin-inline-end: 0.75rem;
  }
  .l-safety-salesforce .p-salesforce__body {
    padding-inline-start: 3.34375rem;
    border-inline-start: 1px solid #d5d7da;
  }
  .l-safety-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
    gap: 1.575rem;
  }
  .l-safety-salesforce .p-salesforce__logo {
    width: 6.675rem;
  }
  .l-safety-salesforce .p-salesforce__text {
    font-size: max(1rem, 10px);
  }
  .l-safety-salesforce .p-salesforce__points {
    margin-block-start: 1.375rem;
  }
  .l-safety-issues .p-other-issues__list {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 3.875rem;
  }
  .l-safety-issues .p-other-issues__card {
    min-height: 11.225rem;
    padding: 1.95rem 1.375rem 1.95rem 1.7rem;
  }
  .l-safety-issues .p-other-issues__name {
    margin-block-start: 0.65625rem;
    font-size: max(1.25rem, 10px);
  }
  .l-safety-issues .p-other-issues__desc {
    margin-block-start: 0.33125rem;
    font-size: max(1rem, 10px);
  }
  .l-safety-issues .p-other-issues__illust {
    width: 7.5625rem;
  }
  .l-safety-issues .p-other-issues__back {
    margin-block-start: 1.99375rem;
    font-size: max(1.25rem, 10px);
  }
  .l-safety-salesforce .p-salesforce__intro {
    grid-template-columns: 6.675rem minmax(0, 1fr);
  }
  .l-safety-salesforce .p-salesforce__logo {
    justify-self: start;
    margin-inline-end: 0.75rem;
  }
  .l-safety-issues .p-other-issues__illust {
    position: static;
  }
  .l-safety-related .p-related-features__list--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .p-salesforce__inner {
    grid-template-columns: 29.21875rem 1fr;
    gap: 0;
    align-items: start;
  }
  .p-salesforce__title {
    margin-block-start: 0.875rem;
    font-size: max(2.6875rem, 10px);
  }
  .p-salesforce__logo {
    inset-block-start: -0.4375rem;
    width: 7.66875rem;
  }
  .p-salesforce__body {
    border-inline-start: 1px solid var(--color-brand);
    padding-inline-start: 3.84375rem;
  }
  .p-salesforce__intro {
    grid-template-columns: 6.675rem 1fr;
    gap: 1.575rem;
  }
  .p-salesforce__text {
    font-size: max(1rem, 10px);
  }
  .p-salesforce__tags {
    margin-inline-start: -0.5625rem;
    margin-block-start: 1rem;
  }
  .p-salesforce__tag {
    font-size: max(0.9375rem, 10px);
  }
  .p-salesforce__button[data-action=appexchange] {
    min-width: 15.90625rem;
  }
  .p-salesforce__button[data-action=review] {
    min-width: 17.45rem;
  }
  .p-salesforce__actions {
    margin-inline-start: 1.85625rem;
    gap: 2.6125rem;
    margin-block-start: 2.25rem;
  }
  .p-salesforce__button {
    font-size: max(0.9375rem, 10px);
  }
  .p-seminar-side__text {
    font-size: max(1rem, 10px);
  }
  .p-seminar-detail__head {
    gap: 0.875rem;
  }
  .p-seminar-detail__deadline {
    font-size: max(1rem, 10px);
  }
  .p-seminar-detail__title {
    margin-block-start: 1.5rem;
    font-size: max(2.25rem, 10px);
  }
  .p-seminar-detail__datetime {
    margin-block-start: 1.86875rem;
    font-size: max(1.375rem, 10px);
  }
  .p-seminar-detail__facts {
    gap: 0.375rem 1.125rem;
    margin-block-start: 0.88125rem;
  }
  .p-seminar-detail__fact {
    font-size: max(1rem, 10px);
  }
  .p-seminar-detail__rule {
    margin-block-start: 2.15625rem;
  }
  .p-seminar-detail__body {
    margin-block-start: 1.3125rem;
    font-size: max(1rem, 10px);
  }
  .p-seminar-detail__content {
    margin-block-start: 2.125rem;
  }
  .p-timetable {
    margin-block-start: 2.15625rem;
  }
  .p-timetable__row {
    gap: 0;
    grid-template-columns: 6.25rem minmax(0, 1fr);
    align-items: start;
    -moz-column-gap: 1.375rem;
         column-gap: 1.375rem;
  }
  .p-timetable__row + .p-timetable__row {
    margin-block-start: 1.375rem;
  }
  .p-timetable__time,
  .p-timetable__title {
    font-size: max(1rem, 10px);
  }
  .p-timetable__title {
    padding-block-end: 0;
  }
  .p-speaker {
    flex-wrap: nowrap;
    gap: 1.28125rem;
    margin-block-start: 0.75rem;
    padding-block-end: 2.05rem;
  }
  .p-speaker__photo {
    width: 9.1875rem;
    margin-block-start: 1.5rem;
  }
  .p-speaker__bubble {
    flex-shrink: 0;
    width: 29.53125rem;
    padding: 1.15625rem 1.8125rem 1.25625rem 1.90625rem;
  }
  .p-speaker__name {
    font-size: max(1.25rem, 10px);
  }
  .p-speaker__role {
    font-size: max(1rem, 10px);
  }
  .p-lead-form--seminar {
    padding-block-end: 1.975rem;
  }
  .l-seminar-detail {
    margin-block-start: 3.0375rem;
    margin-block-end: 5.25rem;
  }
  .l-seminar-detail-heading {
    margin-block-start: 4.0625rem;
  }
  .l-seminar-detail-heading--first {
    margin-block-start: 1.96875rem;
  }
  .p-seminar-side {
    margin-block-start: 3.5rem;
  }
  .p-seminar-side__thumb {
    inline-size: 6rem;
  }
  .p-seminar-side__item + .p-seminar-side__item {
    margin-block-start: 1.5625rem;
  }
  .p-seminar__spr-inner {
    flex-wrap: nowrap;
    gap: 1.28125rem;
    margin-block-start: 0.75rem;
    padding-block-end: 2.05rem;
  }
  .p-seminar__spr-img {
    inline-size: 9.1875rem;
    margin-block-start: 1.5rem;
  }
  .p-seminar__spr-profile::before {
    inset-block-start: 2.125rem;
    inset-inline-start: -1.25rem;
    border-width: 0.875rem 1.25rem 0.875rem 0;
    border-color: transparent var(--color-surface-gray) transparent transparent;
  }
  .p-seminar-detail__thumb {
    margin-block-start: 2rem;
  }
  .p-seminar-detail__table-scroll {
    margin-block-start: 2.5rem;
    margin-block-end: 2.5rem;
  }
  .p-seminar-detail__table {
    word-break: break-all;
  }
  .p-seminar-detail__table th,
  .p-seminar-detail__table td {
    padding: 0.9375rem 1.25rem;
    font-size: max(1rem, 10px);
  }
  .p-seminar-detail__table th {
    width: 9.375rem;
  }
  .p-seminar-detail__content .l-block {
    padding: 1.875rem;
  }
  .p-seminar-detail__content .p-seminar__block {
    margin-block-end: 3.125rem;
  }
  .p-seminar-intro__title {
    font-size: max(1.625rem, 10px);
  }
  .p-seminar-intro__text {
    margin-block-start: 0.64375rem;
    font-size: max(1rem, 10px);
  }
  .p-seminar-tabs__list {
    gap: 0.8125rem;
  }
  .p-seminar-tabs__tab {
    align-items: start;
    height: 4.3125rem;
    padding-block-start: 0.4375rem;
    padding-inline: 1.8125rem;
    font-size: max(1.25rem, 10px);
  }
  .p-seminar-tabs__tab--current {
    height: 4.6875rem;
    font-size: max(1.5rem, 10px);
  }
  .p-seminar-panel {
    margin-block-start: -1.28125rem;
    padding: 3.65625rem 3.125rem 5.0375rem;
  }
  .p-seminar-list {
    gap: 1.4875rem;
  }
  .p-seminar-card {
    display: grid;
    grid-template-columns: 20rem minmax(0, 1fr);
    align-items: start;
    -moz-column-gap: 2.34375rem;
         column-gap: 2.34375rem;
    padding: 2.75rem 3.125rem;
  }
  .p-seminar-card__date {
    margin-block-start: 1rem;
  }
  .p-seminar-card__deadline {
    font-size: max(0.9375rem, 10px);
  }
  .p-seminar-card__body {
    margin-block-start: 0;
  }
  .p-seminar-card__title {
    font-size: max(1.5rem, 10px);
  }
  .p-seminar-card__text {
    font-size: max(1rem, 10px);
  }
  .l-seminar-intro {
    margin-block-start: 1.875rem;
  }
  .l-seminar {
    margin-block-start: 3.90625rem;
    margin-block-end: 3.25rem;
  }
  .p-seminar__pagination {
    margin-block-start: 2.4125rem;
  }
  .p-seminar__pagination .p-pagination__list {
    margin-block-start: 0;
  }
  .p-single__title {
    margin-block-start: 1.875rem;
    font-size: max(2rem, 10px);
  }
  .p-single__meta {
    margin-block-start: 1.875rem;
    gap: 1.25rem;
  }
  .p-single__content {
    margin-block-start: 3.75rem;
  }
  .p-single__post-nav {
    margin-block-start: 5rem;
  }
  .p-sitemap {
    padding-block: 4.3125rem 5rem;
  }
  .p-sitemap__inner {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }
  .p-sitemap__category:first-child:not(:has(.p-sitemap__category-title)) {
    -moz-column-span: all;
         column-span: all;
  }
  .p-sitemap__category:not(:last-child) {
    padding-block-end: 4rem;
  }
  .p-sitemap__sub {
    margin-block-start: 1.5rem;
  }
  .p-sitemap__sub + .p-sitemap__sub {
    margin-block-start: 1.25rem;
  }
  .p-sitemap__link {
    --sitemap-link-pad-block: 0.5rem;
    font-size: max(1rem, 10px);
  }
  .p-sitemap__children {
    --sitemap-link-pad-block: 0.5rem;
    font-size: max(1rem, 10px);
  }
  .p-structure__box {
    max-width: 84.9375rem;
    margin-inline: auto;
    padding-block: 2.5875rem 4.125rem;
  }
  .p-structure__title {
    font-size: max(2.3125rem, 10px);
  }
  .p-structure__lead {
    margin-block-start: 2.19375rem;
    font-size: max(1.125rem, 10px);
    text-align: center;
  }
  .p-structure__diagram {
    grid-template-columns: 13.9375rem auto minmax(0, 437fr) auto 13.9375rem auto 13.9375rem;
    align-items: stretch;
    gap: 0.75rem;
    margin-block-start: 2.875rem;
  }
  .p-structure__node {
    min-height: 14.3125rem;
    padding: 1.5rem 0.75rem;
  }
  .p-structure__node img {
    max-height: 6.875rem;
  }
  .p-structure__node-name {
    font-size: max(1.125rem, 10px);
  }
  .p-structure__group {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem;
    min-height: 14.3125rem;
    padding: 0.625rem;
  }
  .p-structure__group .p-structure__node {
    min-height: 12.8125rem;
    align-self: stretch;
    border: 0;
  }
  .p-structure__node--device img {
    max-height: 5.5rem;
    max-width: 8rem;
  }
  .p-structure__arrow {
    margin-block-start: 1.75rem;
  }
  .p-structure__subtitle {
    margin-block-start: 2.375rem;
    font-size: max(1.5rem, 10px);
    text-align: center;
  }
  .p-structure__combos {
    grid-template-columns: repeat(2, minmax(0, 589fr));
    gap: 1.375rem;
    margin-block-start: 4.4375rem;
  }
  .p-structure__combo {
    padding: 2.8125rem 2.5625rem;
  }
  .p-structure__combo--single {
    grid-column: 1/-1;
    min-height: auto;
  }
  .p-structure__combo-label {
    inset-inline-start: 0.8125rem;
    padding-inline-end: 3.5625rem;
    font-size: max(1.125rem, 10px);
  }
  .p-structure__combo--single .p-structure__combo-label {
    padding-inline-end: 0.5rem;
  }
  .p-structure__combo-num {
    position: absolute;
    inset-block-start: -0.5rem;
    inset-inline-end: 0.5rem;
  }
  .p-structure__combo-devices {
    flex-direction: row;
    gap: 0.875rem;
  }
  .p-structure__combo-devices--single {
    gap: 0.625rem;
  }
  .p-structure__device {
    padding: 1.5rem 0.75rem;
  }
  .p-structure__device img {
    max-height: 6.875rem;
  }
  .p-structure__device .p-structure__device-illust--gpslogger,
  .p-structure__device img[src*=lineup-combo_illust-gpslogger] {
    max-width: 7.8125rem;
  }
  .p-structure__device-name {
    font-size: max(1rem, 10px);
  }
  .p-structure__combo-text {
    margin-block-start: 2rem;
    font-size: max(1.125rem, 10px);
  }
  .p-structure__combo-title {
    margin-block-start: 2rem;
    font-size: max(1.25rem, 10px);
  }
  .p-structure__points {
    gap: 0.125rem;
    margin-block-start: 0.625rem;
  }
  .p-structure__point {
    font-size: max(1.125rem, 10px);
  }
  .p-success-links {
    margin-block-start: 5rem;
  }
  .p-success-links__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .p-success-links__card {
    min-height: 8.125rem;
    padding: 1.25rem 1.5rem;
  }
  .p-success-links__text {
    font-size: max(1.125rem, 10px);
  }
  .p-theme-cards__list {
    grid-template-columns: 35rem 35rem;
    justify-content: start;
    -moz-column-gap: 4.625rem;
         column-gap: 4.625rem;
    row-gap: 5.1875rem;
    margin-block-start: 3.125rem;
    padding-inline-start: 0.1875rem;
  }
  .p-theme-cards__card {
    grid-template-columns: 2.5625rem minmax(0, 1fr) 9.4375rem;
    -moz-column-gap: 0.875rem;
         column-gap: 0.875rem;
    row-gap: 0;
    min-height: 23.3375rem;
    padding-block: 3.4125rem 2.5rem;
    padding-inline: 2.6875rem 2.375rem;
  }
  .p-theme-cards__num {
    width: 2.5625rem;
    height: 2.5625rem;
    margin-block-start: 3.5rem;
    font-size: max(1.5625rem, 10px);
  }
  .p-theme-cards__name {
    grid-column: 2;
    display: grid;
    align-items: center;
    min-height: 3.75rem;
    margin-block-start: 2.5rem;
    font-size: max(1.5rem, 10px);
  }
  .p-theme-cards__illust {
    grid-column: 3;
    width: 9.4375rem;
  }
  .p-theme-cards__text {
    grid-column: 1/-1;
    margin-block-start: 1.5625rem;
    max-width: 30rem;
    font-size: max(1.25rem, 10px);
  }
  .p-archive-empty {
    padding-block: 4rem;
    font-size: max(1rem, 10px);
  }
  .p-top-about__card {
    grid-template-columns: minmax(0, 513fr) minmax(0, 566fr);
    align-items: start;
    gap: 2.25rem;
    padding-block: 3.125rem;
    padding-inline: 3.125rem;
    border-width: 0.625rem;
    border-radius: 1.5rem;
  }
  .p-top-about__brand {
    justify-content: flex-start;
    min-height: 2.4375rem;
  }
  .p-top-about__logo {
    width: 6rem;
  }
  .p-top-about__brand-then {
    font-size: max(1.6875rem, 10px);
  }
  .p-top-about__rule {
    margin-inline-start: 0;
    width: 10.9375rem;
  }
  .p-top-about__title {
    margin-block-start: 2rem;
    margin-inline-start: -2rem;
    font-size: max(3.125rem, 10px);
  }
  .p-top-about__text {
    max-width: 32.0625rem;
    margin-block-start: 1.3125rem;
    font-size: max(1.125rem, 10px);
  }
  .p-top-about__body > .c-link-arrow {
    margin-block-start: 1.5rem;
    margin-inline-start: 0;
  }
  .p-top-about__visual {
    width: 100%;
    margin-block-start: 1rem;
    align-self: stretch;
    justify-self: stretch;
  }
  .p-top-about__illust {
    position: absolute;
    inset-block-start: 7.375rem;
    inset-inline-end: 0;
    inset-inline-start: auto;
    width: 53.3568904594%;
    margin-block-start: 0;
    margin-inline-start: 0;
  }
  .p-top-cases {
    padding-block: 5rem;
  }
  .p-top-cases__lead {
    margin-block-start: 1.625rem;
    font-size: max(1rem, 10px);
  }
  .p-top-cases__slider.splide {
    margin-block-start: 2.125rem;
  }
  .p-top-cases__card {
    grid-template-columns: 21.5625rem minmax(0, 1fr);
    min-height: 19.875rem;
  }
  .p-top-cases__visual {
    aspect-ratio: auto;
  }
  .p-top-cases__visual img {
    height: auto;
    aspect-ratio: 345/318;
  }
  .p-top-cases__body {
    padding-block: 1.8125rem 1.75rem;
    padding-inline: 1.75rem 2.5rem;
  }
  .p-top-cases__heading {
    margin-block-start: 0.875rem;
    font-size: max(1.5rem, 10px);
  }
  .p-top-cases__text {
    margin-block-start: 0.875rem;
    font-size: max(1rem, 10px);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    text-overflow: ellipsis;
  }
  .p-top-cases__body > .c-link-arrow {
    --link-arrow-font-size: max(0.9375rem, 10px);
    margin-block-start: 0.875rem;
  }
  .p-top-cases__progress {
    margin-block-start: 2.4375rem;
  }
  .p-top-cases__foot {
    margin-block-start: 2.625rem;
  }
  .p-top-download__layout {
    grid-template-columns: 22.9375rem minmax(0, 1fr);
    align-items: start;
    gap: 2.9375rem;
  }
  .p-top-download__side {
    gap: 2rem;
    grid-template-rows: auto 1fr;
    height: 30.90625rem;
  }
  .p-top-download__eyebrow {
    font-size: max(1.125rem, 10px);
  }
  .p-top-download__title {
    font-size: max(2.8125rem, 10px);
  }
  .p-top-download__title-line {
    display: block;
  }
  .p-top-download__title {
    word-break: normal;
  }
  .p-top-download__nav {
    align-self: end;
    gap: 1.5625rem;
  }
  .p-top-download__nav-btn {
    min-height: max(4.5rem, 78px);
    padding-block: 0.625rem;
    font-size: max(1.1875rem, 10px);
  }
  .p-top-download__panel {
    grid-template-columns: minmax(0, 1fr) 15.8125rem;
    align-items: start;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    row-gap: 1rem;
    height: 30.90625rem;
    padding-block: 3.375rem 3rem;
    padding-inline: 3.3125rem 3.875rem;
    border-radius: 1.5rem;
  }
  .p-top-download__body {
    grid-template-rows: auto 1fr auto;
    align-content: start;
    min-height: 0;
    gap: 0;
  }
  .p-top-download__label {
    font-size: max(1rem, 10px);
    text-align: start;
  }
  .p-top-download__brand {
    justify-items: stretch;
    gap: 0.625rem;
    text-align: start;
  }
  .p-top-download__logo {
    width: 7.9375rem;
  }
  .p-top-download__heading {
    font-size: max(2.5rem, 10px);
  }
  .p-top-download__text {
    margin-block-start: 1.5rem;
    font-size: max(1rem, 10px);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    text-overflow: ellipsis;
  }
  .p-top-download__cta {
    max-width: 17.8125rem;
    margin-block-start: 2.25rem;
    align-self: end;
    margin-inline: 0;
  }
  .p-top-download__visual {
    width: 15.8125rem;
    margin-inline: 0;
  }
  .p-top-download__foot {
    margin-block-start: 5rem;
  }
  .p-top-functions__head {
    --section-head-rule-margin-block-start: 2rem;
  }
  .p-top-functions__list {
    margin-block-start: 4.25rem;
    grid-template-columns: repeat(2, minmax(0, 35rem));
    justify-content: center;
    gap: min(3.5vw, 56px) min(4.625vw, 74px);
  }
  .p-top-functions__card {
    height: 100%;
    min-height: 15.625rem;
    padding-block: 1.875rem 1.75rem;
    padding-inline: 1.5rem 2.125rem;
  }
  .p-top-functions__body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .p-top-functions__category {
    font-size: max(0.9375rem, 10px);
  }
  .p-top-functions__heading {
    max-width: calc(100% - 7.5rem);
    font-size: max(1.25rem, 10px);
  }
  .p-top-functions__text {
    margin-block-start: 1.625rem;
    flex: 1;
    font-size: max(1rem, 10px);
  }
  .p-top-functions__link {
    margin-block-start: 0.125rem;
    font-size: max(0.9375rem, 10px);
  }
  .p-top-functions__visual {
    inset-block-start: -0.8125rem;
    inset-inline-end: 1.625rem;
  }
  .p-top-functions__item[data-feature=copilot] .p-top-functions__visual {
    width: 6.5625rem;
  }
  .p-top-functions__item[data-feature=alcohol] .p-top-functions__visual {
    width: 4.625rem;
    inset-inline-end: 2.625rem;
  }
  .p-top-functions__item[data-feature=report] .p-top-functions__visual {
    width: 4.9375rem;
    inset-inline-end: 2.4375rem;
  }
  .p-top-functions__item[data-feature=ledger] .p-top-functions__visual {
    width: 8.625rem;
    inset-inline-end: 2.625rem;
  }
  .p-top-functions__foot {
    margin-block-start: 5rem;
  }
  .p-top-issues__inner {
    --inner: 69.375rem;
  }
  .p-top-issues__head {
    text-align: center;
    gap: 1.125rem;
    padding-inline: 3.125rem;
  }
  .p-top-issues__title {
    font-size: max(4rem, 10px);
    line-height: 1.09375;
  }
  .p-top-issues__lead {
    margin-block-start: 0.5rem;
    font-size: max(1.25rem, 10px);
    line-height: 1.875;
  }
  .p-top-issues__list {
    margin-block-start: 3rem;
    gap: 2.5rem;
  }
  .p-top-issues__item:nth-of-type(odd) {
    padding-inline-end: 8.125rem;
    justify-self: start;
  }
  .p-top-issues__item:nth-of-type(even) {
    padding-inline-start: 8.125rem;
    justify-self: end;
  }
  .p-top-issues__card {
    grid-template-columns: 1fr auto;
    gap: 0;
    padding: 2.5rem 0;
  }
  .p-top-issues__item:nth-of-type(odd) .p-top-issues__card {
    margin-inline-start: calc(50% - 50vw);
    margin-inline-start: calc(50% - 50cqi);
    padding-inline-start: calc(50vw - 50%);
    padding-inline-start: calc(50cqi - 50%);
    border-radius: 0 10.5625rem 10.5625rem 0;
  }
  .p-top-issues__item:nth-of-type(even) .p-top-issues__card {
    margin-inline-end: calc(50% - 50vw);
    margin-inline-end: calc(50% - 50cqi);
    padding-inline-end: calc(50vw - 50%);
    padding-inline-end: calc(50cqi - 50%);
    grid-template-columns: 18.75rem minmax(0, 1fr);
    border-radius: 10.5625rem 0 0 10.5625rem;
  }
  .p-top-issues__item:nth-of-type(2) .p-top-issues__card {
    gap: 4.375rem;
  }
  .p-top-issues__category {
    font-size: max(0.9375rem, 10px);
  }
  .p-top-issues__heading {
    margin-block-start: 0.625rem;
    font-size: max(1.5rem, 10px);
    line-height: 1.8333333333;
  }
  .p-top-issues__text {
    margin-block-start: 0.625rem;
    font-size: max(1.125rem, 10px);
    line-height: 1.875;
  }
  .p-top-issues__cta {
    margin-inline: 0;
    margin-block-start: 1.125rem;
  }
  .p-top-issues__visual {
    position: relative;
    height: 1px;
  }
  .p-top-issues__visual img {
    position: absolute;
    inset-inline: 0;
    top: 50%;
    translate: 0 -50%;
  }
  .p-top-issues__item:nth-of-type(1) .p-top-issues__visual {
    width: 20.5rem;
    translate: 6.25rem 0;
  }
  .p-top-issues__item:nth-of-type(2) .p-top-issues__visual {
    order: -1;
    width: 17.625rem;
  }
  .p-top-issues__item:nth-of-type(3) .p-top-issues__visual {
    width: 23rem;
    translate: 0.9375rem -1.75rem;
  }
  .p-top-links {
    padding-block: 2.4375rem 2.75rem;
  }
  .p-top-links__list {
    grid-template-columns: repeat(3, 21.5rem);
    justify-content: space-between;
    gap: 0;
  }
  .p-top-links__item:not(:first-child)::before {
    position: absolute;
    inset-block-start: -0.4375rem;
    inset-inline-start: -2.625rem;
    width: 1px;
    height: 6.375rem;
    background-color: #707070;
    content: "";
  }
  .p-top-links__head {
    gap: 0.5625rem;
  }
  .p-top-links__icon {
    width: 1.9375rem;
  }
  .p-top-links__item[data-link=seminar] .p-top-links__icon {
    width: 1.3125rem;
  }
  .p-top-links__title {
    font-size: max(1.25rem, 10px);
  }
  .p-top-links__text {
    font-size: max(1rem, 10px);
  }
  .p-top-mv__inner {
    display: flex;
    gap: 0rem;
  }
  .p-top-mv__body {
    display: flex;
    flex-direction: column;
    flex: 0 0 36.875rem;
    margin-inline: 0;
    width: auto;
    padding-block-start: 0;
    white-space: nowrap;
  }
  .p-top-mv__title {
    font-size: max(3.2rem, 10px);
    line-height: 1.2285714286;
  }
  .p-top-mv__lead {
    gap: 0.75rem 1rem;
    margin-block-start: 2.625rem;
  }
  .p-top-mv__lead-label {
    font-size: max(1.95rem, 10px);
  }
  .p-top-mv__lead-brand {
    width: 7.875rem;
  }
  .p-top-mv__actions {
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 17rem));
    justify-content: normal;
    gap: 2.3125rem;
    margin-block-start: auto;
  }
  .p-top-mv__cta {
    border-radius: 1.875rem 1.875rem 0 0;
  }
  .p-top-mv__visual {
    flex: 1 1 auto;
    justify-items: end;
    align-items: start;
    width: auto;
    margin-inline: 0;
    margin-block-start: 0;
    padding-block-end: 2.5rem;
  }
  .p-top-mv__visual img {
    width: min(100%, 40.625rem);
  }
  .p-top-mv__inner {
    min-height: 24.375rem;
  }
  .p-top-mv__visual {
    padding-block-start: 0.53125rem;
  }
  .p-top-mv__lead {
    margin-block-start: 0.9375rem;
  }
  .p-top-mv__lead-label {
    font-size: max(1.875rem, 10px);
  }
  .p-top-mv__lead-brand {
    width: 6.375rem;
  }
  .p-top-reason__list {
    margin-block-start: 3.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
  .p-top-reason__item {
    padding-block-end: 0;
    border-block-end: 0;
    padding-inline: 1.25rem;
    border-inline-end: 1px solid var(--color-brand-blue);
  }
  .p-top-reason__item:last-child {
    border-inline-end: 0;
  }
  .p-top-reason__label {
    min-height: 2.25rem;
    padding-block: 0.3125rem;
    padding-inline: 0.75rem;
    font-size: max(1.125rem, 10px);
  }
  .p-top-reason__heading {
    margin-block-start: 0.9375rem;
    min-height: 7.9375rem;
    padding-block-start: 0.28125rem;
    font-size: max(2.125rem, 10px);
  }
  .p-top-reason__stat {
    margin-block-start: 0.9375rem;
    min-height: 7.9375rem;
  }
  .p-top-reason__value {
    font-size: max(6.625rem, 10px);
  }
  .p-top-reason__unit {
    margin-block-start: 1.75rem;
    font-size: max(3.5625rem, 10px);
  }
  .p-top-reason__text {
    font-size: max(1rem, 10px);
  }
  .p-top-reason__heading + .p-top-reason__text {
    margin-block-start: 0;
  }
  .p-top-reason__logos.splide {
    margin-block-start: 4.375rem;
  }
  .p-top-reason__logo-item.splide__slide {
    width: 12.125rem;
  }
  .p-top-topics__inner {
    --inner: 100rem;
    grid-template-columns: 11.25rem minmax(0, 1fr);
    align-items: center;
    gap: 2.5rem;
  }
  .p-top-topics__title {
    font-size: max(1.875rem, 10px);
  }
  .p-top-topics__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5625rem;
  }
  .p-top-topics__card {
    height: 100%;
  }
  .p-top-topics__card {
    grid-template-columns: minmax(0, 8.6875rem) minmax(0, 1fr);
  }
  .p-top-topics__content {
    gap: 0.5rem;
  }
  .l-efficiency-work-cycle {
    margin-block-start: 3rem;
  }
  .p-work-cycle {
    padding-block: 5rem 3.5rem;
  }
  .p-work-cycle__title {
    font-size: max(1.875rem, 10px);
  }
  .p-work-cycle__lead {
    margin-block-start: 0.875rem;
    font-size: max(0.9375rem, 10px);
    text-align: center;
  }
  .p-work-cycle__axis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-block-start: 2.75rem;
    padding-block-start: 1.75rem;
    padding-inline-start: 0;
  }
  .p-work-cycle__axis::before {
    inset-block: 0.375rem auto;
    inset-inline: 6%;
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, var(--color-brand-blue) 0%, #9dbbea 100%);
  }
  .p-work-cycle__node {
    padding-inline: 0.875rem;
    text-align: center;
  }
  .p-work-cycle__node::before {
    inset-block-start: -1.75rem;
    inset-inline-start: 50%;
    translate: -50% 0;
  }
  .p-work-cycle__node-cycle {
    font-size: max(1.1875rem, 10px);
  }
  .p-work-cycle__node-freq {
    display: block;
    margin-block-start: 0.1875rem;
    margin-inline-start: 0;
  }
  .p-work-cycle__node-tasks {
    margin-block-start: 0.875rem;
  }
  .p-work-cycle__bridge {
    margin-block-start: 2.125rem;
    font-size: max(0.875rem, 10px);
  }
  [data-fadein="200"] {
    transition-delay: 200ms;
  }
  [data-fadein="400"] {
    transition-delay: 400ms;
  }
  [data-fadein="600"] {
    transition-delay: 600ms;
  }
  .u-pc {
    display: block; /* 古いブラウザ用フォールバック */
    display: revert; /* モダンブラウザではUAスタイルに戻す */
  }
  .u-sp {
    display: none;
  }
  /* 本文リンク — 現行 style2.css:176 `a:hover { text-decoration:none }`（現行の BP は 769px） */
  :is(.p-blog-detail__content, .p-news-detail__body) a:hover {
    text-decoration-line: none;
  }
  /* T1 / T2 — 新カンプ .p-post-content__toc の PC 値 */
  :is(.p-blog-detail__content, .p-news-detail__body) .toc {
    padding: 2.4375rem 1.625rem 2.1875rem; /* 39 26 35 新カンプ */
  }
  :is(.p-blog-detail__content, .p-news-detail__body) .toc-title::before {
    font-size: 1.25rem; /* 20px 新カンプ PC */
  }
  :is(.p-blog-detail__content, .p-news-detail__body) .toc-title li {
    font-size: 1rem; /* 16px 新カンプ PC */
  }
  /* L1〜L6 / B1 — padding は現行 PC 値 */
  :is(.p-blog-detail__content, .p-news-detail__body) .list-color1 {
    padding: 1.25rem 1.25rem 1.25rem 1.875rem; /* 20/20/20/30 現行 */
    font-size: 1.125rem; /* 18px 新カンプ li PC */
  }
  /* TB1 — 現行 PC 値 */
  :is(.p-blog-detail__content, .p-news-detail__body) :is(th, td) {
    font-size: 0.9375rem; /* 15px 現行 */
    line-height: 2; /* 現行 */
  }
  :is(.p-blog-detail__content, .p-news-detail__body) th {
    font-size: 1rem; /* 16px 2026-09-29 先方指示（-96） */
  }
  .p-button {
    margin: 0;
  }
  .p-button.l {
    max-width: 24.125rem; /* 386px */
    height: 3.75rem; /* 60px */
  }
  .p-button.m {
    max-width: 15rem; /* 240px */
    height: 3.5rem; /* 56px */
  }
  .p-button.s {
    max-width: 11.75rem; /* 188px */
    height: 2.25rem; /* 36px */
  }
  .p-button.m-lr-auto {
    margin-inline: auto;
  }
  .cta_blog .box-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3125rem 0.9375rem 0.625rem; /* 5 15 10 */
  }
  .cta_blog .dl-btn,
  .cta_blog .srh-btn {
    margin-left: 0.9375rem; /* 15px */
  }
  .cta_blog .cta-img {
    display: block !important;
  }
  .cta_blog .cta-img02 {
    display: flex !important;
  }
  .cta_blog .p-button {
    margin-top: 0;
  }
  .cta_blog.lc {
    padding-bottom: 1.25rem; /* 20px */
  }
  .cta_blog.lc .box-content p {
    font-size: 1.375rem; /* 22px */
  }
  .cta_blog.lc .dl-btn {
    margin: 1.5625rem 0 0; /* 25px */
  }
  .cta_blog.lc .p-button {
    width: 18.75rem; /* 300px */
    height: 3.75rem; /* 60px */
  }
  .cta_blog.lc .p-button span {
    font-size: 1.0625rem; /* 17px */
  }
  .cta_blog.cta_blog_ban,
  .cta_blog.cta_blog_ban03,
  .cta_blog.cta_blog_ban04,
  .cta_blog.cta_blog_ban06 {
    height: 12.5rem; /* 200px */
  }
  .cta_blog.cta_blog_ban02 {
    height: 15rem; /* 240px */
    border: 0;
  }
  .cta_blog_ban .box-content {
    padding: 0.3125rem; /* 5px（上の .cta_blog .box-content を戻す） */
  }
  .cta_blog_ban .box-content .cta-img,
  .cta_blog_ban .box-content .box-wrap {
    width: 50%;
  }
  .cta_blog_ban .box-content .box-wrap02 {
    width: 54%;
  }
  .cta_blog_ban .box-wrap > div {
    height: 40%;
  }
  .cta_blog_ban .box-wrap .dl-btn {
    height: 60%;
  }
  .cta_blog_ban .box-wrap p {
    font-size: 1.5rem; /* 24px */
  }
  .cta_blog_ban02 .box-wrap p {
    font-size: 1.875rem; /* 30px */
  }
  .cta_blog_ban .box-wrap02 p {
    font-size: 1.375rem; /* 22px */
  }
  .cta_blog_ban .box-wrap02 p span {
    font-size: 1rem; /* 16px */
  }
  .cta_blog_ban .p-button {
    max-width: 18.25rem; /* 292px */
    height: 3.125rem; /* 50px */
    margin: 0.625rem auto 0;
  }
  .cta_blog.cta_blog_ban03 .dl-btn,
  .cta_blog.cta_blog_ban04 .dl-btn {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) and (prefers-reduced-motion: reduce){
  .p-blog-side__box--doc.is-fade-in {
    transition: none;
  }
}
@media screen and (min-width: 1024px){
  .l-cost-salesforce .p-salesforce__points {
    flex-wrap: nowrap;
  }
  .l-efficiency-salesforce .p-salesforce__points {
    flex-wrap: nowrap;
  }
  .p-header__menu-button {
    display: none;
  }
  .p-header__pc-nav {
    display: block;
    margin-inline-start: auto;
    height: 100%;
  }
  .p-header__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    flex-shrink: 0;
  }
  .p-header__action-buttons .c-button-pill {
    min-width: 0;
    padding-inline: 0.875rem;
    font-size: clamp(10px, 10px + 0.0048076923 * (100vw - 768px), 14px);
  }
  .l-safety-salesforce .p-salesforce__points {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1300px){
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 1560px){
  .p-service-float {
    display: block;
    position: fixed;
    inset-block-start: 18.75rem;
    inset-inline-end: -2.9375rem;
    z-index: 3;
    width: 14.125rem;
  }
  .p-service-float__title {
    font-size: max(1.1875rem, 10px);
    font-weight: 700;
    line-height: 1.8421;
    color: var(--color-brand);
  }
  .p-service-float__list {
    display: grid;
    gap: 0.4375rem;
    margin-block-start: 1.375rem;
  }
  .p-service-float__link {
    display: grid;
    grid-template-columns: 1.88rem minmax(0, 1fr);
    align-items: center;
    gap: 0.245rem;
    min-height: 3.25rem;
    padding-inline: 0.9375rem;
    border-radius: 0.5rem;
    background-color: var(--color-white);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
    font-size: max(0.9375rem, 10px);
    font-weight: 700;
    line-height: 1.7333;
    color: var(--color-brand);
  }
  .p-service-float__link[aria-current=page],
  .p-service-float__item--current .p-service-float__link {
    color: var(--color-white);
    background-color: var(--color-brand);
  }
  .p-service-float__icon {
    justify-self: center;
    height: auto;
  }
  .p-service-float__icon--about {
    width: 1.338125rem;
  }
  .p-service-float__icon--function {
    width: 1.480625rem;
  }
  .p-service-float__icon--case {
    width: 1.740625rem;
  }
  .p-service-float__icon--price {
    width: 1.88rem;
  }
}
@media screen and (min-width: 1560px) and (any-hover: hover){
  .p-service-float__link:hover {
    opacity: var(--hover-opacity);
  }
}
@media (max-width: 782px){
  :root:has(.admin-bar) {
    --wp-admin-bar-height: 46px;
  }
}
@media screen and (max-width: 767px){
  .c-scroll-table--content > .table-wrap table :is(th, td) {
    min-inline-size: calc(min(100vw - var(--inner-padding) * 2, var(--inner)) * 0.45);
    white-space: normal;
  }
  .c-scroll-table--content > .table-wrap table :is(th, td):first-child {
    min-inline-size: calc(min(100vw - var(--inner-padding) * 2, var(--inner)) / 3);
  }
  .c-scroll-table--content > .c-scroll-table__scroller > table:has(tr > :nth-child(3)) :is(th, td) {
    min-inline-size: calc(min(100vw - var(--inner-padding) * 2, var(--inner)) * 0.45);
  }
  .c-scroll-table--content > .c-scroll-table__scroller > table:has(tr > :nth-child(3)) :is(th, td):first-child {
    min-inline-size: calc(min(100vw - var(--inner-padding) * 2, var(--inner)) / 3);
  }
  .p-about-reason__logo-item[data-logo=maynavi] img {
    height: 1.5625rem;
  }
  .p-about-reason__logo-item[data-logo=subaru-living] img {
    height: 2.4375rem;
  }
  .p-about-reason__logo-item[data-logo=ebara] img {
    height: 2.6875rem;
    max-width: none;
  }
  .p-about-reason__logo-item[data-logo=tsukasa] img {
    height: 2.5rem;
  }
  .p-about-reason__logo-item[data-logo=conexio] img {
    height: 2rem;
  }
  .p-case-doc__inner {
    padding-inline: 1rem;
  }
  .p-cta-demo__inner {
    padding-inline: 1rem;
  }
  .p-doc-cta__inner {
    padding-inline: 1rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) {
    display: table;
    min-inline-size: 32.5rem;
    border-spacing: 0;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(thead, tbody, tfoot) {
    display: table-row-group;
  }
  .p-legal table:has(tr > *:nth-child(3)) tr {
    display: table-row;
  }
  .p-legal table:has(tr > *:nth-child(3)) tr + tr {
    margin-block-start: 0;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td) {
    display: table-cell;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(1) {
    width: 9.375rem;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(2) {
    width: auto;
  }
  .p-legal table:has(tr > *:nth-child(3)) :is(th, td):nth-child(3) {
    width: 5rem;
  }
  .p-price-env__table {
    min-inline-size: 38.75rem;
  }
  .p-price-env__table th {
    width: 11.875rem;
    padding-inline: 0.75rem;
  }
}
@media (max-width: 600px){
  #wpadminbar {
    position: fixed !important;
  }
}
@media (max-width: 375px){
  html {
    font-size: 4.2666666667vw;
    font-size: 4.2666666667cqi;
  }
}
@media (any-hover: hover){
  a:hover {
    opacity: var(--hover-opacity);
  }
  :is(.p-case-detail__main, .p-doc-detail__body, .p-seminar-detail__content) a:not(.c-button-more, .c-link-arrow, .c-button-pill, .p-case-anchor__lead):hover {
    text-decoration-line: none;
  }
  .c-button-pill[data-color=login]:is(a, button):hover {
    border-color: var(--color-white);
    background-color: var(--color-brand);
    color: var(--color-white);
  }
  .c-image-zoom:hover .c-image-zoom__icon {
    scale: 1.1;
  }
  .p-about-copilot__card:hover .p-about-copilot__illust {
    scale: 1.1;
  }
  .p-billing-related__card:hover {
    opacity: var(--hover-opacity);
  }
  .p-blog-detail-cases__card:hover,
  .p-blog-detail-download__card:hover {
    opacity: var(--hover-opacity);
  }
  .p-blog-search:not(.p-blog-search--static):hover {
    opacity: var(--hover-opacity);
  }
  .p-blog-search-form__submit:hover,
  .p-blog-search-panel__chip:not(.is-current):hover {
    opacity: var(--hover-opacity);
  }
  .p-case-detail-features__link:hover {
    opacity: var(--hover-opacity);
  }
  .cta_blog_ban .p-button.p-button:hover {
    background-color: #306cd3;
  }
  .cta_blog_ban02 .p-button.p-button:hover {
    background-color: #1d66e4;
  }
  .p-faq-nav__link:hover {
    border-color: var(--color-white);
    background-color: var(--color-brand);
    color: var(--color-white);
  }
  .p-faq-nav__link:hover {
    border-color: var(--color-brand);
    background-color: var(--color-white);
    color: var(--color-brand);
  }
  .p-feature-cards__item:hover .p-feature-cards__thumb {
    scale: 1.06;
  }
  .p-feature-cards__item:hover .p-feature-cards__name,
  .p-feature-cards__item:hover .p-feature-cards__text,
  .p-feature-cards__item:hover .p-feature-cards__detail {
    opacity: 0.6;
  }
  .p-function-top__card:hover .p-function-top__thumb {
    scale: 1.06;
  }
  .p-function-top__card:hover .p-function-top__name,
  .p-function-top__card:hover .p-function-top__text,
  .p-function-top__card:hover .p-function-top__link {
    opacity: 0.6;
  }
  .p-function-change__card:hover .p-function-change__illust::after {
    opacity: 1;
  }
  .p-function-change__card:hover .p-function-change__tag,
  .p-function-change__card:hover .p-function-change__name,
  .p-function-change__card:hover .p-function-change__text,
  .p-function-change__card:hover .p-function-change__target,
  .p-function-change__card:hover .p-function-change__link {
    opacity: 0.6;
  }
  .p-header__pc-nav-item:has(.p-header__pc-nav-submenu):hover .p-header__pc-nav-link::after {
    rotate: 180deg;
  }
  .p-header__pc-nav-submenu-link:hover {
    background: rgba(0, 0, 0, 0.06);
  }
  .p-modal__close:hover {
    background-color: #dcdee1;
  }
  .p-modal__link:hover {
    opacity: 0.7;
  }
  .p-news-tabs__item:not(.p-news-tabs__item--current) .p-news-tabs__link:hover {
    border-color: var(--color-white);
    background-color: var(--color-brand);
    color: var(--color-white);
  }
  .p-page-top:hover {
    opacity: var(--hover-opacity);
  }
  .p-persona-flow__col--after button.p-persona-flow__card:hover {
    border-color: var(--color-brand);
  }
  .p-post-nav__card:hover,
  .p-post-nav__back a:hover {
    opacity: var(--hover-opacity);
  }
  .p-recruit-snap-modal__close:hover {
    opacity: var(--hover-opacity);
  }
  .p-recruit-snap-modal__prev:hover,
  .p-recruit-snap-modal__next:hover {
    opacity: var(--hover-opacity);
  }
  .p-lead-form__submit:hover {
    opacity: var(--hover-opacity);
  }
  .p-resources-filter__chip:not(.is-current):hover {
    opacity: var(--hover-opacity);
  }
  .p-seminar-tabs__tab:not(.p-seminar-tabs__tab--current):hover {
    opacity: var(--hover-opacity);
  }
  .p-button:hover {
    background-color: #414f7b;
  }
  .p-button:hover::after {
    right: 1rem; /* 16px */
  }
  .p-button.m:hover::after {
    right: 0.8125rem; /* 13px */
  }
  .p-button.s:hover::after {
    right: 0.5625rem; /* 9px */
  }
  .p-button.cta:hover {
    background-color: #6092e9;
  }
  .p-button.w:hover span {
    color: #6d789b;
  }
  .cta_blog > a:hover p {
    color: #242e4d;
    text-decoration-line: underline;
  }
  .cta_blog_ban > a:hover p,
  .cta_blog_ban > a:hover .box-wrap p {
    color: #fff;
    text-decoration-line: none;
  }
}
@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 (prefers-reduced-motion: reduce){
  .c-image-zoom-dialog,
  .c-image-zoom-dialog::backdrop,
  .c-image-zoom-dialog__image {
    transition-duration: 0s;
  }
  .p-blog-search__mark {
    transition: none;
  }
  .p-faq__icon::before {
    transition: none;
  }
  [data-fadein] {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media print{
  :where(pre) {
    /* Prevent text wrapping in print media. */
    text-wrap-mode: unset;
  }
  :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;
  }
}