@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&family=Noto+Serif:wght@400;700&display=swap");
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3 */
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  clear: both;
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  margin: 0;
  overflow: visible; /* 2 */
  color: inherit;
  border-top-width: 1px;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-size: inherit; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
  background: transparent;
  border-radius: 0;
  appearance: none; /* 1 */
  appearance: none;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  font: inherit; /* 2 */
  appearance: button; /* 1 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* breakpoint
---------------------------------------------------------------------------- */
/* breakpointでvwの変更に使用
---------------------------------------------------------------------------- */
/* breakpoint
---------------------------------------------------------------------------- */
/* base site styles (scoped but usable across pages)
---------------------------------------------------------------------------- */
:root {
  --bg: #ffffff;
  --surface: rgba(0, 0, 0, 0.04);
  --surface-2: rgba(0, 0, 0, 0.06);
  --stroke: rgba(0, 0, 0, 0.12);
  --text: rgba(0, 0, 0, 0.88);
  --muted: rgba(0, 0, 0, 0.60);
  --accent-1: #ff0211; /* Mercari Red */
  --accent-2: #4dc9ff; /* Mercari Light Blue */
  --accent-3: #4091cd; /* Palette Color 2 */
  --shadow: 0 18px 60px rgba(0, 0, 0, 0.15);
  --radius: 18px;
  --radius-sm: 12px;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  color: var(--text);
  background: var(--bg);
  min-height: 100vh;
  min-width: 1440px;
}
@media screen and (max-width: 768px) {
  body {
    min-width: 0;
  }
}

html.is-page-preload body {
  opacity: 0;
}

::selection {
  background: rgba(77, 201, 255, 0.35);
}

:focus-visible {
  outline: 3px solid rgba(77, 201, 255, 0.85);
  outline-offset: 3px;
}

/* hover (PC想定) */
@media (hover: hover) and (pointer: fine) {
  a,
  button,
  [role=button],
  input[type=button],
  input[type=submit],
  input[type=reset] {
    transition: opacity 0.2s ease;
  }
  a:hover,
  button:not(:disabled):hover,
  [role=button]:not([aria-disabled=true]):hover,
  input[type=button]:not(:disabled):hover,
  input[type=submit]:not(:disabled):hover,
  input[type=reset]:not(:disabled):hover {
    opacity: 0.7;
  }
}
/* reduce motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* layout (l-*)
---------------------------------------------------------------------------- */
.l-container {
  margin-inline: auto;
}

.l-section--cta {
  padding-block: 84px;
}

.l-siteHeader {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(7, 10, 18, 0.55);
  border-bottom: 1px solid var(--stroke);
}

.l-siteHeader__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 14px;
}

.l-siteHeader__cta {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .l-siteHeader__cta {
    display: none;
  }
}
.l-footer {
  border-top: 1px solid var(--stroke);
  background: rgba(7, 10, 18, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.l-footer__inner {
  padding-block: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.l-footer__brand {
  display: grid;
  gap: 6px;
}

.l-footer__name {
  font-weight: 700;
  letter-spacing: 0.04em;
}

.l-footer__copy {
  color: var(--muted);
  font-size: 12px;
}

.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  justify-content: flex-end;
}

.l-footer__link {
  color: var(--muted);
  text-decoration: none;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.l-footer__link:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}

@media screen and (max-width: 768px) {
  .l-footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .l-footer__nav {
    justify-content: flex-start;
  }
}
/* c-accordion
---------------------------------------------------------------------------- */
.c-accordion {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  border-bottom: 1px solid rgba(34, 34, 34, 0.1);
}

.c-accordion__button {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 23px 0;
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: inherit;
}

.c-accordion__button:focus-visible {
  outline: 2px solid rgba(77, 201, 255, 0.8);
  outline-offset: 4px;
}

.c-accordion__head {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  flex: 1 1 auto;
}

.c-accordion__q {
  flex: 0 0 auto;
  color: #ff0211;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.06em;
  line-height: 1.1;
}

.c-accordion__question {
  min-width: 0;
  color: #212121;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.4;
}

.c-accordion__icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  position: relative;
  margin-top: 2px;
}

.c-accordion__icon::before,
.c-accordion__icon::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 24px;
  height: 2px;
  background: #000;
  transform: translateY(-50%);
}

.c-accordion__icon::after {
  left: 50%;
  top: 0;
  width: 2px;
  height: 24px;
  transform: translateX(-50%);
}

.c-accordion.is-open .c-accordion__icon::after {
  opacity: 0;
}

.c-accordion__panel {
  overflow: hidden;
  height: 0;
  transition: height 240ms ease;
}

.c-accordion__panel[hidden] {
  display: none;
}

.c-accordion__panelInner {
  padding: 0 0 30px;
}

