@import url(https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700;800;900&display=swap);
@charset "UTF-8";
/*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

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

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

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

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

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

/* 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 {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

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

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * 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] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

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

/**
 * 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;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

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

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

/**
 * 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 {
  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;
}

/**
 * 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 {
  -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 */
}

/**
 * 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] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

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

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

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

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

:root {
  --color-text: #323333;
  --color-text-white: #ffffff;
  --color-text-lightgray: #E5E5E5;
  --color-text-gray: #EEEEEE;
  --color-text-darkgray: #A0A7B6;
  --color-text-red: #CC2C1B;
  --color-text-darkred: #8C0000;
  --color-text-green: #00C351;
  --color-text-blue: #2092D2;
  --color-bg: #323333;
  --color-bg-white: #ffffff;
  --color-bg-lightgray: #E5E5E5;
  --color-bg-gray: #EEEEEE;
  --color-bg-darkgray: #A0A7B6;
  --color-bg-red: #CC2C1B;
  --color-bg-darkred: #8C0000;
  --color-bg-green: #00C351;
  --color-bg-blue: #2092D2;
  --color-bg-rgb: 50, 51, 51;
  interpolate-size: allow-keywords;
}

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  position: relative;
  background-color: var(--color-bg-white);
  color: var(--color-text);
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  font-size: clamp(14px, 24 / 1500 * 100 * 1vw, 16px);
  word-break: break-all;
  height: 100%;
  background-repeat: repeat;
}
@media screen and (min-width: 1500px) {
  body {
    font-size: 16px;
  }
}

.overflow {
  overflow-x: hidden;
  min-height: 100vh;
}
.overflow--top {
  height: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

.wrapper {
  display: block;
  max-width: 920px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 920px) {
  .wrapper {
    padding-left: 0;
    padding-right: 0;
  }
}

dt {
  font-weight: initial;
}

i {
  font-style: normal;
}

summary {
  display: block;
  list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display: none;
}

.point-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 5px 5px 15px;
  border-radius: 10px;
  background-color: var(--color-bg-darkgray);
}
.point-summary__title {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 53.6%;
  font-size: clamp(18px, 27 / 1500 * 100 * 1vw, 18px);
  font-weight: 700;
  color: var(--color-text-white);
  padding-right: 10px;
}
@media screen and (min-width: 1500px) {
  .point-summary__title {
    font-size: 18px;
  }
}
.point-summary__num {
  display: block;
  width: 46.4%;
  font-size: clamp(18px, 27 / 1500 * 100 * 1vw, 18px);
  font-weight: 700;
  text-align: right;
  border-radius: 5px;
  background-color: var(--color-bg-white);
  padding: 10px;
}
@media screen and (min-width: 1500px) {
  .point-summary__num {
    font-size: 18px;
  }
}

[data-text-color=default] {
  color: var(--color-text);
}

[data-text-color=white] {
  color: var(--color-text-white);
}

[data-text-color=lightgray] {
  color: var(--color-text-lightgray);
}

[data-text-color=gray] {
  color: var(--color-text-gray);
}

[data-text-color=darkgray] {
  color: var(--color-text-darkgray);
}

[data-text-color=red] {
  color: var(--color-text-red);
}

[data-text-color=darkred] {
  color: var(--color-text-darkred);
}

[data-text-color=green] {
  color: var(--color-text-green);
}

[data-text-color=blue] {
  color: var(--color-text-blue);
}

[data-bg-color=default] {
  background-color: var(--color-bg);
}

[data-bg-color=white] {
  background-color: var(--color-bg-white);
}

[data-bg-color=lightgray] {
  background-color: var(--color-bg-lightgray);
}

[data-bg-color=gray] {
  background-color: var(--color-bg-gray);
}

[data-bg-color=darkgray] {
  background-color: var(--color-bg-darkgray);
}

[data-bg-color=red] {
  background-color: var(--color-bg-red);
}

[data-bg-color=darkred] {
  background-color: var(--color-bg-darkred);
}

[data-bg-color=green] {
  background-color: var(--color-bg-green);
}

[data-bg-color=blue] {
  background-color: var(--color-bg-blue);
}

.sitemap {
  display: grid;
  gap: 20px;
  padding: 0 5.3%;
}
.sitemap > li {
  display: grid;
  gap: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-bg-darkgray);
}
.sitemap > li:first-child {
  padding-top: 20px;
  border-top: 1px solid var(--color-bg-darkgray);
}
.sitemap__child {
  display: grid;
  gap: 5px;
}
.sitemap__child > li {
  padding-left: 2%;
}
.sitemap a {
  color: var(--color-text-blue);
  text-decoration: underline;
}
.sitemap a:hover {
  text-decoration: none;
}

.headline-lv2 {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-bg);
  padding-bottom: 10px;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .headline-lv2 {
    font-size: 16px;
  }
}
.headline-lv2::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.headline-lv2::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.headline-lv2[data-text=red] {
  color: var(--color-text-red);
}
.headline-lv2[data-weight=bold] {
  font-weight: 700;
}
.headline-lv3 {
  display: block;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  background-color: var(--color-bg-gray);
  border-radius: 3px;
  padding: 8px 10px;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .headline-lv3 {
    font-size: 14px;
  }
}
.headline-lv3::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.headline-lv3::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.headline-lv3[data-text=red] {
  color: var(--color-text-red);
}
.headline-lv3[data-weight=bold] {
  font-weight: 700;
}

.btn-notice {
  position: relative;
  display: block;
  color: var(--color-text-red);
}
.btn-notice[data-count]::after {
  content: attr(data-count);
  position: absolute;
  top: -5px;
  right: -15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  min-width: 22px;
  min-height: 22px;
  color: var(--color-text-white);
  font-size: clamp(10px, 15 / 1500 * 100 * 1vw, 10px);
  font-weight: 500;
  background-color: var(--color-bg-red);
  border: 4px solid var(--color-bg-white);
}
@media screen and (min-width: 1500px) {
  .btn-notice[data-count]::after {
    font-size: 10px;
  }
}
.btn-account {
  position: relative;
  display: block;
  color: var(--color-text-red);
}
.btn-account[data-count]::after {
  content: attr(data-count);
  position: absolute;
  top: -5px;
  right: -15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  min-width: 22px;
  min-height: 22px;
  color: var(--color-text-white);
  font-size: clamp(10px, 15 / 1500 * 100 * 1vw, 10px);
  font-weight: 500;
  background-color: var(--color-bg-red);
  border: 4px solid var(--color-bg-white);
}
@media screen and (min-width: 1500px) {
  .btn-account[data-count]::after {
    font-size: 10px;
  }
}
.btn-seeall {
  display: inline-block;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text-red);
  line-height: 1;
  background-color: var(--color-bg-gray);
  border-radius: 20px;
  padding: 8px 10px;
}
@media screen and (min-width: 1500px) {
  .btn-seeall {
    font-size: 14px;
  }
}
.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  line-height: 1;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  color: var(--color-text-white);
  background-color: var(--color-bg-red);
  padding: 17px 10px;
  transition: 0.3s;
  border-radius: 999px;
}
@media screen and (min-width: 1500px) {
  .btn-primary {
    font-size: 16px;
  }
}
.btn-primary:hover {
  opacity: 0.8;
}
.btn-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  line-height: 1;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  color: var(--color-text-red);
  background-color: var(--color-bg-white);
  padding: 17px 10px;
  transition: 0.3s;
  border: 1px solid var(--color-bg-red);
  border-radius: 999px;
}
@media screen and (min-width: 1500px) {
  .btn-secondary {
    font-size: 16px;
  }
}
.btn-secondary:hover {
  opacity: 0.8;
}

.form-wrap {
  display: grid;
  gap: 30px;
  padding: 30px 0;
}
.form-field {
  display: grid;
  gap: 30px;
  padding: 0 5.3%;
}
.form-field[data-border=true] {
  border-top: 1px solid var(--color-bg-gray);
  border-bottom: 1px solid var(--color-bg-gray);
  padding: 30px 5.3%;
}
.form-field[data-border=true] + .form-field[data-border=true] {
  border-top: none;
  padding-top: 0;
}
.form-container {
  display: grid;
  gap: 15px;
}
.form-text {
  display: grid;
  gap: 20px;
  text-align: center;
}
.form-input {
  display: block;
  width: 100%;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .form-input {
    font-size: 14px;
  }
}
.form-input::-moz-placeholder {
  color: var(--color-text-darkgray);
}
.form-input::placeholder {
  color: var(--color-text-darkgray);
}
.form-check {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-bg-darkgray);
  border-radius: 2px;
  box-shadow: 0 0 0 0 transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s;
}
.form-check:checked {
  background: var(--color-bg-red);
  border-color: var(--color-bg-red);
}
.form-check::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 9px;
  transform: translate(-50%, -50%);
  -webkit-mask-image: url("/img/corporation/icon_check.svg");
          mask-image: url("/img/corporation/icon_check.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color-bg-white);
}
.form-caution {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  color: var(--color-text-red);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .form-caution {
    font-size: 14px;
  }
}
.form-caution a {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  color: var(--color-text-blue);
  line-height: 1;
}
.form-label {
  display: flex;
  align-items: center;
  gap: 0.25em;
  width: 100%;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .form-label {
    font-size: 16px;
  }
}
.form-label[data-size=small] {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
}
@media screen and (min-width: 1500px) {
  .form-label[data-size=small] {
    font-size: 14px;
  }
}
.form-textarea {
  display: block;
  width: 100%;
  aspect-ratio: 345/128;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  border: 1px solid var(--color-bg);
  border-radius: 5px;
  padding: 0.5em;
  resize: none;
}
@media screen and (min-width: 1500px) {
  .form-textarea {
    font-size: 14px;
  }
}
.form-agree {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 10px;
  border: 1px solid var(--color-bg-gray);
}
.form-agree__text {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .form-agree__text {
    font-size: 14px;
  }
}
.form-title {
  display: block;
  width: 100%;
  font-size: clamp(20px, 30 / 1500 * 100 * 1vw, 20px);
  font-weight: 500;
  color: var(--color-text-red);
  text-align: center;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .form-title {
    font-size: 20px;
  }
}
.form-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-heading {
  display: block;
  width: 100%;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .form-heading {
    font-size: 16px;
  }
}
.form-heading::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-heading::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-btn {
  display: grid;
  gap: 24px;
  width: clamp(300px, 100%, 345px);
  margin-inline: auto;
  margin-top: 20px;
}
.form-value {
  display: block;
  width: 100%;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  background-color: var(--color-bg-gray);
  border-radius: 3px;
  padding: 8px 10px;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .form-value {
    font-size: 14px;
  }
}
.form-value::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-value::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.form-select {
  position: relative;
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .form-select {
    font-size: 14px;
  }
}
.form-select::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "";
  display: block;
  width: 15px;
  height: 9px;
  background-image: url("/img/corporation/arrow-down.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
.form-select__control {
  display: block;
  width: 100%;
}

.content-progress {
  background-color: var(--color-bg-white);
  border-radius: 10px;
  overflow: hidden;
}
.content-progress__header {
  padding: 5px 15px;
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.content-progress__body {
  display: grid;
  gap: 10px;
  padding: 10px 4.48%;
}
.content-progress__body .content-progress__status {
  border-radius: 5px;
}
.content-progress__footer {
  display: grid;
  gap: 30px;
  padding: 20px 4.48% 30px;
  background-color: var(--color-bg-white);
}
.content-progress__date {
  display: inline-flex;
  gap: 0.5em;
}
.content-progress__date-text {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-bg-darkgray);
}
@media screen and (min-width: 1500px) {
  .content-progress__date-text {
    font-size: 12px;
  }
}
.content-progress__date-time {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-bg-darkgray);
}
@media screen and (min-width: 1500px) {
  .content-progress__date-time {
    font-size: 12px;
  }
}
.content-progress__heading {
  display: grid;
  gap: 10px;
}
.content-progress__company {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .content-progress__company {
    font-size: 12px;
  }
}
.content-progress__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  color: var(--color-text-red);
}
@media screen and (min-width: 1500px) {
  .content-progress__title {
    font-size: 16px;
  }
}
.content-progress__status {
  display: grid;
  gap: 10px;
  background-color: var(--color-bg-gray);
  padding: 10px 4.48%;
}
.content-progress__status-text {
  display: inline-flex;
  gap: 0.5em;
}
.content-progress__status-label {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .content-progress__status-label {
    font-size: 12px;
  }
}
.content-progress__status-num {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 700;
  color: var(--color-text-green);
}
@media screen and (min-width: 1500px) {
  .content-progress__status-num {
    font-size: 12px;
  }
}
.content-progress__status-notice {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-green);
}
@media screen and (min-width: 1500px) {
  .content-progress__status-notice {
    font-size: 12px;
  }
}
.content-progress__status-bar {
  position: relative;
  display: block;
  width: 100%;
  height: 10px;
  background-color: var(--color-bg-darkgray);
  border-radius: 10px;
  overflow: hidden;
}
.content-progress__status-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: calc(var(--status) * 1%);
  height: 10px;
  border-radius: 10px;
  background-color: var(--color-bg-green);
  transition: 0.3s;
}
.content-primary {
  display: block;
  width: 100%;
  background-color: var(--color-bg-white);
}
.content-primary__inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px calc(9% + 7.5px) 15px 5.3%;
}
.content-primary__inner::after {
  content: "";
  display: block;
  background-image: url("/img/corporation/arrow-right.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 9px;
  height: 15px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5.3%;
}
.content-primary__header {
  display: flex;
  align-items: center;
  gap: 28px;
  width: 100%;
}
.content-primary__body {
  display: grid;
  gap: 10px;
  width: 100%;
}
.content-primary__left {
  display: grid;
  width: 25%;
}
.content-primary__right {
  display: grid;
  gap: 5px;
  align-content: center;
  width: calc(75% - 10px);
}
.content-primary__picture {
  display: block;
}
.content-primary__picture img {
  width: 100%;
}
.content-primary__data {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.content-primary__label {
  display: inline-block;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-white);
  background-color: var(--color-bg-darkgray);
  padding: 2px 4px;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-primary__label {
    font-size: 12px;
  }
}
.content-primary__name {
  display: inline-block;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-darkgray);
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-primary__name {
    font-size: 12px;
  }
}
.content-primary__time {
  display: inline-block;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-darkgray);
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-primary__time {
    font-size: 12px;
  }
}
.content-primary__title {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .content-primary__title {
    font-size: 14px;
  }
}
.content-primary__title[data-size=large] {
  font-size: clamp(18px, 27 / 1500 * 100 * 1vw, 18px);
}
@media screen and (min-width: 1500px) {
  .content-primary__title[data-size=large] {
    font-size: 18px;
  }
}
.content-primary__title[data-size=middle] {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
}
@media screen and (min-width: 1500px) {
  .content-primary__title[data-size=middle] {
    font-size: 16px;
  }
}
.content-primary__title[data-size=small] {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
}
@media screen and (min-width: 1500px) {
  .content-primary__title[data-size=small] {
    font-size: 12px;
  }
}
.content-primary__title[data-color=red] {
  color: var(--color-text-red);
}
.content-primary__text {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .content-primary__text {
    font-size: 14px;
  }
}
.content-primary__text[data-size=large] {
  font-size: clamp(18px, 27 / 1500 * 100 * 1vw, 18px);
}
@media screen and (min-width: 1500px) {
  .content-primary__text[data-size=large] {
    font-size: 18px;
  }
}
.content-primary__text[data-size=middle] {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
}
@media screen and (min-width: 1500px) {
  .content-primary__text[data-size=middle] {
    font-size: 16px;
  }
}
.content-primary__text[data-size=small] {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
}
@media screen and (min-width: 1500px) {
  .content-primary__text[data-size=small] {
    font-size: 12px;
  }
}
.content-primary__text[data-color=red] {
  color: var(--color-text-red);
}
.content-step__inner {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-bg-gray);
  padding: 24px 0 20px;
  counter-reset: number 0;
}
.content-step__container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-white);
}
@media screen and (min-width: 1500px) {
  .content-step__container {
    font-size: 12px;
  }
}
.content-step__container::before, .content-step__container::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid var(--color-bg-darkgray);
  width: 100%;
  top: 10px;
  z-index: 2;
}
.content-step__container::before {
  left: -50%;
}
.content-step__container::after {
  left: 50%;
}
.content-step__container:first-child::before {
  content: none;
}
.content-step__container:last-child::after {
  content: none;
}
.content-step__container[data-active=true] .content-step__icon {
  background-color: var(--color-bg-red);
}
.content-step__container[data-active=true] .content-step__icon::before {
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  background-image: url("/img/corporation/icon_check.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
.content-step__container[data-active=true]::after {
  border-bottom-color: var(--color-bg-red);
  z-index: 3;
}
.content-step__container[data-active=current] .content-step__icon {
  background-color: var(--color-bg-red);
}
.content-step__container[data-active=current] .content-step__title {
  color: var(--color-text-red);
}
.content-step__icon {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-bottom: 5px;
  border-radius: 50%;
  background: var(--color-bg-darkgray);
}
.content-step__icon::before {
  counter-increment: number 1;
  content: counter(number);
}
.content-step__title {
  color: var(--color-text-darkgray);
}
.content-card {
  display: block;
  width: 100%;
}
.content-card__inner {
  position: relative;
  display: block;
  transition: 0.3s;
}
.content-card__inner:hover {
  opacity: 0.8;
}
.content-card__label {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  font-size: clamp(10px, 15 / 1500 * 100 * 1vw, 10px);
  font-weight: 500;
  color: var(--color-text-white);
  background-color: var(--color-bg-darkred);
  padding: 5px 8px;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-card__label {
    font-size: 10px;
  }
}
.content-card__img-picture {
  display: block;
}
.content-card__img-picture img {
  width: 100%;
}
.content-card__container {
  position: absolute;
  left: 0;
  bottom: 0;
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 10px calc(9% + 7.5px) 10px 5.3%;
  background-color: rgba(var(--color-bg-rgb), 0.6);
}
.content-card__container::after {
  content: "";
  display: block;
  background-image: url("/img/corporation/arrow-right-white.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 9px;
  height: 15px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5.3%;
}
.content-card__title {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text-white);
}
@media screen and (min-width: 1500px) {
  .content-card__title {
    font-size: 14px;
  }
}
.content-card__price {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text-white);
}
@media screen and (min-width: 1500px) {
  .content-card__price {
    font-size: 14px;
  }
}
.content-card__time {
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  font-weight: 500;
  color: var(--color-text-darkgray);
}
@media screen and (min-width: 1500px) {
  .content-card__time {
    font-size: 12px;
  }
}
.content-card[data-type=product] .content-card__img-picture {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.content-card[data-type=product] .content-card__img-picture img {
  width: 100%;
}
.content-card[data-type=product] .content-card__container {
  padding: 10px 5.3%;
  background-color: transparent;
}
.content-card[data-type=product] .content-card__container::after {
  display: none;
}
.content-menu {
  display: block;
  width: 100%;
}
.content-menu__inner {
  display: grid;
  gap: 10px;
  transition: 0.3s;
}
.content-menu__inner:hover {
  opacity: 0.8;
}
.content-menu__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-gray);
  width: 60px;
  height: 60px;
  margin-inline: auto;
  border-radius: 999px;
}
.content-menu__title {
  display: block;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  text-align: center;
}
@media screen and (min-width: 1500px) {
  .content-menu__title {
    font-size: 12px;
  }
}
.content-product {
  display: block;
}
.content-product__inner {
  display: grid;
  gap: 5px;
}
.content-product[data-type=detail] .content-product__inner {
  gap: 20px;
}
.content-product[data-type=detail] .content-product__container {
  gap: 10px;
}
.content-product[data-type=detail] .content-product__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
}
@media screen and (min-width: 1500px) {
  .content-product[data-type=detail] .content-product__title {
    font-size: 16px;
  }
}
.content-product[data-type=detail] .content-product__price {
  font-size: clamp(24px, 36 / 1500 * 100 * 1vw, 24px);
}
@media screen and (min-width: 1500px) {
  .content-product[data-type=detail] .content-product__price {
    font-size: 24px;
  }
}
.content-product__img-picture {
  overflow: hidden;
  border-radius: 10px;
}
.content-product__img-picture img {
  width: 100%;
}
.content-product__container {
  display: grid;
  gap: 5px;
}
.content-product__title {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .content-product__title {
    font-size: 14px;
  }
}
.content-product__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product__label {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text-darkgray);
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .content-product__label {
    font-size: 14px;
  }
}
.content-product__label::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product__label::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product__price {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .content-product__price {
    font-size: 14px;
  }
}
.content-product__price::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product__price::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.content-product a {
  transition: 0.3s;
}
.content-product a:hover {
  opacity: 0.8;
}
.content-faq {
  display: block;
  width: 100%;
}
.content-faq::details-content {
  transition: height 0.4s, opacity 0.4s, content-visibility 0.4s allow-discrete;
  height: 0;
  opacity: 0;
  overflow: clip;
}
.content-faq[open] .content-faq__heading {
  height: calc-size(auto, size);
}
.content-faq[open] .content-faq__heading::after {
  transform: rotate(-180deg);
}
.content-faq[open]::details-content {
  opacity: 1;
  height: auto;
}
.content-faq__heading {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 15px calc(9% + 7.5px) 15px 5.3%;
  cursor: pointer;
}
.content-faq__heading::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  color: var(--color-text-white);
  background-color: var(--color-bg-red);
  border-radius: 100%;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-faq__heading::before {
    font-size: 12px;
  }
}
.content-faq__heading::after {
  content: "";
  display: block;
  background-image: url("/img/corporation/arrow-down.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 15px;
  height: 9px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5.3%;
  transition: 0.3s;
}
.content-faq__title {
  display: block;
  width: calc(100% - 24px);
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  padding-left: 10px;
}
@media screen and (min-width: 1500px) {
  .content-faq__title {
    font-size: 14px;
  }
}
.content-faq__container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  border-top: 1px solid var(--color-bg-lightgray);
  background-color: var(--color-bg-gray);
  padding: 15px 5.3%;
  transition: 0.3s;
}
.content-faq__container::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: clamp(12px, 18 / 1500 * 100 * 1vw, 12px);
  color: var(--color-text-white);
  background-color: var(--color-bg-darkgray);
  border-radius: 100%;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .content-faq__container::before {
    font-size: 12px;
  }
}
.content-faq__text {
  display: grid;
  gap: 10px;
  width: calc(100% - 24px);
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  padding-left: 10px;
}
@media screen and (min-width: 1500px) {
  .content-faq__text {
    font-size: 14px;
  }
}

.text-bold {
  font-weight: 900;
}

.list-info {
  display: grid;
  gap: 20px;
}
.list-info__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-bg-gray);
}
.list-info__label {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  width: 46%;
  padding-right: 1em;
}
@media screen and (min-width: 1500px) {
  .list-info__label {
    font-size: 14px;
  }
}
.list-info__value {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  width: 54%;
}
@media screen and (min-width: 1500px) {
  .list-info__value {
    font-size: 14px;
  }
}
.list-form {
  display: grid;
  gap: 25px;
}
.list-form__row {
  display: grid;
  gap: 15px;
}
.list-form__row[data-col="2"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.list-form__row[data-col="2"] .list-form__label {
  width: 52%;
  padding-right: 1em;
}
.list-form__row[data-col="2"] .list-form__value {
  width: 48%;
}
.list-form__value {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-bg);
}
.list-form__value[data-border=false] {
  padding-bottom: 0;
  border-bottom: none;
}

.header {
  display: block;
  width: 100%;
  background-color: var(--color-bg-white);
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 15px;
}
.header-left {
  min-width: 24px;
}
.header-center {
  text-align: center;
  min-width: 146px;
}
.header-right {
  min-width: 24px;
}
.header-title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  color: var(--color-text-red);
}
@media screen and (min-width: 1500px) {
  .header-title {
    font-size: 16px;
  }
}

.account-index {
  display: grid;
  gap: 30px;
  padding-bottom: 60px;
}
.account-index__container {
  display: grid;
  gap: 50px;
  padding: 0 5.3%;
}
.account-index__list-title {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text-red);
  margin-bottom: 20px;
  padding: 0 5.3%;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .account-index__list-title {
    font-size: 16px;
  }
}
.account-index__list-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.account-index__list-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.account-index__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.account-logout {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text);
  text-decoration: underline;
}
@media screen and (min-width: 1500px) {
  .account-logout {
    font-size: 14px;
  }
}
.account-logout:hover {
  text-decoration: none;
}
.account-delete {
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
  font-weight: 500;
  color: var(--color-text-darkgray);
  text-decoration: underline;
}
@media screen and (min-width: 1500px) {
  .account-delete {
    font-size: 14px;
  }
}
.account-delete:hover {
  text-decoration: none;
}
.account-info {
  padding: 20px 5.3%;
  background-color: var(--color-bg-red);
}
.account-info__inner {
  display: grid;
  gap: 20px;
  background-color: var(--color-bg-white);
  border-radius: 10px;
  padding: 24px 0;
}
.account-info__menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 5px;
       column-gap: 5px;
  row-gap: 15px;
}
@media screen and (min-width: 768px) {
  .account-info__menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.account-info__container {
  display: grid;
  gap: 10px;
  padding: 0 4.48%;
}

.cashback-history__heading {
  padding: 20px 5.3%;
}
.cashback-history__list {
  border-top: 1px solid var(--color-bg-lightgray);
}
.cashback-history__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.cashback-history__list > *:last-child {
  border: none;
}
.cashback-history__list-title {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text-red);
  margin-bottom: 20px;
  padding: 0 5.3%;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .cashback-history__list-title {
    font-size: 16px;
  }
}
.cashback-history__list-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.cashback-history__list-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.cashback-history__list-show {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
}
.cashback-history__list-show i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}
.cashback-detail {
  display: grid;
  min-height: calc(100vh - 45px);
  padding: 20px 5.3%;
  background-color: var(--color-bg-red);
}
.cashback-detail__inner {
  display: grid;
  gap: 20px;
  background-color: var(--color-bg-white);
  border-radius: 10px;
  padding: 0 0 20px;
}
.cashback-detail__container {
  display: grid;
  gap: 20px;
  padding: 0 4.48%;
}
.cashback-select {
  position: relative;
  display: block;
  width: 100%;
}
.cashback-select::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4.48%;
  content: "";
  display: block;
  width: 15px;
  height: 9px;
  background-image: url("/img/corporation/arrow-down.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
.cashback-select__control {
  display: block;
  width: 100%;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  text-align: center;
  padding: 10px;
  border: 1px solid var(--color-bg-darkgray);
  border-radius: 30px;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .cashback-select__control {
    font-size: 16px;
  }
}

.contact-index {
  display: grid;
  gap: 50px;
  padding: 30px 0;
}
.contact-index__title {
  display: block;
  width: 100%;
  font-size: clamp(20px, 30 / 1500 * 100 * 1vw, 20px);
  font-weight: 700;
  color: var(--color-text-red);
  text-align: center;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .contact-index__title {
    font-size: 20px;
  }
}
.contact-index__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contact-index__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contact-index__text {
  display: grid;
  gap: 10px;
  text-align: center;
}
.contact-index__container {
  display: grid;
  gap: 10px;
  padding: 0 5.3%;
}
.contact-index__btn {
  display: grid;
  gap: 24px;
  width: clamp(300px, 100%, 345px);
  margin-inline: auto;
}
.contact-faq {
  display: grid;
  gap: 20px;
}
.contact-faq__title {
  display: block;
  width: 100%;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .contact-faq__title {
    font-size: 16px;
  }
}
.contact-faq__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contact-faq__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contact-faq__container {
  display: grid;
  gap: 10px;
  padding: 0 5.3%;
}
.contact-faq__list {
  border-top: 1px solid var(--color-bg-lightgray);
}
.contact-faq__list-item {
  border-bottom: 1px solid var(--color-bg-lightgray);
}

.contract-index__heading {
  padding: 20px 5.3%;
}
.contract-index__list {
  border-top: 1px solid var(--color-bg-lightgray);
}
.contract-index__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.contract-index__list > *:last-child {
  border: none;
}
.contract-index__list-title {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text-red);
  margin-bottom: 20px;
  padding: 0 5.3%;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .contract-index__list-title {
    font-size: 16px;
  }
}
.contract-index__list-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contract-index__list-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.contract-index__list-show {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
}
.contract-index__list-show i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}
.contract-detail {
  display: grid;
  min-height: calc(100vh - 45px);
  padding: 20px 5.3%;
  background-color: var(--color-bg-red);
}
.contract-detail__inner {
  display: grid;
  gap: 20px;
  background-color: var(--color-bg-white);
  border-radius: 10px;
  padding: 24px 0;
}
.contract-detail__container {
  padding: 0 4.48%;
}
.contract-select {
  position: relative;
  display: block;
  width: 100%;
}
.contract-select::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4.48%;
  content: "";
  display: block;
  width: 15px;
  height: 9px;
  background-image: url("/img/corporation/arrow-down.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
.contract-select__control {
  display: block;
  width: 100%;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  text-align: center;
  padding: 10px;
  border: 1px solid var(--color-bg-darkgray);
  border-radius: 30px;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .contract-select__control {
    font-size: 16px;
  }
}

.mypage-index {
  background-color: var(--color-bg-red);
}
.mypage-progress {
  display: grid;
  gap: 10px;
  padding: 20px 5.3% 50px;
  background-image: url("/img/corporation/image-bg.png");
  background-repeat: no-repeat;
  background-position: top;
}
.mypage-progress__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  color: var(--color-text-white);
  text-align: center;
}
@media screen and (min-width: 1500px) {
  .mypage-progress__title {
    font-size: 16px;
  }
}
.mypage-history {
  display: grid;
  gap: 10px;
  background-color: var(--color-bg-white);
  padding: 20px 0;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.mypage-history__point {
  margin-bottom: 20px;
  padding: 0 5.3%;
}
.mypage-history__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: 0 5.3%;
}
.mypage-history__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
}
@media screen and (min-width: 1500px) {
  .mypage-history__title {
    font-size: 16px;
  }
}
.mypage-history__list {
  border-top: 1px solid var(--color-bg-lightgray);
}
.mypage-history__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.mypage-history__list > *:last-child {
  border-bottom: none;
}

.privacy-main {
  display: grid;
  gap: 50px;
  padding: 20px 5.3%;
}
.privacy-container {
  display: grid;
  gap: 20px;
}
.privacy-text {
  display: grid;
  gap: 10px;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
}
@media screen and (min-width: 1500px) {
  .privacy-text {
    font-size: 14px;
  }
}

.product-index {
  display: block;
}
.product-index__inner {
  display: grid;
  gap: 30px;
  padding: 20px 0;
}
.product-index__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .product-index__title {
    font-size: 16px;
  }
}
.product-index__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-index__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-index__container {
  display: grid;
  gap: 10px;
  padding: 0 5.3%;
}
.product-index__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 20px;
}
@media screen and (min-width: 768px) {
  .product-index__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.product-detail__article {
  display: grid;
  gap: 30px;
  padding: 20px 5.3%;
}
.product-detail__article-body {
  display: grid;
  gap: 20px;
  padding: 30px 0;
  border-top: 1px solid var(--color-bg-gray);
  border-bottom: 1px solid var(--color-bg-gray);
}
.product-detail__article-body a {
  color: var(--color-bg-blue);
  text-decoration: underline;
}
.product-detail__article-body a:hover {
  text-decoration: none;
}
.product-detail__title {
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .product-detail__title {
    font-size: 16px;
  }
}
.product-detail__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-detail__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-detail__container {
  display: grid;
  gap: 10px;
}
.product-detail__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 20px;
}
@media screen and (min-width: 768px) {
  .product-detail__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.product-detail__btn {
  width: clamp(150px, 100%, 200px);
  margin-inline: auto;
}
.product-category__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.product-category__list-title {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text-red);
  margin-bottom: 20px;
  padding: 0 5.3%;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .product-category__list-title {
    font-size: 16px;
  }
}
.product-category__list-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-category__list-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.product-category__list-show {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
}
.product-category__list-show i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}

.service-index {
  display: grid;
  gap: 30px;
  padding-bottom: 60px;
}
.service-index__list-title {
  display: block;
  font-size: clamp(16px, 24 / 1500 * 100 * 1vw, 16px);
  font-weight: 500;
  color: var(--color-text-red);
  margin-bottom: 20px;
  padding: 0 5.3%;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .service-index__list-title {
    font-size: 16px;
  }
}
.service-index__list-title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-index__list-title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-index__list > * {
  border-bottom: 1px solid var(--color-bg-lightgray);
}
.service-detail {
  display: grid;
  background-color: var(--color-bg-white);
}
.service-detail__inner {
  display: grid;
  gap: 20px;
  padding: 20px 5.3%;
}
.service-detail__header {
  display: grid;
  gap: 10px;
  border-bottom: 1px solid var(--color-bg-gray);
  padding-bottom: 20px;
}
.service-detail__title {
  font-size: clamp(14px, 24.24 / 1500 * 100 * 1vw, 16.16px);
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .service-detail__title {
    font-size: 16.16px;
  }
}
.service-detail__title::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-detail__title::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-detail__time {
  font-size: clamp(14px, 18.18 / 1500 * 100 * 1vw, 12.12px);
  font-weight: 500;
  color: var(--color-text-darkgray);
  line-height: 1.5;
}
@media screen and (min-width: 1500px) {
  .service-detail__time {
    font-size: 12.12px;
  }
}
.service-detail__time::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-detail__time::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.5) * 0.5em);
  content: "";
}
.service-detail__body {
  display: grid;
  gap: 20px;
}
.service-detail__body a {
  color: var(--color-bg-blue);
  text-decoration: underline;
}
.service-detail__body a:hover {
  text-decoration: none;
}
.service-detail__footer {
  display: grid;
  gap: 10px;
}
.service-detail__btn {
  width: clamp(150px, 100%, 200px);
  margin-inline: auto;
}

.terms-main {
  display: grid;
  gap: 50px;
  padding: 20px 5.3%;
}
.terms-container {
  display: grid;
  gap: 20px;
}
.terms-text {
  display: grid;
  gap: 10px;
  font-size: clamp(14px, 21 / 1500 * 100 * 1vw, 14px);
}
@media screen and (min-width: 1500px) {
  .terms-text {
    font-size: 14px;
  }
}

.top-main {
  display: grid;
  gap: 50px;
  padding: 100px 0;
}
.top-main__inner {
  display: grid;
  gap: 50px;
  padding: 0 5.3%;
}
.top-main .form-field {
  padding-left: 0;
  padding-right: 0;
}