.c-accordion__answerRow {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.c-accordion__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.c-accordion__media {
  position: relative;
  flex: 0 0 auto;
  width: 320px;
  height: 180px;
  border-radius: 10px;
  overflow: hidden;
}

.c-accordion__mediaImg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-accordion__mediaLabel {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #000;
  color: #fff;
  padding: 10px 20px;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.4;
}

.c-accordion__belowImage {
  margin-top: 20px;
  opacity: 0.3;
}

.c-accordion__belowImageImg {
  display: block;
  width: 100%;
  height: auto;
}

.c-accordion__a {
  display: inline-block;
  flex: 0 0 auto;
  color: #4dc9ff;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.06em;
  line-height: 1.1;
}

.c-accordion__answer {
  margin: 0;
  color: #000;
  font-weight: 500;
  font-size: 16px;
  line-height: 32px;
}

@media (prefers-reduced-motion: reduce) {
  .c-accordion__panel {
    transition: none;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .c-accordion__button {
    padding: 6.1333333333vw 0;
    gap: 4.2666666667vw;
  }
  .c-accordion__head {
    gap: 2.4vw;
  }
  .c-accordion__icon {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    margin-top: 0.5333333333vw;
  }
  .c-accordion__icon::before,
  .c-accordion__icon::after {
    width: 4.2666666667vw;
    height: 0.5333333333vw;
  }
  .c-accordion__icon::after {
    width: 0.5333333333vw;
    height: 4.2666666667vw;
  }
  .c-accordion__q {
    font-size: 5.8666666667vw;
  }
  .c-accordion__question {
    font-size: 4.2666666667vw;
    line-height: 6.4vw;
  }
  .c-accordion__panelInner {
    padding: 0 0 5.3333333333vw;
  }
  .c-accordion__a {
    font-size: 5.8666666667vw;
  }
  .c-accordion__answerRow {
    gap: 2.4vw;
  }
  .c-accordion__body {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
  .c-accordion__answer {
    font-size: 3.7333333333vw;
    line-height: 7.4666666667vw;
  }
  .c-accordion__media {
    width: 100%;
    height: auto;
    border-radius: 2.6666666667vw;
    aspect-ratio: 320/180;
  }
  .c-accordion__mediaLabel {
    padding: 2.6666666667vw 5.3333333333vw;
    font-size: 5.3333333333vw;
    line-height: 7.4666666667vw;
  }
  .c-accordion__belowImage {
    margin-top: 5.3333333333vw;
  }
}
/* c-pagination
---------------------------------------------------------------------------- */
.c-pagination {
  --pagination-size: 60px;
  --pagination-gap: 8px;
  --pagination-font-size: 16px;
  --pagination-border: #d9d9d9;
  --pagination-hover-bg: rgba(34, 34, 34, 0.04);
  display: flex;
  justify-content: center;
  padding: 0;
}

.c-pagination__list {
  display: flex;
  align-items: center;
  gap: var(--pagination-gap);
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-pagination__item {
  display: flex;
}

.c-pagination__link,
.c-pagination__current,
.c-pagination__arrow {
  width: var(--pagination-size);
  height: var(--pagination-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: var(--pagination-font-size);
  line-height: 1;
  font-weight: 500;
  text-decoration: none;
  box-sizing: border-box;
}

.c-pagination__link {
  background: #ffffff;
  border: 1px solid var(--pagination-border);
  color: #222222;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.c-pagination__link:hover {
  background: var(--pagination-hover-bg);
  border-color: var(--pagination-border);
}

.c-pagination__current {
  background: #ff0211;
  border: 1px solid #ff0211;
  color: #ffffff;
}

.c-pagination__ellipsis {
  font-size: var(--pagination-font-size);
  line-height: 24px;
  font-weight: 500;
  color: #222222;
}

.c-pagination__arrow {
  background: #222222;
  border: 0;
  color: #ffffff;
}

.c-pagination__arrowImg {
  width: 10px;
  display: block;
}

.c-pagination__arrow--prev .c-pagination__arrowImg {
  transform: rotate(180deg);
}

@media screen and (max-width: 768px) {
  .c-pagination {
    --pagination-size: 11.7333333333vw;
    --pagination-gap: 2.1333333333vw;
    --pagination-font-size: 3.7333333333vw;
  }
  .c-pagination__ellipsis {
    line-height: 6.4vw;
  }
  .c-pagination__arrowImg {
    width: 2.1333333333vw;
    object-fit: contain;
  }
}
/* c-breadcrumb
---------------------------------------------------------------------------- */
.c-breadcrumb {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 2.8;
  color: #888888;
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-breadcrumb__item {
  display: inline-flex;
  align-items: center;
}

.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: ">";
  display: inline-block;
  margin: 0 8px;
  color: inherit;
}

.c-breadcrumb__link,
.c-breadcrumb__current {
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.c-breadcrumb__link {
  text-decoration: none;
  transition: opacity ease-in-out 0.2s;
}

.c-breadcrumb__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .c-breadcrumb {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .c-breadcrumb__list {
    flex-wrap: nowrap;
    min-width: max-content;
  }
  .c-breadcrumb__item + .c-breadcrumb__item::before {
    margin: 0 2.1333333333vw;
  }
}
/* c-heading
---------------------------------------------------------------------------- */
.c-heading {
  text-align: center;
}

.c-heading--left {
  text-align: left;
}

.c-heading--left .c-heading__bars {
  justify-content: flex-start;
}

.c-heading__label {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 14px;
  line-height: normal;
  letter-spacing: 0.06em;
  color: #ff0211;
}

.c-heading__title {
  font-weight: 900;
  font-size: 42px;
  line-height: normal;
  color: #222222;
}

.c-heading__bars {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.c-heading__bar {
  width: 40px;
  height: 5px;
}

.c-heading__bar--red {
  background: #ff0211;
}

.c-heading__bar--blue {
  background: #4dc9ff;
}

@media screen and (max-width: 768px) {
  .c-heading__label {
    margin-bottom: 2.1333333333vw;
    font-size: 2.6666666667vw;
  }
  .c-heading__title {
    font-size: 8.5333333333vw;
    line-height: 1.2;
  }
  .c-heading__bars {
    margin-top: 5.8666666667vw;
  }
  .c-heading__bar {
    width: 8vw;
    height: 1.0666666667vw;
  }
}
/* c-typography
---------------------------------------------------------------------------- */
.c-eyebrow {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.c-display {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: clamp(38px, 4.6vw, 64px);
  line-height: 1.05;
  margin-top: 10px;
}

.c-display--sm {
  font-size: clamp(32px, 3.6vw, 52px);
}

.c-display__accent {
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.95), rgba(124, 58, 237, 0.95), rgba(244, 114, 182, 0.95));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.c-lead {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  max-width: 60ch;
  margin-top: 16px;
}

.c-h2 {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  font-size: 26px;
}

.c-h2--invert {
  color: rgba(255, 255, 255, 0.96);
}

.c-h3 {
  font-weight: 650;
  font-size: 18px;
  margin-bottom: 12px;
}

.c-sub {
  color: var(--muted);
  margin-top: 10px;
  line-height: 1.8;
}

.c-sub--invert {
  color: rgba(255, 255, 255, 0.74);
}

.c-link {
  color: rgba(34, 211, 238, 0.92);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.c-link:hover {
  opacity: 0.82;
}

.c-note {
  color: var(--muted);
  font-size: 12px;
}

/* c-sectionHead
---------------------------------------------------------------------------- */
.c-sectionHead {
  margin-bottom: 22px;
}

.c-sectionHead--row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

/* c-section
---------------------------------------------------------------------------- */
.c-section {
  width: 100%;
}

.c-section__inner {
  padding: 0;
}

.c-section--bgGray {
  background: #f6f6f6;
}

.c-section--bgWhite {
  background: #ffffff;
}

.c-section--bgFf5a5a {
  background: #ff5a5a;
}

.c-section--bgReflection {
  background-image: url("../img/merpay/bg_reflection.webp");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center 290px;
}

@media screen and (max-width: 768px) {
  .c-section__inner {
    padding: 0;
  }
  .c-section--bgReflection {
    background-image: url("../img/merpay/bg_reflection-sp.webp");
    background-position: center 45.3333333333vw;
  }
}
/* c-btn
---------------------------------------------------------------------------- */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  text-decoration: none;
  transition: transform 0.12s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  user-select: none;
  background: #ffffff;
  border-color: #ff0211;
  color: #ff0211;
  box-shadow: 0 0 8px rgba(168, 0, 10, 0.25);
  width: 100%;
  font-weight: 900;
  line-height: normal;
  letter-spacing: -0.04em;
}

.c-btn:active {
  transform: translateY(1px);
}

.c-btn--sm {
  padding: 10px 0;
  font-size: 16px;
}

.c-btn--md {
  padding: 20px 0;
  font-size: 16px;
}

.c-btn--primary {
  border-color: rgba(34, 211, 238, 0.35);
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.2), rgba(124, 58, 237, 0.28));
  color: rgba(255, 255, 255, 0.96);
}

.c-btn--primary:hover {
  border-color: rgba(34, 211, 238, 0.55);
  background: linear-gradient(90deg, rgba(34, 211, 238, 0.28), rgba(124, 58, 237, 0.35));
}

.c-btn--secondary {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.92);
}

.c-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
}

.c-btn--ghost {
  background: transparent;
  color: rgba(255, 255, 255, 0.86);
  border-color: rgba(255, 255, 255, 0.16);
}

.c-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* Figma: 23346:1486 (アプリをダウンロード) */
.c-btn--sm:hover {
  box-shadow: 0 0 10px rgba(168, 0, 10, 0.32);
}

/* NOTE: outlineWide は「色固定しない」アウトラインボタン（色は親のcolorで制御） */
/* Figma: 23374:51 (PC) / 23395:3451 (SP) */
.c-btn--merpayAbout {
  background: #ffffff;
  border-color: #ff0211;
  color: #ff0211;
  border-radius: 50px;
  box-shadow: 0 0 8px rgba(168, 0, 10, 0.25);
  padding: 20px 0;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* Figma: 24692:2698,24692:2701 (PC / 404: トップへ戻る) */
/*        24692:2717,24692:2720 (SP / 404: トップへ戻る) */
.c-btn--backToTop {
  display: flex;
  width: min(520px, 100%);
  margin-inline: auto;
  padding: 0;
  min-height: 80px;
  background: #ff0211;
  border-color: #ff0211;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(168, 0, 10, 0.5);
  font-size: 20px;
  line-height: 1.448;
}

.c-btn--backToTop:hover {
  box-shadow: 0 0 10px rgba(168, 0, 10, 0.55);
}

/* Figma: 23395:3451 (SP) */
@media screen and (max-width: 768px) {
  .c-btn {
    gap: 2.1333333333vw;
  }
  .c-btn--sm {
    padding: 2.1333333333vw 0;
    font-size: 3.4666666667vw;
  }
  .c-btn--md {
    padding: 4.2666666667vw 0;
    font-size: 4.2666666667vw;
  }
  .c-btn--sm {
    padding: 2.6666666667vw 0;
    font-size: 4.2666666667vw;
  }
  .c-btn--merpayAbout {
    padding: 4.2666666667vw 0;
  }
  .c-btn--backToTop {
    min-height: initial;
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}
.c-btn.is-disabled,
.c-btn:disabled {
  opacity: 0.55;
  pointer-events: none;
  box-shadow: none;
}

/* c-anchorBtn
---------------------------------------------------------------------------- */
.c-anchorBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 240px;
  height: 50px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #000000;
  border-radius: 100px;
  background: #ffffff;
  color: #000000;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.48;
  text-decoration: none;
  transition: opacity ease-in-out 0.2s;
}

.c-anchorBtn:hover {
  opacity: 0.7;
}

.c-anchorBtn__icon {
  display: block;
  width: 10px;
}

@media screen and (max-width: 768px) {
  .c-anchorBtn {
    gap: 2.6666666667vw;
    width: 42.4vw;
    height: 10.6666666667vw;
    padding: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
  .c-anchorBtn__icon {
    width: 2.6666666667vw;
  }
}
/* c-chip
---------------------------------------------------------------------------- */
.c-chipRow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.c-chip {
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.85);
  padding: 8px 12px;
  font-size: 13px;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.c-chip:hover {
  background: rgba(255, 255, 255, 0.08);
}

.c-chip.is-active {
  border-color: rgba(34, 211, 238, 0.45);
  background: rgba(34, 211, 238, 0.1);
}

/* c-stack / c-miniCard
---------------------------------------------------------------------------- */
.c-stack {
  display: grid;
  gap: 10px;
}

.c-miniCard {
  border-radius: var(--radius-sm);
  border: 1px solid var(--stroke);
  background: rgba(255, 255, 255, 0.04);
  padding: 14px;
}

.c-miniCard__title {
  font-weight: 700;
}

.c-miniCard__text {
  margin-top: 6px;
  color: var(--muted);
  line-height: 1.8;
}

/* c-code
---------------------------------------------------------------------------- */
.c-codeBlock {
  max-width: 100%;
}

.c-codeBlock__head {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.c-codeBlock__copyBtn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: var(--surface);
  color: var(--text);
  padding: 0;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.c-codeBlock__copyIcon {
  display: block;
}

.c-codeBlock__copyText {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.c-codeBlock__copyBtn:hover {
  opacity: 1;
  background: var(--surface-2);
}

.c-codeBlock__copyBtn.is-copied {
  opacity: 1;
}

.c-code {
  border-radius: var(--radius);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #000;
  padding: 16px;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.c-code code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  line-height: 1.75;
  white-space: pre;
}

@media screen and (max-width: 768px) {
  .c-codeBlock__head {
    margin-bottom: 2.1333333333vw;
  }
  .c-codeBlock__copyBtn {
    width: 9.6vw;
    height: 9.6vw;
  }
  .c-code {
    padding: 4.2666666667vw;
  }
  .c-code code {
    font-size: 3.4666666667vw;
  }
}
/* c-serviceHeader (Figma: 23398:6174, 23398:7204)
---------------------------------------------------------------------------- */
.c-serviceHeader {
  position: sticky;
  top: 0;
  z-index: 60;
  background: #ffffff;
}
.c-serviceHeader .l-container.c-serviceHeader__inner {
  width: 100%;
  max-width: none;
  padding: 24px 36px 32px;
}
.c-serviceHeader__inner {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  z-index: 101;
}
.c-serviceHeader__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #222222;
}
.c-serviceHeader__logo {
  display: block;
  height: 34px;
  width: auto;
}
.c-serviceHeader__logo--pc {
  height: auto;
  width: 124.065px;
}
.c-serviceHeader__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32px;
  min-width: 0;
}
.c-serviceHeader__navList {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-serviceHeader__navLink {
  text-decoration: none;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  padding-block: 6px;
}
.c-serviceHeader__actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.c-serviceHeader__download {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ff0211;
  color: #fff;
  text-decoration: none;
  border-radius: 50px;
  padding: 3px 30px 3px 3px;
  box-shadow: 0 0 8px rgba(168, 0, 10, 0.5);
  gap: 10px;
}
.c-serviceHeader__downloadText {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  white-space: nowrap;
}
.c-serviceHeader__downloadIcon {
  position: relative;
  left: 0;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 9px;
  background: #ffffff;
  border-radius: 100%;
}
.c-serviceHeader__downloadIconMark {
  position: relative;
  width: 100%;
  object-fit: cover;
}
.c-serviceHeader__menuBtn {
  display: none;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #ff0211;
  padding: 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.c-serviceHeader__menuIcon {
  display: grid;
  gap: 4px;
  position: relative;
  width: 18px;
  height: 14px;
}
.c-serviceHeader__menuIcon span {
  display: block;
  width: 18px;
  height: 2px;
  background: #ff0211;
  border-radius: 2px;
  transition: transform 0.22s ease, opacity 0.18s ease;
}
.c-serviceHeader.is-menu-open .c-serviceHeader__menuIcon span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  transform-origin: center;
}
.c-serviceHeader.is-menu-open .c-serviceHeader__menuIcon span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-serviceHeader.is-menu-open .c-serviceHeader__menuIcon span:nth-child(2) {
  opacity: 0;
}
.c-serviceHeader.is-menu-open .c-serviceHeader__menuIcon span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-serviceHeader__srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.c-serviceHeader__drawer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #ffffff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.c-serviceHeader__drawer.is-open {
  opacity: 1;
  pointer-events: auto;
}
.c-serviceHeader__drawer.is-open .c-serviceHeader__drawerInner {
  transform: translateY(0);
}
.c-serviceHeader__drawerInner {
  position: absolute;
  left: 0;
  right: 0;
  top: 50px;
  z-index: 1;
  background: #ffffff;
  padding: 18px 24px 22px;
  transform: translateY(-120%);
  transition: transform 0.28s ease;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: calc(100vh - 50px);
}
.c-serviceHeader__drawerInner .c-serviceHeader__drawerInner .c-merpayFooter__nav {
  margin-top: 8vw;
}
.c-serviceHeader__drawerInner .c-serviceHeader__drawerInner .c-merpayFooter__ctaWrap,
.c-serviceHeader__drawerInner .c-serviceHeader__drawerInner .c-merpayCtaWrap {
  padding-top: 0;
  margin-top: 10.6666666667vw;
}
.c-serviceHeader__drawerInner .c-merpayFooter__ctaInner,
.c-serviceHeader__drawerInner .c-merpayCtaWrap__inner {
  padding: 0;
}
.c-serviceHeader__drawerInner .c-serviceHeader__drawerInner .c-merpayCta__note {
  text-align: center;
  padding: 0;
}
.c-serviceHeader__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .c-serviceHeader__drawer {
    display: block;
  }
  .c-serviceHeader .l-container.c-serviceHeader__inner {
    padding: 3.2vw 2.6666666667vw 3.2vw 4.2666666667vw;
  }
  .c-serviceHeader__inner {
    min-height: 12.8vw;
    gap: 4.2666666667vw;
  }
  .c-serviceHeader__logo--pc {
    width: 18.5272vw;
  }
  .c-serviceHeader__right {
    gap: 2.6666666667vw;
  }
  .c-serviceHeader__nav {
    display: none;
  }
  .c-serviceHeader__menuBtn {
    display: inline-flex;
    width: 12.8vw;
    height: 12.8vw;
    border-radius: 999px;
    border: 0.2666666667vw solid #ff0211;
  }
  .c-serviceHeader__menuIcon {
    gap: 1.0666666667vw;
    width: initial;
    height: initial;
  }
  .c-serviceHeader__menuIcon span {
    width: 5.3333333333vw !important;
    height: 1px;
    border-radius: 0.5333333333vw;
  }
  .c-serviceHeader__actions {
    gap: 2.6666666667vw;
  }
  .c-serviceHeader__download {
    padding: 0.8vw 5.3333333333vw 0.8vw 0.8vw;
    box-shadow: 0 0 1.0666666667vw rgba(168, 0, 10, 0.5);
    gap: 2.6666666667vw;
  }
  .c-serviceHeader__downloadText {
    font-size: 2.6666666667vw;
  }
  .c-serviceHeader__downloadIcon {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
    padding: 1.2vw;
  }
  .c-serviceHeader__drawerInner {
    top: 12.8vw;
    padding: 4.8vw 4.2666666667vw 5.8666666667vw;
    max-height: calc(100vh - 12.8vw);
  }
  .c-serviceHeader__drawerList {
    gap: 2.6666666667vw;
  }
  .c-serviceHeader__drawerLink {
    font-size: 3.7333333333vw;
    padding: 2.6666666667vw 2.1333333333vw;
    border-radius: 2.6666666667vw;
  }
  .c-serviceHeader__drawerCta {
    margin-top: 3.7333333333vw;
  }
}
/* c-merpayFooter
---------------------------------------------------------------------------- */
.c-merpayFooter {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  background: #ffffff;
  color: #222222;
}

.c-merpayFooter a {
  color: inherit;
  text-decoration: none;
}

/* CTA */
.c-merpayFooter__ctaWrap,
.c-merpayCtaWrap {
  padding-top: 64px;
}

.c-merpayFooter__ctaInner,
.c-merpayCtaWrap__inner {
  max-width: 1440px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 120px;
  text-align: center;
}

.c-merpayCta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background: #ff0211;
  box-shadow: 0 0 8px rgba(168, 0, 10, 0.5);
  color: #ffffff;
}

.c-merpayCta--md .c-merpayCta__link {
  gap: 18px;
  width: 640px;
  height: 120px;
}

.c-merpayCta--sm .c-merpayCta__link {
  gap: 17px;
  width: 520px;
  height: 80px;
}

.c-merpayCta__icon {
  flex: 0 0 auto;
}

.c-merpayCta--md .c-merpayCta__icon {
  width: 72px;
  height: 72px;
}

.c-merpayCta--sm .c-merpayCta__icon {
  width: 56px;
  height: 56px;
}

.c-merpayCta__iconImg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}

.c-merpayCta__text {
  font-weight: 900;
  color: #ffffff;
}

.c-merpayCta--md .c-merpayCta__text {
  font-size: 24px;
  letter-spacing: -0.02em;
}

.c-merpayCta--sm .c-merpayCta__text {
  font-size: 20px;
}

.c-merpayCta__note {
  margin-top: 10px;
  font-size: 12px;
  line-height: 32px;
  text-align: center;
}

/* body */
.c-merpayFooter__body {
  margin-top: 64px;
  border-top: 1px solid rgba(34, 34, 34, 0.1);
}

.c-merpayFooter__bodyInner {
  max-width: 1440px;
  width: 100%;
  margin-inline: auto;
  padding: 56px 120px 48px;
}

.c-merpayFooter__topNav {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 56px;
}

.c-merpayFooter__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
}

.c-merpayFooter__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 28px;
}

.c-merpayFooter__brandImg {
  display: block;
  width: 137.002px;
  height: auto;
}

.c-merpayFooter__nav {
  margin-top: 0;
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 0.9fr 1.2fr 0.9fr 1.2fr;
  gap: 28px 32px;
  flex: 1;
  min-width: 0;
}

.c-merpayFooter__groupTitle {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.c-merpayFooter__groupList {
  margin-top: 12px;
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.c-merpayFooter__groupLink {
  font-size: 12px;
  line-height: 28px;
}

.c-merpayFooter__group--sp {
  display: none;
}

.c-merpayFooter__legalRow {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  font-size: 12px;
}

.c-merpayFooter__legalRow + .c-merpayFooter__legalRow {
  margin-top: 10px;
}

.c-merpayFooter__legalLink {
  white-space: nowrap;
}

.c-merpayFooter__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  padding-top: 37px;
  margin-top: 37px;
}

.c-merpayFooter__corpLogo {
  display: block;
  width: 139px;
  height: auto;
}

.c-merpayFooter__corpCopy {
  margin-top: 10px;
  font-size: 12px;
}

.c-merpayFooter__toTop {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #222222;
}

.c-merpayFooter__toTopImg {
  display: block;
  width: 20.87px;
  height: 100%;
  position: relative;
  top: 4px;
}

/* SP */
@media screen and (max-width: 768px) {
  .c-merpayFooter__ctaWrap,
  .c-merpayCtaWrap {
    padding-top: 10.6666666667vw;
  }
  .c-merpayFooter__ctaInner,
  .c-merpayCtaWrap__inner {
    padding-inline: 6.4vw;
  }
  .c-merpayCta--md .c-merpayCta__link,
  .c-merpayCta--sm .c-merpayCta__link {
    width: 100%;
    border-radius: 13.3333333333vw;
    gap: 3.2vw;
    height: 21.3333333333vw;
  }
  .c-merpayCta--md .c-merpayCta__icon,
  .c-merpayCta--sm .c-merpayCta__icon {
    width: 11.7333333333vw;
    height: 11.7333333333vw;
  }
  .c-merpayCta__iconImg {
    border-radius: 3.2vw;
  }
  .c-merpayCta--md .c-merpayCta__text,
  .c-merpayCta--sm .c-merpayCta__text {
    font-size: 4.2666666667vw;
    line-height: 6.4vw;
  }
  .c-merpayCta__note {
    margin-top: 2.1333333333vw;
    font-size: 2.6666666667vw;
    line-height: 6.4vw;
    text-align: center;
  }
  .c-merpayFooter__topNav {
    display: block;
  }
  .c-merpayFooter__bodyInner {
    padding: 17.0666666667vw 6.4vw 12.8vw;
  }
  .c-merpayFooter__top {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 6.4vw;
  }
  .c-merpayFooter__brandImg {
    width: 26.6666666667vw;
  }
  .c-merpayFooter__nav {
    margin-top: 7.4666666667vw;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .c-merpayFooter__group--pc {
    display: none;
  }
  .c-merpayFooter__group--sp {
    display: block;
    border-top: 1px solid rgba(34, 34, 34, 0.1);
  }
  .c-merpayFooter__group--sp:last-child {
    border-bottom: 1px solid rgba(34, 34, 34, 0.1);
  }
  .c-merpayFooter__details {
    padding: 0;
  }
  .c-merpayFooter__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4.2666666667vw 0;
    font-size: 3.2vw;
    font-weight: 500;
    list-style: none;
    cursor: pointer;
  }
  .c-merpayFooter__detailsPanel {
    overflow: hidden;
    height: 0;
    transition: height 0.24s ease;
  }
  button.c-merpayFooter__summary {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
  }
  .c-merpayFooter__summary::-webkit-details-marker {
    display: none;
  }
  .c-merpayFooter__plus {
    position: relative;
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  .c-merpayFooter__plus::before,
  .c-merpayFooter__plus::after {
    content: "";
    position: absolute;
    inset: 50% 0 auto 0;
    height: 0.2666666667vw;
    background: #222222;
    transform: translateY(-50%);
  }
  .c-merpayFooter__plus::after {
    inset: 0 50% 0 auto;
    width: 0.2666666667vw;
    height: 4.2666666667vw;
    transform: translateX(50%);
  }
  details[open] .c-merpayFooter__plus::after {
    display: none;
  }
  .c-merpayFooter__details.is-open .c-merpayFooter__plus::after {
    display: none;
  }
  .c-merpayFooter__summary--link .c-merpayFooter__plus {
    display: none;
  }
  .c-merpayFooter__groupList {
    margin: 0 0 3.2vw 3.2vw;
    gap: 0;
  }
  .c-merpayFooter__groupLink {
    font-size: 2.6666666667vw;
    line-height: 8vw;
    white-space: nowrap;
  }
  .c-merpayFooter__legal {
    margin-top: 6.4vw;
    padding-top: 0;
    border-top: none;
    position: absolute;
  }
  .c-merpayFooter__legalRow {
    gap: 4.2666666667vw 5.3333333333vw;
    font-size: 2.6666666667vw;
  }
  .c-merpayFooter__bottom {
    margin-top: 0;
    align-items: center;
    padding-top: 6.6666666667vw;
    border: none;
  }
  .c-merpayFooter__corp {
    position: relative;
    top: 21.3333333333vw;
  }
  .c-merpayFooter__corpLogo {
    width: 26.6666666667vw;
  }
  .c-merpayFooter__corpCopy {
    font-size: 2.6666666667vw;
  }
  .c-merpayFooter__toTop {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    position: relative;
    top: 21.3333333333vw;
  }
  .c-merpayFooter__toTopImg {
    width: 5.5653333333vw;
    top: 1.0666666667vw;
  }
}
/* c-socialLinks
---------------------------------------------------------------------------- */
.c-socialLinks {
  display: flex;
  gap: 8px;
}

.c-socialBtn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #222222;
}

.c-socialBtn__img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-socialBtn__img--x {
  width: 14.815px;
  height: 100%;
}

.c-socialBtn__img--facebook {
  width: 11.05px;
  height: 100%;
}

.c-socialBtn__img--share {
  width: 16px;
  height: 100%;
}

.c-socialBtn__img--line {
  width: 34px;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .c-socialBtn__img--x {
    width: 3.9506666667vw;
  }
  .c-socialBtn__img--facebook {
    width: 2.4vw;
  }
  .c-socialBtn__img--share {
    width: 3.7333333333vw;
  }
  .c-socialBtn__img--line {
    width: 7.4666666667vw;
  }
  .c-socialLinks {
    gap: 2.1333333333vw;
  }
  .c-socialBtn {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
/* c-marquee (infinite horizontal scroll)
---------------------------------------------------------------------------- */
.c-marquee {
  --marquee-duration: 28s;
  position: relative;
  height: 480px;
}

.c-marquee__overlay {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  min-width: 1440px;
  z-index: 2;
  height: 100%;
  pointer-events: none;
}

.c-marquee__overlayImg {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 550px;
}

.c-marquee__viewport {
  overflow: hidden;
  height: 100%;
}

.c-marquee__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: c-marquee-scroll var(--marquee-duration) linear infinite;
}

.c-marquee__set {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-inline: 0;
  padding-right: 16px;
}

.c-marquee__item {
  --item-w: var(--item-w-pc);
  --item-h: var(--item-h-pc);
  width: calc(var(--item-w) * 1px);
  height: calc(var(--item-h) * 1px);
  border-radius: 10px;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(34, 34, 34, 0.06);
}

.c-marquee__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-marquee__stack {
  --stack-gap: var(--stack-gap-pc, 16);
  --stack-w: var(--stack-w-pc, 338);
  width: calc(var(--stack-w) * 1px);
  display: grid;
  gap: calc(var(--stack-gap) * 1px);
  flex: 0 0 auto;
}

.c-marquee__stack .c-marquee__item {
  width: 100%;
}

@keyframes c-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-marquee__track {
    animation: none;
  }
}
@media screen and (max-width: 768px) {
  .c-marquee {
    height: 64vw;
  }
  .c-marquee__overlay {
    width: 100%;
    min-width: initial;
    top: 0;
  }
  .c-marquee__overlayImg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 86.6666666667vw;
  }
  .c-marquee__item {
    --item-w: var(--item-w-sp);
    --item-h: var(--item-h-sp);
    height: 64vw;
    width: auto;
    aspect-ratio: var(--item-w)/var(--item-h);
  }
  .c-marquee__set {
    gap: 3.2vw;
    padding-right: 3.2vw;
  }
  .c-marquee__item {
    border-radius: 1.6vw;
  }
  .c-marquee__stack {
    --stack-gap: var(--stack-gap-sp, 12);
    --stack-w: var(--stack-w-sp, 166);
    height: 100%;
    width: 44.2666666667vw;
    gap: 3.2vw;
  }
  .c-marquee__stack .c-marquee__item {
    width: 100%;
    height: 30.4vw;
  }
}
/* c-featureCard
---------------------------------------------------------------------------- */
.c-featureCard {
  max-width: 384px;
}

.c-featureCard__visual {
  width: 100%;
}

.c-featureCard__visualImg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}

.c-featureCard__body {
  margin-top: 24px;
}

.c-featureCard__title {
  margin: 0;
  font-weight: 900;
  font-size: 24px;
  line-height: normal;
  color: #222222;
}

.c-featureCard__text {
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

.c-featureCard__note {
  margin: 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-featureCard {
    max-width: 87.2vw;
  }
  .c-featureCard__body {
    margin-top: 4.2666666667vw;
  }
  .c-featureCard__visualImg {
    border-radius: 2.6666666667vw;
  }
  .c-featureCard__title {
    font-size: 4.8vw;
  }
  .c-featureCard__text {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  .c-featureCard__note {
    font-size: 2.6666666667vw;
    line-height: 1.6;
  }
}
/* c-mercardFeaturePanel
---------------------------------------------------------------------------- */
.c-mercardFeaturePanel {
  position: relative;
  margin: 0;
  border-radius: 10px;
  background: #f6f6f6;
}

.c-mercardFeaturePanel__badge {
  position: absolute;
  inset: 0 auto auto 0;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background-image: url("../img/merpay/badge.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.c-mercardFeaturePanel__badgeText {
  font-weight: 900;
  font-size: 18px;
  line-height: 1.448;
  color: #ffffff;
  transform: rotate(-45deg);
  position: relative;
  top: -13px;
  left: -13px;
}

.c-mercardFeaturePanel__body {
  padding: 48px 60px 55px;
}

.c-mercardFeaturePanel__title {
  margin: 0;
  font-weight: 900;
  font-size: 28px;
  line-height: 1.448;
  color: #222222;
  text-align: center;
  margin-bottom: 40px;
}

.c-mercardFeaturePanel__text {
  margin: 16px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-mercardFeaturePanel {
    width: 87.2vw;
    border-radius: 2.6666666667vw;
  }
  .c-mercardFeaturePanel__badge {
    width: 17.0666666667vw;
    height: 17.0666666667vw;
    border-radius: 2.6666666667vw 0 0 0;
  }
  .c-mercardFeaturePanel__badgeText {
    font-size: 3.2vw;
    top: -2.6666666667vw;
    left: -2.6666666667vw;
  }
  .c-mercardFeaturePanel__body {
    padding: 8.5333333333vw 6.4vw 6.4vw;
  }
  .c-mercardFeaturePanel__title {
    font-size: 5.3333333333vw;
    line-height: 1.4;
    margin-bottom: 6.4vw;
  }
  .c-mercardFeaturePanel__text {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
/* c-mercardFeatureMediaText
---------------------------------------------------------------------------- */
.c-mercardFeatureMediaText {
  text-align: center;
}

.c-mercardFeatureMediaTextGroup {
  display: flex;
  gap: 48px;
}

.c-mercardFeatureMediaTextGroup > .c-mercardFeatureMediaText {
  flex: 1 1 0;
}

.c-mercardFeatureMediaText__inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.c-mercardFeatureMediaText__content {
  flex: 1 1 auto;
}

.c-mercardFeatureMediaText__visual {
  flex: 0 0 50%;
  display: grid;
  place-items: center;
  width: 260px;
  margin: 0 auto;
}

.c-mercardFeatureMediaText__visualImg {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}

.c-mercardFeatureMediaText__title {
  margin: 24px 0 0;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.4;
  color: #222222;
}

.c-mercardFeatureMediaText__text {
  margin: 30px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  text-align: left;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-mercardFeatureMediaTextGroup {
    flex-direction: column;
    gap: 10.6666666667vw;
  }
  .c-mercardFeatureMediaText__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 4.2666666667vw;
  }
  .c-mercardFeatureMediaText__visual {
    flex: 0 0 auto;
    width: 58.6666666667vw;
  }
  .c-mercardFeatureMediaText__title {
    margin-top: 6.4vw;
    font-size: 4.2666666667vw;
    line-height: 1.4;
  }
  .c-mercardFeatureMediaText__text {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}
/* c-mercardFeaturePointBonus
---------------------------------------------------------------------------- */
.c-mercardFeaturePointBonus {
  margin-top: 40px;
}

.c-mercardFeaturePointBonus__em {
  color: #ff0211;
}

.c-mercardFeaturePointBonus__emNum {
  font-size: 32px;
}

.c-mercardFeaturePointBonus__emText {
  font-size: 24px;
}

.c-mercardFeaturePointBonus__top {
  display: flex;
  gap: 40px;
}

.c-mercardFeaturePointBonus__card {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}

.c-mercardFeaturePointBonus__card--sm {
  flex: 1;
  min-height: 120px;
  padding: 24px 24px;
}

.c-mercardFeaturePointBonus__cardTitle {
  margin: 0;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.25;
  color: #222222;
}

.c-mercardFeaturePointBonus__pointIcon {
  width: 48px;
  height: 48px;
}

.c-mercardFeaturePointBonus__plus {
  width: 64px;
  height: 64px;
  margin: 0 auto 0;
  position: relative;
  top: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
}

.c-mercardFeaturePointBonus__card--lg {
  margin-top: -12px;
  padding: 40px;
  flex-direction: column;
  gap: 24px;
}

.c-mercardFeaturePointBonus__bonusTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.c-mercardFeaturePointBonus__bonusTitleText {
  margin: 0;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.25;
  color: #222222;
}

.c-mercardFeaturePointBonus__divider {
  width: 100%;
  height: 1px;
  background: #e2e2e2;
}

.c-mercardFeaturePointBonus__bonusBody {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  width: 100%;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
  padding: 24px 0;
}

.c-mercardFeaturePointBonus__bonusItems {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.c-mercardFeaturePointBonus__bonusItem {
  display: grid;
  justify-items: center;
  gap: 5px;
}

.c-mercardFeaturePointBonus__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 16px;
  border-radius: 100px;
  background: #222222;
  color: #ffffff;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
}

.c-mercardFeaturePointBonus__bonusItemText {
  margin: 0;
  font-weight: 900;
  line-height: 1.2;
  color: #222222;
  text-align: center;
  white-space: nowrap;
}

.c-mercardFeaturePointBonus__bonusItemNum {
  font-size: 24px;
}

.c-mercardFeaturePointBonus__bonusItemTextUnit {
  font-size: 18px;
}

.c-mercardFeaturePointBonus__arrowIcon {
  width: 28px;
  height: auto;
}

.c-mercardFeaturePointBonus__bonusMax {
  text-align: center;
}

.c-mercardFeaturePointBonus__bonusMaxLead {
  margin: 0;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.2;
  color: #222222;
}

.c-mercardFeaturePointBonus__bonusMaxValue {
  margin: 0;
  font-weight: 900;
  font-size: 32px;
  line-height: 1.2;
}

.c-mercardFeaturePointBonus__description {
  margin: 24px 0 0;
  color: #222222;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}

.c-mercardFeaturePointBonus__more {
  margin-top: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #ff0211;
}

.c-mercardFeaturePointBonus__morePill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 24px;
  border-radius: 100px;
  border: 1px solid #ff0211;
  background: #ffffff;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.c-mercardFeaturePointBonus__moreText {
  margin: 0;
  font-weight: 900;
  font-size: 28px;
  line-height: 1.2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c-mercardFeaturePointBonus {
    margin-top: 6.4vw;
  }
  .c-mercardFeaturePointBonus__top {
    gap: 2.4vw;
  }
  .c-mercardFeaturePointBonus__card {
    justify-content: flex-start;
  }
  .c-mercardFeaturePointBonus__card--sm {
    min-height: 49.6vw;
    padding: 5.0666666667vw 3.4666666667vw 8.8vw;
    flex-direction: column;
    gap: 4.2666666667vw;
  }
  .c-mercardFeaturePointBonus__cardTitle {
    font-size: 4.2666666667vw;
    line-height: 1.5;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .c-mercardFeaturePointBonus__pointIcon {
    width: 11.7333333333vw;
    height: 11.7333333333vw;
  }
  .c-mercardFeaturePointBonus__plus {
    width: 12.8vw;
    height: 12.8vw;
    margin-top: -2.6666666667vw;
  }
  .c-mercardFeaturePointBonus__plusIcon {
    width: 100%;
    height: 100%;
    display: block;
  }
  .c-mercardFeaturePointBonus__card--lg {
    margin-top: -2.6666666667vw;
    padding: 11.7333333333vw 2.6666666667vw 8.5333333333vw;
    gap: 4.2666666667vw;
  }
  .c-mercardFeaturePointBonus__bonusTitle {
    flex-direction: column;
    gap: 3.2vw;
  }
  .c-mercardFeaturePointBonus__bonusTitleText {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 4.8vw;
    line-height: 1.4;
    text-align: center;
  }
  .c-mercardFeaturePointBonus__bonusBody {
    flex-direction: column;
    gap: 2.1333333333vw;
    padding: 4.2666666667vw 0;
  }
  .c-mercardFeaturePointBonus__bonusItems {
    flex-direction: column;
    gap: 2.1333333333vw;
    align-items: flex-start;
  }
  .c-mercardFeaturePointBonus__bonusItem {
    grid-template-columns: auto 1fr;
    justify-items: start;
    align-items: center;
    width: 100%;
    gap: 1.0666666667vw;
  }
  .c-mercardFeaturePointBonus__pill {
    width: 24.5333333333vw;
    height: 6.9333333333vw;
    padding: 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
  .c-mercardFeaturePointBonus__bonusItemText {
    line-height: 1.5;
    white-space: normal;
    text-align: left;
  }
  .c-mercardFeaturePointBonus__bonusItemNum {
    font-size: 5.3333333333vw;
  }
  .c-mercardFeaturePointBonus__bonusItemTextUnit {
    font-size: 3.7333333333vw;
  }
  .c-mercardFeaturePointBonus__emNum {
    font-size: 6.4vw;
  }
  .c-mercardFeaturePointBonus__emText {
    font-size: 4.8vw;
  }
  .c-mercardFeaturePointBonus__arrowIcon {
    width: 4.2666666667vw;
    transform: rotate(90deg);
    position: relative;
    top: -1.0666666667vw;
  }
  .c-mercardFeaturePointBonus__bonusMaxLead {
    font-size: 4.8vw;
  }
  .c-mercardFeaturePointBonus__bonusMaxValue {
    font-size: 6.4vw;
  }
  .c-mercardFeaturePointBonus__more {
    margin-top: 6.4vw;
    flex-direction: column;
    gap: 3.2vw;
  }
  .c-mercardFeaturePointBonus__morePill {
    height: 8.5333333333vw;
    padding: 0 6.4vw;
    font-size: 3.7333333333vw;
  }
  .c-mercardFeaturePointBonus__moreText {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
  .c-mercardFeaturePointBonus__description {
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-mercardQuickNav {
  display: block;
  width: 600px;
  height: 50px;
  margin: 0 auto 0;
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 100px;
}

.c-mercardQuickNav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-mercardQuickNav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  color: #000000;
  text-decoration: none;
  transition: opacity ease-in-out 0.2s;
}

.c-mercardQuickNav__link:hover {
  opacity: 0.7;
}

.c-mercardQuickNav__icon {
  display: block;
  flex: 0 0 auto;
}

.c-mercardQuickNav__text {
  display: block;
}

@media screen and (max-width: 768px) {
  .c-mercardQuickNav {
    height: initial;
    width: 100%;
    border-radius: 26.6666666667vw;
    margin: 0 auto 0;
  }
  .c-mercardQuickNav__list {
    gap: 4.2666666667vw;
    padding: 1.8666666667vw 0;
  }
  .c-mercardQuickNav__link {
    gap: 1.0666666667vw;
    font-size: 3.2vw;
    flex-direction: column;
  }
}
/* c-mercardIssueSteps
---------------------------------------------------------------------------- */
.c-mercardIssueSteps {
  margin: 0;
}

.c-mercardIssueSteps__list {
  position: relative;
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-mercardIssueSteps__item {
  position: relative;
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 40px;
  padding: 33px 48px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}

.c-mercardIssueSteps__list::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 60px;
  top: 48px;
  bottom: 48px;
  width: 2px;
  background: #222222;
  opacity: 1;
  left: 105px;
  height: calc(100% - 200px);
  z-index: 1;
}

.c-mercardIssueSteps__stepper {
  position: relative;
  display: grid;
  place-items: start center;
  align-items: center;
}

.c-mercardIssueSteps__stepCircle {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #222222;
  z-index: 2;
}

.c-mercardIssueSteps__stepText {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.171875;
  letter-spacing: 0.06em;
  color: #ffffff;
}

.c-mercardIssueSteps__stepNum {
  display: inline;
}

.c-mercardIssueSteps__body {
  display: grid;
  grid-template-columns: 72px 1fr;
  column-gap: 44px;
  align-items: center;
  min-width: 0;
}

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

.c-mercardIssueSteps__title {
  margin: 0;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.4166666667;
  color: #222222;
}

.c-mercardIssueSteps__pcIcon {
  flex: none;
}

.c-mercardIssueSteps__pcIconImg {
  width: 72px;
  height: auto;
  display: block;
}

.c-mercardIssueSteps__spTitleIcon {
  display: none;
  width: 72px;
  height: auto;
  margin-right: 16px;
  vertical-align: middle;
}

.c-mercardIssueSteps__titleText {
  vertical-align: middle;
}

.c-mercardIssueSteps__text,
.c-mercardIssueSteps__note {
  min-width: 0;
}

.c-mercardIssueSteps__text {
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

.c-mercardIssueSteps__note {
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.8333333333;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-mercardIssueSteps {
    width: 87.2vw;
  }
  .c-mercardIssueSteps__list {
    gap: 4.2666666667vw;
  }
  .c-mercardIssueSteps__item {
    grid-template-columns: 14.9333333333vw 1fr;
    column-gap: 3.7333333333vw;
    padding: 6.4vw;
    border-radius: 2.6666666667vw;
  }
  .c-mercardIssueSteps__stepper {
    align-items: flex-start;
  }
  .c-mercardIssueSteps__body {
    display: block;
    min-width: 0;
  }
  .c-mercardIssueSteps__content {
    min-width: 0;
  }
  .c-mercardIssueSteps__list::before {
    inset: 0 auto 0 7.4666666667vw;
    top: 7.4666666667vw;
    bottom: 7.4666666667vw;
    width: 1px;
    left: 13.6vw;
    height: calc(100% - 80vw);
    z-index: 1;
  }
  .c-mercardIssueSteps__stepCircle {
    width: 14.9333333333vw;
    height: 14.9333333333vw;
  }
  .c-mercardIssueSteps__stepText {
    font-size: 3.7333333333vw;
    text-align: center;
  }
  .c-mercardIssueSteps__stepNum {
    display: block;
  }
  .c-mercardIssueSteps__pcIcon {
    display: none;
  }
  .c-mercardIssueSteps__spTitleIcon {
    display: inline-block;
    width: 9.6vw;
    margin-right: 3.2vw;
  }
  .c-mercardIssueSteps__title {
    font-size: 4.8vw;
    line-height: 1.3333333333;
  }
  .c-mercardIssueSteps__text {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  .c-mercardIssueSteps__note {
    margin-top: 2.1333333333vw;
    font-size: 3.2vw;
    line-height: 1.8333333333;
  }
}
/* c-mercardPaymentStyle
---------------------------------------------------------------------------- */
.c-mercardPaymentStyle {
  width: 100%;
}
.c-mercardPaymentStyle__inner {
  display: flex;
  align-items: center;
  gap: 88px;
  padding: 0 40px;
}
.c-mercardPaymentStyle__copy {
  width: 308px;
  color: #ffffff;
}
.c-mercardPaymentStyle__title {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.448;
}
.c-mercardPaymentStyle__note {
  margin-top: 21px;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8333333333;
}
.c-mercardPaymentStyle__list {
  width: 720px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.c-mercardPaymentStyle__item {
  width: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}
.c-mercardPaymentStyle__circle {
  width: 220px;
  height: 220px;
  display: block;
}
.c-mercardPaymentStyle__img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 768px) {
  .c-mercardPaymentStyle__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 4.8vw;
    padding: 0;
  }
  .c-mercardPaymentStyle__copy {
    width: 100%;
    text-align: center;
  }
  .c-mercardPaymentStyle__title {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
  .c-mercardPaymentStyle__note {
    margin-top: 2.6666666667vw;
    font-size: 3.2vw;
    line-height: 1.8333333333;
  }
  .c-mercardPaymentStyle__list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 40vw);
    justify-content: center;
    column-gap: 4.2666666667vw;
    row-gap: 0vw;
  }
  .c-mercardPaymentStyle__item {
    width: 40vw;
    gap: 2.1333333333vw;
  }
  .c-mercardPaymentStyle__item--touch {
    grid-column: 1/-1;
    justify-self: center;
  }
  .c-mercardPaymentStyle__circle {
    width: 40vw;
    height: 40vw;
  }
}
/* c-mercardGoldSummary
---------------------------------------------------------------------------- */
.c-mercardGoldSummary {
  width: 100%;
  color: #222222;
}
.c-mercardGoldSummary__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.c-mercardGoldSummary__listDl {
  margin: 0;
  padding: 0;
}
.c-mercardGoldSummary__row {
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid rgba(34, 34, 34, 0.1);
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 24px;
  align-items: start;
}
.c-mercardGoldSummary__row:last-child {
  border-bottom: 1px solid rgba(34, 34, 34, 0.1);
}
.c-mercardGoldSummary__term {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.448;
  color: #ff0211;
}
.c-mercardGoldSummary__desc {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  color: #222222;
}
.c-mercardGoldSummary__note {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.8333333333;
  color: #222222;
  opacity: 0.7;
}
.c-mercardGoldSummary__sub {
  margin-top: 0;
}
.c-mercardGoldSummary__subTerm {
  margin: 16px 0 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 2;
  color: #222222;
}
.c-mercardGoldSummary__subValue {
  margin: 0;
}
.c-mercardGoldSummary__list {
  margin: 8px 0 0;
  padding-left: 1.2em;
}

@media screen and (max-width: 768px) {
  .c-mercardGoldSummary__grid {
    grid-template-columns: 1fr;
    gap: 0vw;
  }
  .c-mercardGoldSummary__row {
    padding: 4.2666666667vw 0;
    display: block;
  }
  .c-mercardGoldSummary__term {
    font-size: 3.7333333333vw;
    line-height: 1.2857142857;
  }
  .c-mercardGoldSummary__desc {
    font-size: 3.7333333333vw;
    line-height: 2;
    margin-top: 2.1333333333vw;
  }
  .c-mercardGoldSummary__note {
    font-size: 3.2vw;
    line-height: 1.8333333333;
  }
  .c-mercardGoldSummary__subTerm {
    font-size: 3.7333333333vw;
  }
}
/* c-mercardCampaignPeriod
---------------------------------------------------------------------------- */
.c-mercardCampaignPeriod {
  width: 100%;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #000;
  border-radius: 100px;
}

.c-mercardCampaignPeriod__text {
  margin: 0;
  color: #000;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 28px;
}

@media screen and (max-width: 768px) {
  .c-mercardCampaignPeriod {
    height: 8.5333333333vw;
  }
  .c-mercardCampaignPeriod__text {
    font-size: 3.7333333333vw;
    line-height: 7.4666666667vw;
  }
}
/* c-mercardHeroBadges
---------------------------------------------------------------------------- */
.c-mercardHeroBadges {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.c-mercardHeroBadges__item {
  width: 175px;
  height: 175px;
  padding: 28px 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: #ffffff;
  border: 1px solid #ff0211;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.c-mercardHeroBadges__label {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 20px;
  color: #212121;
}

.c-mercardHeroBadges__value {
  margin: 16px 0 0;
  color: #ff0211;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.c-mercardHeroBadges__value--free {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 32px;
  line-height: 1.1;
}

.c-mercardHeroBadges__valueNum,
.c-mercardHeroBadges__valueUnit {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
}

.c-mercardHeroBadges__valueSuffix {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
}

.c-mercardHeroBadges__note {
  margin: 12px 0 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-mercardHeroBadges {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 40vw);
    grid-template-areas: "fee four" "one one";
    justify-content: center;
    column-gap: 4.2666666667vw;
    row-gap: 0vw;
  }
  .c-mercardHeroBadges__item--fee {
    grid-area: fee;
  }
  .c-mercardHeroBadges__item--four {
    grid-area: four;
  }
  .c-mercardHeroBadges__item--one {
    grid-area: one;
  }
  .c-mercardHeroBadges__item {
    width: 40vw;
    height: 40vw;
    padding: 6.4vw 3.2vw 4.2666666667vw;
  }
  .c-mercardHeroBadges__label {
    font-size: 3.7333333333vw;
    line-height: 4.8vw;
  }
  .c-mercardHeroBadges__value {
    margin-top: 3.2vw;
  }
  .c-mercardHeroBadges__value--free {
    font-size: 6.4vw;
  }
  .c-mercardHeroBadges__valueNum,
  .c-mercardHeroBadges__valueUnit {
    font-size: 8.5333333333vw;
  }
  .c-mercardHeroBadges__valueSuffix {
    font-size: 6.4vw;
  }
  .c-mercardHeroBadges__note {
    font-size: 2.6666666667vw;
    line-height: 3.7333333333vw;
  }
  .c-mercardHeroBadges__item--one {
    justify-self: center;
  }
}
/* c-mercardSeriesCards
---------------------------------------------------------------------------- */
.c-mercardSeriesCards__list {
  display: flex;
  gap: 40px;
}

.c-mercardSeriesCards__card {
  width: 580px;
  margin: 0;
}

.c-mercardSeriesCards__card--mercard {
  --name-rule-w: 154px;
}

.c-mercardSeriesCards__card--mercard .c-mercardFeaturePointBonus__card--sm {
  flex: initial;
}

.c-mercardSeriesCards__card--gold {
  --name-rule-w: 266px;
}

.c-mercardSeriesCards__body {
  padding: 48px 50px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.c-mercardSeriesCards__head {
  text-align: center;
}

.c-mercardSeriesCards__name {
  margin: 0;
  padding: 12px 0;
  position: relative;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  color: #ff0211;
}

.c-mercardSeriesCards__name::before,
.c-mercardSeriesCards__name::after {
  content: "";
  position: absolute;
  left: 50%;
  width: var(--name-rule-w);
  height: 1px;
  background: #ff0211;
  transform: translateX(-50%);
}

.c-mercardSeriesCards__name::before {
  top: 0;
}

.c-mercardSeriesCards__name::after {
  bottom: 0;
}

.c-mercardSeriesCards__fee {
  margin: 24px 0 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
  color: #212121;
}

.c-mercardSeriesCards__feeNote {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 32px;
  color: #222222;
}

.c-mercardSeriesCards__visual {
  margin-top: 40px;
  min-height: 210px;
  display: grid;
  place-items: center;
}

.c-mercardSeriesCards__card--gold .c-mercardSeriesCards__visual {
  margin-top: 5px;
}

.c-mercardSeriesCards__standardImg {
  width: 480px;
  height: auto;
  display: block;
}

.c-mercardSeriesCards__goldImg {
  width: 301px;
  height: auto;
  display: block;
}

.c-mercardSeriesCards__info {
  position: relative;
  width: 480px;
  margin-top: auto;
  padding: 28px 40px 32px;
  min-height: auto;
  display: flex;
  flex-direction: column;
}

.c-mercardSeriesCards__card--mercard .c-mercardSeriesCards__info {
  min-height: 220px;
}

.c-mercardSeriesCards__card--gold .c-mercardSeriesCards__info {
  padding: 50px 40px 32px;
}

.c-mercardSeriesCards__card--gold .c-mercardFeaturePointBonus__card--sm {
  margin-top: 50px;
}

.c-mercardSeriesCards__goldPill {
  width: 400px;
  height: 50px;
  margin: 0 auto 24px;
  display: grid;
  place-items: center;
  border: 1px solid #222222;
  border-radius: 100px;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 28px;
  color: #222222;
  text-align: center;
  white-space: pre-line;
  position: absolute;
  top: -30px;
  background: white;
}

.c-mercardSeriesCards__rate {
  display: flex;
  align-items: center;
  gap: 20px;
}

.c-mercardSeriesCards__rateIcon {
  width: 64px;
  height: 64px;
  display: block;
  flex: 0 0 auto;
}

.c-mercardSeriesCards__rateText {
  flex: 1 1 auto;
}

.c-mercardSeriesCards__rateTitle {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  color: #212121;
}

.c-mercardSeriesCards__card--mercard .c-mercardSeriesCards__rateTitle {
  font-size: 24px;
  font-weight: 900;
}

.c-mercardSeriesCards__rateValue {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #212121;
}

.c-mercardSeriesCards__rateValueLabel {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  color: #212121;
}

.c-mercardSeriesCards__rateValueNum,
.c-mercardSeriesCards__rateValueUnit {
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
  color: #ff0211;
}

.c-mercardSeriesCards__rateNote {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 32px;
  color: #222222;
}

.c-mercardSeriesCards__divider {
  margin: 24px 0;
  height: 1px;
  background: #d9d9d9;
  width: 100%;
}

.c-mercardSeriesCards__perksTitle {
  margin: 0;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
  color: #212121;
}

.c-mercardSeriesCards__perksText {
  margin: 16px 0 0;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  color: #212121;
}

.c-mercardSeriesCards__cta {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.c-mercardSeriesCards__ctaInner {
  width: 360px;
}

.c-mercardSeriesCards__ctaBtn {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-mercardSeriesCards__list {
    flex-direction: column;
    gap: 6.4vw;
  }
  .c-mercardSeriesCards__card {
    width: 87.2vw;
  }
  .c-mercardSeriesCards__card--mercard {
    --name-rule-w: 30.4vw;
  }
  .c-mercardSeriesCards__card--gold {
    --name-rule-w: 52.2666666667vw;
  }
  .c-mercardSeriesCards__name {
    padding: 3.2vw 0;
    font-size: 5.3333333333vw;
  }
  .c-mercardSeriesCards__fee {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 8.5333333333vw;
  }
  .c-mercardSeriesCards__feeNote {
    font-size: 2.6666666667vw;
    line-height: 8.5333333333vw;
  }
  .c-mercardSeriesCards__visual {
    margin-top: 6.4vw;
    min-height: unset;
  }
  .c-mercardSeriesCards__standardImg {
    width: 74.4vw;
  }
  .c-mercardSeriesCards__goldImg {
    width: 61.6vw;
  }
  .c-mercardSeriesCards__info {
    width: 100%;
    margin-top: 6.4vw;
    padding: 5.3333333333vw 6.4vw 6.4vw;
  }
  .c-mercardSeriesCards__card--gold .c-mercardSeriesCards__info {
    padding: 13.3333333333vw 2.6666666667vw 6.4vw;
  }
  .c-mercardSeriesCards__card--gold .c-mercardFeaturePointBonus__card--sm {
    margin-top: 13.3333333333vw;
  }
  .c-mercardSeriesCards__card--mercard .c-mercardSeriesCards__info {
    min-height: inherit;
  }
  .c-mercardSeriesCards__card--mercard .c-mercardFeaturePointBonus__card--sm {
    flex: initial;
  }
  .c-mercardSeriesCards__goldPill {
    width: 53.3333333333vw;
    height: 16vw;
    margin-bottom: 5.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 5.8666666667vw;
    top: -8vw;
  }
  .c-mercardSeriesCards__rate {
    gap: 2.4vw;
  }
  .c-mercardSeriesCards__rateIcon {
    width: 11.7333333333vw;
    height: 11.7333333333vw;
  }
  .c-mercardSeriesCards__rateTitle {
    font-size: 3.7333333333vw;
    line-height: 6.4vw;
  }
  .c-mercardSeriesCards__card--mercard .c-mercardSeriesCards__rateTitle {
    font-size: 4.8vw;
  }
  .c-mercardSeriesCards__rateValue {
    align-items: center;
  }
  .c-mercardSeriesCards__rateValueLabel {
    font-size: 4.8vw;
  }
  .c-mercardSeriesCards__rateValueNum,
  .c-mercardSeriesCards__rateValueUnit {
    font-size: 6.4vw;
  }
  .c-mercardSeriesCards__rateNote {
    font-size: 3.2vw;
    line-height: 5.8666666667vw;
  }
  .c-mercardSeriesCards__divider {
    margin: 0;
  }
  .c-mercardSeriesCards__perksTitle {
    font-size: 4.2666666667vw;
  }
  .c-mercardSeriesCards__perksText {
    font-size: 3.7333333333vw;
    line-height: 6.4vw;
  }
  .c-mercardSeriesCards__cta {
    margin-top: 6.4vw;
  }
  .c-mercardSeriesCards__ctaInner {
    width: 100%;
  }
}
/* c-image
---------------------------------------------------------------------------- */
.c-image {
  width: 100%;
}

.c-image--single {
  max-width: 800px;
}

.c-image--pair {
  display: flex;
  gap: 40px;
  max-width: 800px;
}

.c-image__item {
  width: calc((100% - 40px) / 2);
}

.c-image__img {
  display: block;
  width: 100%;
  height: auto;
}

.c-image__img--single {
  border-radius: 10px;
}

.c-image__img--pair {
  border-radius: 6px;
}

/* Column detail: 旧 p-column-detail__image / __imagePair の見た目（固定高 + cover）を維持 */
.c-image--columnDetail.c-image--single {
  height: 528px;
  background: #ebebeb;
}

.c-image--columnDetail.c-image--single .c-image__img--single {
  height: 100%;
  object-fit: cover;
}

.c-image--columnDetail.c-image--pair .c-image__item {
  height: 251px;
  background: #ebebeb;
}

.c-image--columnDetail.c-image--pair .c-image__img--pair {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .c-image--single {
    max-width: 87.2vw;
  }
  .c-image--pair {
    gap: 4vw;
    max-width: 87.2vw;
  }
  .c-image__item {
    width: calc((100% - 4vw) / 2);
  }
  .c-image__img--single {
    border-radius: 2.6666666667vw;
  }
  .c-image__img--pair {
    border-radius: 1.6vw;
  }
  .c-image--columnDetail.c-image--single {
    height: 57.6vw;
  }
  .c-image--columnDetail.c-image--pair .c-image__item {
    height: 27.4666666667vw;
  }
}
/* c-articleMeta
---------------------------------------------------------------------------- */
.c-articleMeta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.c-articleMeta__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 8px;
  border-radius: 100px;
  border: 1px solid #d9d9d9;
  background: #ffffff;
}

.c-articleMeta__categoryText {
  display: block;
  font-weight: 500;
  font-size: 14px;
  line-height: normal;
  color: #222222;
}

.c-articleMeta__date {
  display: block;
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 14px;
  line-height: normal;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .c-articleMeta__category {
    height: auto;
    padding: 1.0666666667vw 2.1333333333vw;
    border-radius: 16vw;
  }
  .c-articleMeta__categoryText {
    font-size: 2.6666666667vw;
  }
  .c-articleMeta__date {
    margin-top: 1.6vw;
    font-size: 2.6666666667vw;
  }
}
/* c-columnCard
---------------------------------------------------------------------------- */
.c-columnCard {
  display: block;
  max-width: 282px;
  text-decoration: none;
  color: inherit;
}

.c-columnCard__visual {
  width: 100%;
  padding: 5px 3px;
  border-radius: 10px;
}

.c-columnCard__visualImg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}

.c-columnCard__body {
  margin-top: 16px;
}

.c-columnCard__title {
  margin: 10px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  letter-spacing: -0.01em;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-columnCard {
    display: flex;
    gap: 4.2666666667vw;
    max-width: 87.2vw;
  }
  .c-columnCard__visual {
    flex: 0 0 41.6vw;
    padding: 0;
    border-radius: 1.6vw;
  }
  .c-columnCard__visualImg {
    border-radius: 1.6vw;
  }
  .c-columnCard__body {
    margin-top: 0;
  }
  .c-columnCard__title {
    margin-top: 1.6vw;
    font-size: 3.7333333333vw;
    line-height: 6.4vw;
    letter-spacing: 0;
  }
}
/* c-columnFilter
---------------------------------------------------------------------------- */
.c-columnFilter {
  display: flex;
  align-items: center;
  gap: 31px;
  background: #f6f6f6;
  border-radius: 10px;
  padding: 32px;
}

.c-columnFilter__head {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

.c-columnFilter__icon {
  width: 22px;
  height: 22px;
  display: block;
}

.c-columnFilter__title {
  font-weight: 900;
  font-size: 16px;
  line-height: 1.75;
  color: #000000;
}

.c-columnFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.c-columnFilter__item {
  margin: 0;
  padding: 0;
}

.c-columnFilter__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 100px;
  border: 1px solid #d9d9d9;
  background: #ffffff;
  padding: 10px 16px;
  height: 36px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  color: #000000;
  white-space: nowrap;
  cursor: pointer;
}

.c-columnFilter__chip.is-active {
  background: #ff0211;
  border-color: #ff0211;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .c-columnFilter {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.4666666667vw;
    border-radius: 2.6666666667vw;
    padding: 4.2666666667vw;
  }
  .c-columnFilter__head {
    gap: 1.0666666667vw;
  }
  .c-columnFilter__icon {
    width: 4.8vw;
    height: 4.8vw;
  }
  .c-columnFilter__title {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  .c-columnFilter__list {
    gap: 1.0666666667vw;
  }
  .c-columnFilter__chip {
    padding: 2.6666666667vw 1.8666666667vw;
    height: 8vw;
    font-size: 3.2vw;
    line-height: 1.448;
  }
}
/* c-citation
---------------------------------------------------------------------------- */
.c-citation {
  position: relative;
  border-radius: 10px;
  background: #f6f6f6;
  padding: 40px 40px 30px 80px;
  margin: 0;
}

.c-citation__icon {
  position: absolute;
  top: 32px;
  left: 32px;
  width: 24px;
  height: 24px;
  display: block;
}

.c-citation__text {
  margin: 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #888888;
}

.c-citation__source {
  margin-top: 5px;
  font-weight: 500;
  font-size: 12px;
  line-height: 2.6666666667;
  color: #888888;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .c-citation {
    border-radius: 2.6666666667vw;
    padding: 6.4vw 4.2666666667vw 5.3333333333vw 12vw;
  }
  .c-citation__icon {
    top: 6.4vw;
    left: 4.2666666667vw;
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  .c-citation__text {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  .c-citation__source {
    margin-top: 0.2666666667vw;
    font-size: 2.6666666667vw;
    line-height: 3.2;
  }
}
/* c-annotation
---------------------------------------------------------------------------- */
.c-annotation {
  color: #222222;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
}

.c-annotation--topMercard {
  margin: 24px auto 0;
  max-width: 600px;
  text-align: left;
}

.c-annotation__note {
  display: block;
  padding-left: 1em;
  text-indent: -2.3em;
  font-weight: 500;
  font-size: 12px;
  line-height: 22px;
}

.c-annotation__note + .c-annotation__note {
  margin-top: 6px;
}

@media screen and (max-width: 768px) {
  .c-annotation--topMercard {
    margin-top: 4.2666666667vw;
    max-width: 87.2vw;
  }
  .c-annotation__note {
    padding-left: 5.3333333333vw;
    text-indent: -5.3333333333vw;
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
  }
  .c-annotation__note + .c-annotation__note {
    margin-top: 1.0666666667vw;
  }
}
/* c-columnDetailHeading
---------------------------------------------------------------------------- */
.c-columnDetailHeading {
  --column-detail-heading-rule: #d9d9d9;
  --column-detail-heading-rule-thickness: 2px;
  --column-detail-heading-accent-width: 100px;
  --column-detail-heading-rule-gap: 16px;
  color: #222222;
}

.c-columnDetailHeading__title {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 900;
  line-height: 1.4;
  color: inherit;
}

.c-columnDetailHeading__rule {
  position: relative;
  width: 100%;
  height: var(--column-detail-heading-rule-thickness);
  margin-top: var(--column-detail-heading-rule-gap);
  background: var(--column-detail-heading-rule);
}

.c-columnDetailHeading__ruleAccent {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--column-detail-heading-accent-width);
  height: var(--column-detail-heading-rule-thickness);
  background: #ff0211;
}

.c-columnDetailHeading--lg .c-columnDetailHeading__title {
  font-size: 28px;
  line-height: 1.3571428571;
}

.c-columnDetailHeading--md .c-columnDetailHeading__title {
  font-size: 24px;
  line-height: 1.4166666667;
}

.c-columnDetailHeading--sm .c-columnDetailHeading__title {
  font-size: 20px;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .c-columnDetailHeading {
    --column-detail-heading-rule-thickness: 0.5333333333vw;
    --column-detail-heading-accent-width: 16vw;
    --column-detail-heading-rule-gap: 4.2666666667vw;
  }
  .c-columnDetailHeading--lg .c-columnDetailHeading__title {
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
  .c-columnDetailHeading--md .c-columnDetailHeading__title {
    font-size: 4.8vw;
    line-height: 1.4;
  }
  .c-columnDetailHeading--sm .c-columnDetailHeading__title {
    font-size: 4.2666666667vw;
    line-height: 1.4;
  }
}
/* c-columnDetailTextLink
---------------------------------------------------------------------------- */
.c-columnDetailTextLink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #222222;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity ease-in-out 0.2s;
}

.c-columnDetailTextLink:hover {
  opacity: 0.7;
}

.c-columnDetailTextLink__label {
  display: inline-block;
}

.c-columnDetailTextLink__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}

.c-columnDetailTextLink__iconImg {
  display: block;
  width: 22px;
  height: 22px;
}

@media screen and (max-width: 768px) {
  .c-columnDetailTextLink {
    gap: 1.6vw;
    font-size: 3.7333333333vw;
    text-underline-offset: 0.8vw;
  }
  .c-columnDetailTextLink__icon {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
  }
  .c-columnDetailTextLink__iconImg {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
  }
}
/* c-columnDetailText
---------------------------------------------------------------------------- */
.c-columnDetailText {
  margin: 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

.c-columnDetailText + .c-columnDetailText {
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  .c-columnDetailText {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
/* c-relatedLinksHeading
---------------------------------------------------------------------------- */
.c-relatedLinksHeading {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 900;
  font-size: 24px;
  line-height: 1.0833333333;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-relatedLinksHeading {
    font-size: 4.8vw;
    line-height: 1.3333333333;
  }
}
/* c-bulletListItem
---------------------------------------------------------------------------- */
.c-bulletListItem {
  display: flex;
  gap: 8px;
}

.c-bulletListItem__bullet {
  flex: 0 0 auto;
  font-weight: 900;
  font-size: 12px;
  line-height: 2.6666666667;
  color: #222222;
}

.c-bulletListItem__text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-bulletListItem__bullet {
    font-size: 2.1333333333vw;
    line-height: 3.5;
  }
  .c-bulletListItem__text {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
/* c-orderedListItem
---------------------------------------------------------------------------- */
.c-orderedListItem {
  display: flex;
  gap: 8px;
}

.c-orderedListItem__index {
  flex: 0 0 auto;
  font-weight: 900;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

.c-orderedListItem__text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}

@media screen and (max-width: 768px) {
  .c-orderedListItem__index,
  .c-orderedListItem__text {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
/* p-pageHero
---------------------------------------------------------------------------- */
.p-pageHero {
  padding-block: 58px 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: radial-gradient(900px 420px at 20% 10%, rgba(124, 58, 237, 0.22), transparent 55%), radial-gradient(900px 420px at 80% 20%, rgba(34, 211, 238, 0.16), transparent 55%);
}

.p-pageHero__cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.p-pageHero--case {
  background: radial-gradient(900px 420px at 20% 20%, rgba(244, 114, 182, 0.18), transparent 55%), radial-gradient(900px 420px at 80% 10%, rgba(34, 211, 238, 0.14), transparent 55%);
}

/* p-subHero
---------------------------------------------------------------------------- */
.p-subHero {
  position: relative;
  padding: 16px 0 48px;
  overflow: hidden;
}

.p-subHero__inner {
  position: relative;
  max-width: 1200px;
  margin-inline: auto;
  display: block;
}

.p-subHero__breadcrumb .c-breadcrumb {
  font-size: 12px;
  line-height: 28px;
  color: #888888;
}

.p-subHero__main {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.p-subHero__main--mercard {
  flex-direction: column;
}

.p-subHero__heading {
  margin-top: 39px;
}

.p-subHero__copy {
  margin: 24px 0 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 1.3333333333;
  color: #222222;
}

.p-subHero__illust {
  margin: 0;
  position: absolute;
  right: 90px;
  bottom: -48px;
  flex: 0 0 auto;
  width: 437px;
}

.p-subHero__illustImg {
  display: block;
  width: 100%;
  height: auto;
}

.p-subHero__illust--mercard-gold {
  width: 381px;
  right: 60px;
  bottom: 2px;
}

.p-subHero__illust--mercard-top {
  width: 527px;
  right: 0;
}

.p-subHero__illust--mercard-standard {
  width: 559.52px;
  right: 0;
  bottom: 2px;
}

.p-subHero__mercardBadges {
  left: 0;
  right: 0;
  top: 220px;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .p-subHero {
    min-height: 96vw;
    padding: 4.2666666667vw 0 10.6666666667vw;
  }
  .p-subHero__inner {
    padding-inline: 6.4vw;
  }
  .p-subHero__breadcrumb .c-breadcrumb {
    font-size: 2.6666666667vw;
    line-height: 7.4666666667vw;
  }
  .p-subHero__main {
    display: block;
    height: 100%;
  }
  .p-subHero__heading {
    margin-top: 6.9333333333vw;
  }
  .p-subHero__copy {
    margin-top: 4.2666666667vw;
    margin-bottom: 4.2666666667vw;
    font-size: 6.4vw;
    line-height: 1.5;
    letter-spacing: -0.02em;
    word-break: keep-all;
  }
  .p-subHero__illust {
    width: 90.1333333333vw;
    margin: 0 auto 0;
    left: 50%;
    right: initial;
    transform: translateX(-50%);
    bottom: -11.2vw;
    position: relative;
  }
  .p-subHero__illust--mercard-gold {
    width: 71.2vw;
    position: relative;
    left: initial;
    transform: initial;
  }
  .p-subHero__illust--mercard-standard {
    width: 81.8666666667vw;
    position: relative;
    left: initial;
    transform: initial;
  }
  .p-subHero__illust--mercard-top {
    margin-bottom: -16vw;
  }
  .p-subHero__mercardBadges {
    position: relative;
    top: auto;
    pointer-events: auto;
  }
  .p-subHero__main--mercard .p-subHero__illust {
    position: relative;
    left: initial;
    right: initial;
    transform: initial;
    bottom: initial;
  }
}
/* p-articleHero
---------------------------------------------------------------------------- */
.p-subHero--column-detail {
  padding: 0 0 48px;
}

.p-subHero--column-detail .p-subHero__breadcrumb {
  padding-top: 16px;
}

.p-subHero--column-detail .p-subHero__main {
  margin-top: 40px;
}

.p-subHero--column-detail .p-subHero__inner {
  max-width: 1440px;
  padding-inline: 120px;
}

.p-articleHero {
  display: grid;
  grid-template-columns: 500px 1fr;
  column-gap: 40px;
  align-items: start;
}

.p-articleHero__visualInner {
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.p-articleHero__visualImg {
  display: block;
  width: 100%;
  height: auto;
}

.p-articleHero__metaRow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.p-articleHero__meta {
  display: grid;
  gap: 16px;
}

.p-articleHero__meta .c-articleMeta__category {
  height: 36px;
  padding: 0 16px;
}

.p-articleHero__meta .c-articleMeta__date {
  margin: 0;
  font-size: 12px;
  color: #212121;
}

.p-articleHero__updated {
  display: inline-flex;
  align-items: center;
}

.p-articleHero__updatedPrefix {
  font-size: 12px;
  color: #212121;
}

.p-articleHero__actions {
  flex: 0 0 auto;
}

/* detail hero: SNSボタンは汎用の c-socialLinks/c-socialBtn を使用し、サイズのみ上書きする */
.p-articleHero__actions.c-socialLinks {
  gap: 12px;
}

.p-articleHero__title {
  margin: 0;
  font-weight: 900;
  font-size: 36px;
  line-height: 1.6111111111;
  letter-spacing: 0.02em;
  color: #212121;
}

@media screen and (max-width: 768px) {
  .p-column-detail .p-subHero__inner {
    height: initial;
  }
  /* SP: category の固定サイズ指定を初期化 */
  .p-column-detail .p-articleHero__meta .c-articleMeta__category {
    height: auto;
    padding: 1.0666666667vw 2.1333333333vw;
    border-radius: 16vw;
  }
  .p-column-detail .p-articleHero {
    display: flex;
    flex-direction: column;
    gap: 4.2666666667vw;
  }
  .p-column-detail .p-articleHero__visual {
    order: 2;
    width: 100%;
  }
  .p-column-detail .p-articleHero__content {
    order: 1;
  }
  .p-subHero--column-detail {
    padding: 0 0 10.6666666667vw;
  }
  .p-subHero--column-detail .p-subHero__breadcrumb {
    padding-top: 4.2666666667vw;
  }
  .p-subHero--column-detail .p-subHero__main {
    margin-top: 6.4vw;
  }
  .p-subHero--column-detail .p-subHero__inner {
    padding-inline: 6.4vw;
  }
  .p-articleHero {
    grid-template-columns: 1fr;
    row-gap: 4.2666666667vw;
  }
  .p-articleHero__metaRow {
    align-items: flex-start;
    gap: 2.1333333333vw;
  }
  .p-articleHero__updatedPrefix {
    font-size: 2.6666666667vw;
  }
  .p-articleHero__meta {
    gap: 2.1333333333vw;
  }
  .p-articleHero__meta .c-articleMeta__date {
    font-size: 2.6666666667vw;
  }
  .p-articleHero__actions.c-socialLinks {
    gap: 2.1333333333vw;
  }
  .p-articleHero__actions .c-socialBtn {
    width: 8vw;
    height: 8vw;
  }
  .p-articleHero__title {
    margin-top: 2.6666666667vw;
    font-size: 6.9333333333vw;
    line-height: 9.6vw;
    letter-spacing: 0.1386666667vw;
  }
}
/* p-pageBody
---------------------------------------------------------------------------- */
.p-pageBody__inner {
  max-width: 900px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 96px;
}
.p-pageBody__content {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .p-pageBody__content {
    margin-top: 17.0666666667vw;
    padding: 2.6666666667vw 6.4vw 17.6vw;
  }
}

@media screen and (max-width: 768px) {
  .p-pageBody__inner {
    gap: 17.3333333333vw;
  }
}
/* p-homeAbout
---------------------------------------------------------------------------- */
.p-homeAbout {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 156px 50px 100px;
}

.p-homeAbout__cards {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 40px;
}

.p-homeAbout__cta {
  margin-top: 84px;
  display: flex;
  justify-content: center;
}

.p-homeAbout__ctaBtn {
  width: 328px;
}

@media screen and (max-width: 768px) {
  .p-homeAbout {
    padding: 23.4666666667vw 6.4vw 17.6vw;
  }
  .p-homeAbout__cards {
    flex-direction: column;
    align-items: center;
    gap: 6.4vw;
    margin-top: 9.6vw;
  }
  .p-homeAbout__cta {
    margin-top: 8.5333333333vw;
  }
  .p-homeAbout__ctaBtn {
    width: 66.1333333333vw;
  }
}
/* p-top
---------------------------------------------------------------------------- */
.p-top .c-section--bgReflection {
  background-position: center 420px;
}

@media screen and (max-width: 768px) {
  .p-top .c-section--bgReflection {
    background-position: center 93.3333333333vw;
  }
}
/* p-topFaq
---------------------------------------------------------------------------- */
.p-topFaq {
  padding: 96px 0 101px;
}

.p-topFaq__body {
  margin-top: 40px;
}

.p-topFaq__list {
  max-width: 942px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

/* 罫線を「1本」に揃える（コンポーネント自体は汎用のまま） */
.p-topFaq__list .c-accordion {
  border-top: 0;
  border-bottom: 1px solid rgba(34, 34, 34, 0.1);
}

.p-topFaq__list .c-accordion:first-child {
  border-top: 1px solid rgba(34, 34, 34, 0.1);
}

.p-topFaq__cta {
  margin-top: 64px;
  display: flex;
  justify-content: center;
}

.p-topFaq__ctaBtn {
  width: 280px;
}

@media screen and (max-width: 768px) {
  .p-topFaq {
    padding: 17.0666666667vw 6.4vw 17.0666666667vw;
  }
  .p-topFaq__body {
    margin-top: 9.6vw;
  }
  .p-topFaq__cta {
    margin-top: 10.6666666667vw;
  }
  .p-topFaq__ctaBtn {
    width: 53.3333333333vw;
  }
}
/* p-styleguide
---------------------------------------------------------------------------- */
.p-styleguideComponents {
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}

.p-styleguideComponents__item {
  width: 100%;
  border-radius: var(--radius);
  border: 2px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  padding: 22px;
  position: relative;
  height: 100%;
}

.p-styleguideComponents__item:nth-child(even) {
  background: #f9f9f9;
}

.p-styleguideComponents__head {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 16px;
}

.p-styleguidePageTitle {
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.01em;
}

.p-styleguideComponents__title {
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.01em;
}

.p-styleguideComponents__row {
  display: block;
}

.p-styleguideComponents__row + .p-styleguideComponents__row {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.p-styleguideComponents__label {
  color: var(--muted);
  font-weight: 650;
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 10px;
}

.p-styleguideComponents__content {
  min-width: 0;
}

.p-styleguideComponents__note {
  margin-top: 12px;
}

.p-styleguideTabs {
  position: relative;
  margin-top: 18px;
  scroll-margin-top: 90px;
}

.p-styleguideTabs__input {
  position: absolute;
  top: 0;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.p-styleguideTabs__tabList {
  width: min(960px, 100%);
  margin-inline: auto;
  display: flex;
  gap: 0;
  align-items: center;
  padding: 6px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.p-styleguideTabs__tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(0, 0, 0, 0.7);
  font-weight: 650;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.p-styleguideTabs__tab:hover {
  color: rgba(0, 0, 0, 0.86);
  background: rgba(255, 255, 255, 0.55);
}

.p-styleguideTabs__panels {
  padding-top: 18px;
}

.p-styleguideTabs__panel {
  display: none;
}

/* p-styleguideShowcase
---------------------------------------------------------------------------- */
.p-styleguideShowcase {
  width: 100%;
}

.p-styleguideShowcasePagination {
  padding: 64px 0;
}

.p-styleguideShowcasePagination__list {
  display: flex;
  flex-direction: column;
  gap: 44px;
  align-items: center;
}

.p-styleguideShowcasePagination__item {
  width: min(449px, 100%);
}

.p-styleguideShowcaseRelated {
  padding: 64px 0;
}

.p-styleguideShowcaseRelated__inner {
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 0 24px;
}

.p-styleguideShowcaseRelated__head {
  margin: 0 0 32px;
}

.p-styleguideShowcaseRelated__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.p-styleguideColumnDetailTextStack {
  display: flex;
  flex-direction: column;
}

.p-styleguideCtaPreview .c-merpayFooter__ctaWrap,
.p-styleguideCtaPreview .c-merpayCtaWrap {
  padding-top: 0;
}
.p-styleguideCtaPreview .c-merpayFooter__ctaInner,
.p-styleguideCtaPreview .c-merpayCtaWrap__inner {
  padding-inline: 0;
}

#styleguide-tab-components:checked ~ .p-styleguideTabs__tabList label[for=styleguide-tab-components],
#styleguide-tab-sections:checked ~ .p-styleguideTabs__tabList label[for=styleguide-tab-sections] {
  color: #ffffff;
  background: var(--accent-1);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.18);
}

#styleguide-tab-components:focus-visible ~ .p-styleguideTabs__tabList label[for=styleguide-tab-components],
#styleguide-tab-sections:focus-visible ~ .p-styleguideTabs__tabList label[for=styleguide-tab-sections] {
  outline: 2px solid rgba(255, 255, 255, 0.65);
  outline-offset: 2px;
}

#styleguide-tab-components:checked ~ .p-styleguideTabs__panels .p-styleguideTabs__panel--components {
  display: block;
}

#styleguide-tab-sections:checked ~ .p-styleguideTabs__panels .p-styleguideTabs__panel--sections {
  display: block;
}

@media screen and (max-width: 768px) {
  .p-styleguideComponents {
    grid-template-columns: 1fr;
    gap: 12.8vw;
    align-items: stretch;
  }
  .p-styleguideComponents__item {
    width: 100%;
    padding: 5.8666666667vw;
  }
  .p-styleguideComponents__head {
    gap: 3.2vw;
    padding-bottom: 3.7333333333vw;
    margin-bottom: 4.2666666667vw;
  }
  .p-styleguidePageTitle {
    font-size: 6.9333333333vw;
  }
  .p-styleguideComponents__title {
    font-size: 5.8666666667vw;
  }
  .p-styleguideComponents__row + .p-styleguideComponents__row {
    margin-top: 4.2666666667vw;
    padding-top: 4.2666666667vw;
  }
  .p-styleguideComponents__label {
    font-size: 3.2vw;
    margin-bottom: 2.6666666667vw;
  }
  .p-styleguideComponents__note {
    margin-top: 3.2vw;
  }
  .p-styleguideTabs {
    margin-top: 4.8vw;
    scroll-margin-top: 24vw;
  }
  .p-styleguideTabs__tabList {
    gap: 0;
    padding: 1.6vw;
    border-radius: 999px;
  }
  .p-styleguideTabs__tab {
    width: auto;
    padding: 3.2vw 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
  .p-styleguideTabs__panels {
    padding-top: 4.8vw;
  }
  .p-styleguideShowcasePagination {
    padding: 10.6666666667vw 0;
  }
  .p-styleguideShowcasePagination__list {
    gap: 7.2vw;
  }
  .p-styleguideShowcasePagination__item {
    width: 100%;
  }
  .p-styleguideShowcaseRelated {
    padding: 10.6666666667vw 0;
  }
  .p-styleguideShowcaseRelated__inner {
    padding: 0 6.4vw;
  }
  .p-styleguideShowcaseRelated__head {
    margin-bottom: 6.4vw;
  }
  .p-styleguideShowcaseRelated__list {
    flex-direction: column;
    gap: 10.6666666667vw;
  }
}
/* p-topAboutImage
---------------------------------------------------------------------------- */
.p-topAboutImage {
  background-image: url("../img/merpay/about/column_01.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 340px;
  aspect-ratio: 72/17;
}

@media screen and (min-width: 1440px) {
  .p-topAboutImage {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 768px) {
  .p-topAboutImage {
    background-image: url("../img/merpay/about/column_01-sp.jpg");
    height: 48vw;
    aspect-ratio: 25/12;
  }
}
/* p-topColumn
---------------------------------------------------------------------------- */
.p-topColumn {
  margin-inline: auto;
  padding: 77px 50px 100px;
}

.p-topColumn__body {
  margin-top: 45px;
}

.p-topColumn__list {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.p-topColumn__cta {
  margin-top: 64px;
  display: flex;
  justify-content: center;
}

.p-topColumn__ctaBtn {
  width: 280px;
}

@media screen and (max-width: 768px) {
  .p-topColumn {
    padding: 16.8vw 6.4vw 18.1333333333vw;
  }
  .p-topColumn__body {
    margin-top: 9.6vw;
  }
  .p-topColumn__list {
    flex-direction: column;
    gap: 4.2666666667vw;
    align-items: center;
  }
  .p-topColumn__cta {
    margin-top: 10.6666666667vw;
  }
  .p-topColumn__ctaBtn {
    width: 53.3333333333vw;
  }
}
/* p-topMercard
---------------------------------------------------------------------------- */
.p-topMercard {
  padding: 96px 50px 76px;
  text-align: center;
}

.p-topMercard__head {
  max-width: 782px;
  margin-inline: auto;
}

.p-topMercard__logo {
  display: block;
  width: 270px;
  height: auto;
  margin: 0 auto 32px;
}

.p-topMercard__title {
  margin: 0;
  font-weight: 900;
  font-size: 36px;
  line-height: 1.35;
  color: #222222;
}

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

.p-topMercard__lead {
  margin: 26px auto 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 32px;
  color: #222222;
}

.p-topMercard__visual {
  margin: 48px auto 0;
  max-width: 794px;
}

.p-topMercard__visualImg {
  display: block;
  width: 100%;
  height: auto;
}

.p-topMercard__panel {
  max-width: 940px;
  margin: 48px auto 0;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(34, 34, 34, 0.05);
  position: relative;
}

.p-topMercard__panel::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid #ff0211;
  border-radius: 6px;
  pointer-events: none;
}

.p-topMercard__panelInner {
  padding: 34px 24px 34px;
}

.p-topMercard__panelTop {
  display: flex;
  align-items: stretch;
}

.p-topMercard__panelTop > .p-topMercard__panelCell {
  flex: 1;
}

.p-topMercard__panelCell {
  padding: 0 20px;
}

.p-topMercard__panelCell--right {
  border-left: 0;
  border-right: 0;
  /* PC: 2番目⇔3番目を入れ替え（orderでrightを後ろへ） */
  order: 3;
}

.p-topMercard__panelCell--benefits {
  border-left: 1px solid rgba(34, 34, 34, 0.1);
  border-right: 1px solid rgba(34, 34, 34, 0.1);
  flex-basis: 200px !important;
  /* PC: 2番目⇔3番目を入れ替え（orderでbenefitsを2番目へ） */
  order: 2;
}

.p-topMercard__panelBottomGrid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.p-topMercard__panelCell--mini {
  padding: 10px 12px 0;
}

/* PC: benefits内のミニ2カラムはborderで区切らない（必要ならSP側で制御） */
.p-topMercard__panelLabel {
  margin: 0;
  font-weight: 900;
  font-size: 18px;
  line-height: 18px;
  color: #212121;
}

.p-topMercard__panelValue {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 900;
  font-size: 36px;
  line-height: 1.3;
  color: #ff0211;
}

.p-topMercard__panelValueMain {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
}

.p-topMercard__panelValueNum {
  font-size: 48px;
}

.p-topMercard__panelMark {
  margin-left: 0px;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 500;
  color: #222222;
}

.p-topMercard__panelNote {
  margin: 6px 0 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  color: #222222;
}

.p-topMercard__panelBottomTitle {
  margin: 0;
  font-weight: 900;
  font-size: 18px;
  line-height: 18px;
  color: #212121;
}

.p-topMercard__panelBottomLabel {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #212121;
}

.p-topMercard__panelBottomValue {
  margin: 6px 0 0;
  font-weight: 900;
  font-size: 36px;
  line-height: 1;
  color: #ff0211;
}

.p-topMercard__panelBottomValueNum {
  font-size: 48px;
}

.p-topMercard__cta {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}

.p-topMercard__ctaBtn {
  width: 344px;
}

.p-topMercard__notes {
  margin: 24px auto 0;
  max-width: 600px;
  text-align: left;
  color: #222222;
}

.p-topMercard__note {
  display: block;
  padding-left: 44px;
  text-indent: -44px;
  font-weight: 500;
  font-size: 12px;
  line-height: 22px;
}

.p-topMercard__note + .p-topMercard__note {
  margin-top: 6px;
}

.p-topMercard__noteLink {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (max-width: 768px) {
  .p-topMercard {
    padding: 17.0666666667vw 6.4vw 13.3333333333vw;
  }
  .p-topMercard__head {
    max-width: 87.2vw;
  }
  .p-topMercard__logo {
    width: 56vw;
    margin-bottom: 4.2666666667vw;
  }
  .p-topMercard__title {
    font-size: 6.9333333333vw;
    line-height: 9.6vw;
  }
  .p-topMercard__lead {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 7.4666666667vw;
  }
  .p-topMercard__visual {
    margin-top: 6.4vw;
    max-width: 87.2vw;
  }
  .p-topMercard__panel {
    margin-top: 6.4vw;
    max-width: 87.2vw;
  }
  .p-topMercard__panel::before {
    inset: 1.3333333333vw;
    border-radius: 1.6vw;
  }
  .p-topMercard__panelInner {
    padding: 6.4vw 4.2666666667vw;
  }
  .p-topMercard__panelTop {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .p-topMercard__panelCell--benefits {
    border-left: 0;
    border-right: 0;
    grid-column: 1/-1;
    order: 3;
    margin-top: 0;
    padding-top: 3.7333333333vw;
    padding-bottom: 0 !important;
    border-top: 1px solid rgba(34, 34, 34, 0.1);
  }
  .p-topMercard__panelTop > .p-topMercard__panelCell--left {
    border-right: 1px solid rgba(34, 34, 34, 0.1);
  }
  .p-topMercard__panelCell {
    padding: 4.2666666667vw 0 2.6666666667vw;
  }
  .p-topMercard__panelTop > .p-topMercard__panelCell--left,
  .p-topMercard__panelTop > .p-topMercard__panelCell--right {
    padding-top: 0;
  }
  .p-topMercard__panelLabel {
    font-size: 4.2666666667vw;
    line-height: 4.8vw;
  }
  .p-topMercard__panelValue {
    margin-top: 2.6666666667vw;
    font-size: 6.4vw;
  }
  .p-topMercard__panelValueNum {
    font-size: 9.6vw;
  }
  .p-topMercard__panelMark {
    font-size: 2.6666666667vw;
  }
  .p-topMercard__panelNote {
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
  }
  .p-topMercard__panelBottom {
    margin-top: 3.7333333333vw;
    padding-top: 3.7333333333vw;
  }
  .p-topMercard__panelBottomTitle {
    font-size: 4.2666666667vw;
  }
  .p-topMercard__panelBottomGrid {
    margin-top: 0;
  }
  .p-topMercard__panelCell--mini {
    padding: 2.6666666667vw 1.6vw 0;
  }
  .p-topMercard__panelBottomLabel {
    font-size: 3.2vw;
    line-height: 5.3333333333vw;
  }
  .p-topMercard__panelBottomValue {
    margin-top: 0;
    font-size: 6.4vw;
  }
  .p-topMercard__panelBottomValueNum {
    font-size: 9.6vw;
  }
  .p-topMercard__cta {
    margin-top: 6.4vw;
  }
  .p-topMercard__ctaBtn {
    width: 70.4vw;
  }
  .p-topMercard__notes {
    margin-top: 4.2666666667vw;
    max-width: 87.2vw;
  }
  .p-topMercard__note {
    padding-left: 5.3333333333vw;
    text-indent: -5.3333333333vw;
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
  }
  .p-topMercard__note + .p-topMercard__note {
    margin-top: 1.0666666667vw;
  }
}
/* p-column
---------------------------------------------------------------------------- */
.p-column {
  margin-bottom: 88px;
}

.p-column__content {
  margin-inline: auto;
}

.p-column__inner {
  max-width: 1200px;
  margin-inline: auto;
}

.p-column__filter {
  margin-top: 45px;
}

.p-column__list {
  margin-top: 64px;
  display: flex;
  flex-wrap: wrap;
  gap: 50px 24px;
}

.p-column__divider {
  border: 0;
  border-top: 1px solid #d9d9d9;
  margin: 64px 0 0;
}

.p-column__pagination {
  margin-top: 40px;
}

.p-column__paginationExamples {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .p-column {
    margin-bottom: 17.0666666667vw;
  }
  .p-column__content {
    padding: 2.6666666667vw 6.4vw 0;
  }
  .p-column__filter {
    margin-top: 6.4vw;
  }
  .p-column__list {
    margin-top: 12.8vw;
    flex-direction: column;
    gap: 10.6666666667vw;
    align-items: center;
  }
  .p-column__divider {
    margin-top: 8.5333333333vw;
  }
  .p-column__pagination {
    margin-top: 8.5333333333vw;
  }
  .p-column__paginationExamples {
    gap: 6.4vw;
  }
}
/* p-column-detail
---------------------------------------------------------------------------- */
.p-column-detail__contentWrap {
  margin-inline: auto;
  padding-bottom: 100px;
}

.p-column-detail__hero {
  background: #f6f6f6;
}

.p-column-detail__heroInner {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding: 114px 0 0;
  display: grid;
  grid-template-columns: 500px 1fr;
  column-gap: 40px;
  align-items: start;
}

.p-column-detail__heroVisual {
  width: 500px;
}

.p-column-detail__heroImg {
  display: block;
  width: 100%;
  height: auto;
}

.p-column-detail__heroBody {
  padding-top: 14px;
}

.p-column-detail__breadcrumb {
  margin: 0 0 38px;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 2.8;
  color: #888888;
}

.p-column-detail__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.p-column-detail__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  border-radius: 100px;
  border: 1px solid #d9d9d9;
  background: #ffffff;
}

.p-column-detail__tagText {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  color: #222222;
}

.p-column-detail__title {
  margin: 20px 0 0;
  font-weight: 900;
  font-size: 36px;
  line-height: 1.6111111111;
  letter-spacing: 0.02em;
  color: #212121;
}

.p-column-detail__updated {
  margin: 6px 0 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.48;
  color: #212121;
}

.p-column-detail__body {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding: 64px 0 100px;
}

.p-column-detail__content {
  width: min(800px, 100%);
  margin-inline: auto;
}

.p-column-detail__block + .p-column-detail__block {
  margin-top: 40px;
}

.p-column-detail__ol {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-column-detail__ul {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* 注釈は Annotation コンポーネント（c-annotation）に移行 */
.p-column-detail__links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-column-detail__divider {
  border: 0;
  border-top: 1px solid #d9d9d9;
  margin: 90px auto 0;
  width: min(1200px, 100%);
}

.p-column-detail__bottom {
  padding: 64px 0 91px;
}

.p-column-detail__bottomGroup {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding-bottom: 40px;
}
.p-column-detail__bottomGroup:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.p-column-detail__bottomHead--spaced {
  margin-top: 64px;
}

.p-column-detail__cards {
  width: 100%;
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.p-column-detail__cards--stack {
  justify-content: flex-start;
}

.p-column-detail__cta {
  display: flex;
  justify-content: center;
}

.p-column-detail__ctaBtn {
  width: 280px;
}

@media screen and (max-width: 768px) {
  .p-column-detail__contentWrap {
    padding-bottom: 17.6vw;
  }
  .p-column-detail__heroInner {
    width: min(327px, 100%);
    padding: 15.2vw 0 0;
    grid-template-columns: 1fr;
    row-gap: 6.4vw;
  }
  .p-column-detail__heroVisual {
    width: 100%;
  }
  .p-column-detail__heroBody {
    padding-top: 0;
  }
  .p-column-detail__breadcrumb {
    margin-bottom: 6.4vw;
  }
  .p-column-detail__tag {
    height: auto;
    padding: 1.0666666667vw 2.1333333333vw;
    border-radius: 16vw;
  }
  .p-column-detail__tagText {
    font-size: 2.6666666667vw;
    line-height: 1.448;
  }
  .p-column-detail__title {
    margin-top: 4.2666666667vw;
    font-size: 6.9333333333vw;
    line-height: 1.3846153846;
  }
  .p-column-detail__updated {
    font-size: 2.6666666667vw;
  }
  .p-column-detail__body {
    padding: 10.6666666667vw 6.4vw 17.6vw;
  }
  .p-column-detail__content {
    width: 100%;
  }
  .p-column-detail__block + .p-column-detail__block {
    margin-top: 6.4vw;
  }
  .p-column-detail__ol {
    gap: 4.2666666667vw;
  }
  .p-column-detail__ul {
    gap: 4.2666666667vw;
  }
  /* 注釈は Annotation コンポーネント（c-annotation）に移行 */
  .p-column-detail__divider {
    width: min(327px, 100%);
    margin-top: 10.6666666667vw;
  }
  .p-column-detail__bottom {
    padding: 12.8vw 6.4vw 17.6vw;
  }
  .p-column-detail__bottomGroup {
    padding-bottom: 10.6666666667vw;
  }
  .p-column-detail__bottomHead--spaced {
    margin-top: 10.6666666667vw;
  }
  .p-column-detail__cards {
    margin-top: 6.4vw;
    flex-direction: column;
    align-items: center;
    gap: 10.6666666667vw;
  }
  .p-column-detail__ctaBtn {
    width: 53.3333333333vw;
  }
}
/* p-mercard
---------------------------------------------------------------------------- */
.p-mercard__columnBtn {
  width: 280px;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .p-mercard__columnBtn {
    width: 53.3333333333vw;
  }
}
/* p-mercard-standard
---------------------------------------------------------------------------- */
/* p-mercard-plan
---------------------------------------------------------------------------- */
.p-mercard-plan__lead {
  margin-top: 40px;
  margin-bottom: 70px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.p-mercard-plan__description {
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px; /* 200% */
}

.p-mercard-plan__features {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding-bottom: 96px;
}

.p-mercard-plan__features__inner {
  display: flex;
  gap: 40px;
}

.p-mercard-plan__features__inner {
  margin-bottom: 40px;
}

.p-mercard .p-mercard-plan__features__inner {
  margin-bottom: 0;
}

.p-mercard-plan__features__inner--first {
  margin-top: 40px;
}

.p-mercard-plan__features__inner .c-mercardFeaturePanel {
  width: 100%;
}

.p-mercard-plan__features__inner .c-mercardSeriesCards {
  width: 100%;
}

.c-mercardSeriesCards__card--mercard .p-mercardSeriesCards__rateMain {
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-mercard-plan__paymentStyle {
  width: min(1200px, 100%);
  margin-inline: auto;
  padding: 40px 0;
}

.p-mercard-plan__campaignPeriodWrap {
  width: 360px;
  margin-top: 24px;
  margin-inline: auto;
}

.p-mercard-plan__campaign {
  margin-top: 80px;
}

.p-mercard-plan__campaignImage {
  width: min(800px, 100%);
  margin-top: 24px;
  margin-inline: auto;
  margin-bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 39px;
}

.p-mercard-plan__campaignImg {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}

.p-mercard-plan__steps {
  width: min(1200px, 100%);
  padding: 96px 0 78px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 51px;
}

.p-mercard-plan__stepsCta {
  width: 100%;
  display: flex;
  justify-content: center;
}

.p-mercard-plan__summary {
  padding: 96px 0 101px;
}

.p-mercard-plan__summaryBody {
  width: min(1200px, 100%);
  margin-top: 40px;
  margin-inline: auto;
}

.p-mercard-plan__message {
  position: relative;
  background: #eaf7ff;
  min-height: 500px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-mercard-plan__message::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -39px;
  width: 748px;
  height: 748px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #ffffff;
  z-index: 0;
}

.p-mercard-plan__message .c-heading {
  position: relative;
  z-index: 1;
}

.p-mercard-plan__message .c-heading__bars {
  margin-top: 29px;
}

.p-mercard-plan__messageBody {
  position: relative;
  z-index: 1;
  width: 623px;
  margin-top: 31px;
  margin-inline: auto;
}

.p-mercard-plan__messageText {
  width: 100%;
  color: #000;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
}

.p-mercard-plan__messageDecor {
  position: absolute;
  z-index: 1;
}

.p-mercard-plan__messageDecor--left {
  left: max(0px, 50% - 720px + 162px);
  top: 57px;
  width: 229px;
}

.p-mercard-plan__messageDecor--right {
  right: max(0px, 50% - 720px + 148px);
  top: 29px;
  width: 259px;
}

.p-mercard-plan__messageDecorImg {
  width: 100%;
  height: auto;
  display: block;
}

.p-mercard-plan__messageIllustSp {
  width: min(327px, 100%);
  margin-top: 40px;
}

.p-mercard-plan__messageIllustImg {
  width: 100%;
  height: auto;
  display: block;
  z-index: 1;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-mercard-plan__lead {
    padding: 0 4.2666666667vw 0;
    gap: 10.6666666667vw;
    margin-top: 10.6666666667vw;
    margin-bottom: 14.9333333333vw;
  }
  .p-mercard-plan__description {
    color: #000;
    font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
    font-size: 3.7333333333vw;
    font-style: normal;
    font-weight: 500;
    line-height: 7.4666666667vw; /* 200% */
    text-align: left;
    padding: 0 1.3333333333vw 0;
  }
  .p-mercard-plan__features {
    width: 100%;
    padding: 2.6666666667vw 6.4vw 17.6vw;
  }
  .p-mercard-plan__campaign {
    margin-top: 10.6666666667vw;
  }
  .p-mercard-plan__paymentStyle {
    width: 100%;
    padding: 8.5333333333vw 6.4vw 8.5333333333vw;
  }
  .p-mercard-plan__campaignPeriodWrap {
    width: 74.6666666667vw;
    margin-top: 5.3333333333vw;
  }
  .p-mercard-plan__campaignImage {
    width: 100%;
    margin-top: 5.3333333333vw;
    padding-inline: 6.4vw;
    margin-bottom: 13.3333333333vw;
    gap: 6.4vw;
  }
  .p-mercard-plan__features__inner {
    display: flex;
    flex-direction: column;
    gap: 6.4vw;
  }
  .p-mercard-plan__features__inner--first {
    margin-top: 6.4vw;
  }
  .p-mercard-plan__steps {
    padding: 17.0666666667vw 6.4vw 17.0666666667vw;
    gap: 6.4vw;
  }
  .p-mercard-plan__stepsCta {
    justify-content: center;
  }
  .p-mercard-plan__summary {
    padding: 0vw 6.4vw 17.0666666667vw;
  }
  .p-mercard-plan__summaryBody {
    width: 100%;
    margin-top: 9.6vw;
  }
  .p-mercard-plan__message {
    min-height: auto;
    padding: 32.2666666667vw 6.4vw 17.0666666667vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .p-mercard-plan__message::before {
    width: 145.0666666667vw;
    height: 145.0666666667vw;
    top: 10.6666666667vw;
  }
  .p-mercard-plan__message::after {
    content: "";
    position: absolute;
    width: 145.0666666667vw;
    height: 145.0666666667vw;
    top: initial;
    bottom: 26.6666666667vw;
    transform: translateX(-50%);
    border-radius: 50%;
    left: 50%;
    background: #ffffff;
  }
  .p-mercard-plan__messageBody {
    width: 100%;
    margin-top: 9.6vw;
  }
  .p-mercard-plan__messageText {
    font-size: 4.2666666667vw;
    line-height: 7.4666666667vw;
  }
  .p-mercard-plan__messageIllustSp {
    width: 74.3146666667vw;
    max-width: 87.2vw;
    margin-top: 8.5333333333vw;
  }
}
/* p-faq
---------------------------------------------------------------------------- */
.p-faq {
  margin-bottom: 88px;
}

.p-faqAnchorNav {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 64px;
}

.p-faqGroup {
  display: flex;
  flex-direction: column;
  gap: 51px;
}

@media screen and (max-width: 768px) {
  .p-faq {
    margin-bottom: 17.0666666667vw;
  }
  .p-faqAnchorNav {
    gap: 2.1333333333vw;
    margin-top: 10.552vw;
  }
  .p-faqGroup {
    gap: 8.5333333333vw;
  }
}
/* p-404
---------------------------------------------------------------------------- */
.p-404__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 782px;
  min-height: 598px;
  margin-inline: auto;
  padding: 0;
  text-align: center;
}
.p-404__lead {
  margin-top: 17px;
  font-size: 16px;
  line-height: 2;
  color: #222222;
}
.p-404__btn {
  margin-top: 41px;
}

@media screen and (max-width: 768px) {
  .p-404__content {
    padding: 32vw 2.1333333333vw 32vw;
    min-height: initial;
  }
  .p-404__lead {
    margin-top: 3.7333333333vw;
    font-size: 3.7333333333vw;
  }
  .p-404__btn {
    margin-top: 10.6666666667vw;
  }
}
/* PCのみ表示 / SPは非表示 */
.u-pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}
/* SPのみ表示 / PCは非表示 */
.u-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}

/*# sourceMappingURL=style.css.map */
