@charset "UTF-8";
/*! 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.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 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 */
}

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

@media screen and (max-width: 767px) {
  .view-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .view-sp {
    display: none !important;
  }
}
.page-anchor {
  display: block;
  width: 0;
  height: 0;
  visibility: hidden;
  margin-top: calc(var(--header-height) * -1);
  padding-top: var(--header-height);
}

html {
  font-weight: 500;
  scroll-padding-top: 60px;
}

body {
  font-family: "Hiragino Sans", Noto Sans JP, "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  line-height: 1.8;
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background-color: #fff1f3;
}

* {
  box-sizing: border-box;
}

ul,
ol,
dl {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

a.text-link {
  text-decoration: underline;
}

p {
  margin: 0;
}

h1 {
  margin: 0;
  padding-bottom: 10px;
}

img {
  display: block;
  vertical-align: text-bottom;
  vertical-align: -webkit-baseline-middle;
  height: auto;
  width: 100%;
  max-width: 100%;
}

.link-blue {
  display: block;
  text-decoration: underline;
  color: #0038a3;
  text-align: center;
}

.marker {
  background: linear-gradient(transparent 70%, #ffda1a 80%);
}

.note {
  color: #747474;
  text-indent: -1.3em;
  margin-left: 1em;
}
@media (max-width: 767px) {
  .note {
    font-size: calc((20 / 750) * 100vw);
    font-weight: 400;
    line-height: calc(30 / 20);
    letter-spacing: 0.04rem;
  }
}

.note.center {
  text-align: center;
  margin: 0 auto;
}

.cta-area {
  display: block;
  max-width: 670px;
  margin: 15px auto 0;
}

.lp-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 974px;
  margin: 0 auto;
  padding: 12px 10px;
}
@media (max-width: 767px) {
  .lp-header-inner {
    padding: 2.5vw 3.5vw;
  }
}
.lp-header-inner .lp-header-logo-mark {
  max-width: 141px;
}
@media (max-width: 767px) {
  .lp-header-inner .lp-header-logo-mark {
    max-width: calc((486 / 750) * 100vw);
  }
}
.lp-header-inner .lp-header-logo-text {
  max-width: 120px;
}
@media (max-width: 767px) {
  .lp-header-inner .lp-header-logo-text {
    display: none;
  }
}

.lp-wrapper {
  background-color: #fff;
}
.lp-wrapper .lp-header-logo {
  max-width: 222px;
  margin: 0 auto;
  padding: 13px 0;
}
@media (max-width: 767px) {
  .lp-wrapper .lp-header-logo {
    max-width: 39vw;
    padding: 1.8vw 0;
    box-shadow: unset;
  }
}

/* legion first */
.first {
  background: url(../images/fv-bg.png) no-repeat center top;
  background-size: contain;
  overflow: hidden;
}
@media (min-width: 1800px) {
  .first {
    background-size: cover;
  }
}
@media (max-width: 1199px) {
  .first {
    background-size: cover;
  }
}
@media (max-width: 767px) {
  .first {
    background: none;
  }
}
.first h1 {
  max-width: 823px;
  margin: 0 auto;
  padding: 32px 10px 0;
}
@media (max-width: 767px) {
  .first h1 {
    padding: 0;
  }
}

.first-cta {
  width: 100%;
  position: relative;
  padding: 0 40px 40px;
  margin-top: -122px;
  background: linear-gradient(
    180deg,
    transparent calc((86 / 1440) * 100vw),
    #3c3c3c calc((86 / 1440) * 100vw)
  );
}
@media (max-width: 767px) {
  .first-cta {
    position: relative;
    margin-top: unset;
    padding: 0 calc((40 / 750) * 100vw) calc((16 / 750) * 100vw);
    background-color: #3c3c3c;
  }
}
.first-cta::before {
  position: absolute;
  content: "";
  top: -17px;
  left: 50%;
  translate: -50% 0;
  width: 115vw;
  height: calc(100% + 17px);
  border-radius: 50% 50% 0 0;
  background: #3c3c3c;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
@media (max-width: 950px) {
  .first-cta::before {
    border-radius: 40% 40% 0 0;
  }
}
@media (max-width: 767px) {
  .first-cta::before {
    top: calc((-44 / 750) * 100vw);
    width: 100vw;
    height: auto;
    aspect-ratio: 772 / 91;
    border-radius: unset;
    background: transparent;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22750%22%20height%3D%2291%22%20viewBox%3D%220%200%20750%2091%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cmask%20id%3D%22mask0_15_3929%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22750%22%20height%3D%2291%22%3E%3Crect%20width%3D%22750%22%20height%3D%2291%22%20fill%3D%22%23D9D9D9%22%2F%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url(%23mask0_15_3929)%22%3E%3Cellipse%20cx%3D%22375%22%20cy%3D%2245.5%22%20rx%3D%22386%22%20ry%3D%2245.5%22%20fill%3D%22%233C3C3C%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.first-cta .first-period {
  position: relative;
  max-width: 263px;
  margin: 0 auto;
  z-index: 2;
}
@media (max-width: 767px) {
  .first-cta .first-period {
    max-width: calc((374 / 750) * 100vw);
    translate: 0 calc((-24 / 750) * 100vw);
  }
}
.first-cta .cta-btn {
  position: relative;
  display: block;
  max-width: 670px;
  margin: 0 auto;
  padding-top: 10px;
  z-index: 2;
}
@media (max-width: 767px) {
  .first-cta .cta-btn {
    padding-top: calc((12 / 750) * 100vw);
    translate: 0 calc((-24 / 750) * 100vw);
  }
}

.first-about {
  padding: 20px 32px;
  background-color: #ffcbd1;
}
@media (max-width: 767px) {
  .first-about {
    padding: calc((22 / 750) * 100vw) calc((30 / 750) * 100vw);
  }
}
.first-about .first-about-text {
  font-family: Noto Sans JP, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 138%;
  max-width: 840px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .first-about .first-about-text {
    font-size: calc((24 / 750) * 100vw);
  }
}

.first-tokuten {
  background-color: #fff1f3;
  padding: 64px 48px;
}
@media (max-width: 767px) {
  .first-tokuten {
    padding: calc((72 / 750) * 100vw) calc((48 / 750) * 100vw);
  }
}
.first-tokuten .tokuten-about {
  max-width: 800px;
  margin-inline: auto;
}
.first-tokuten .tokuten-about-heading {
  font-size: 20px;
  line-height: 141%;
  letter-spacing: 0.04rem;
  color: #fff;
  text-align: center;
  background-color: #3c3c3c;
  margin: unset;
  padding: 20px;
  border-radius: 5px 5px 0 0;
}
@media (max-width: 767px) {
  .first-tokuten .tokuten-about-heading {
    font-size: calc((32 / 750) * 100vw);
    padding: calc((14 / 750) * 100vw) calc((110 / 750) * 100vw);
    border-radius: calc((5 / 750) * 100vw) calc((5 / 750) * 100vw) 0 0;
  }
}
.first-tokuten .tokuten-about-item {
  background-color: #fff;
  padding: 20px;
  border-radius: 0 0 5px 5px;
}
@media (max-width: 767px) {
  .first-tokuten .tokuten-about-item {
    padding: calc((24 / 750) * 100vw) calc((96 / 750) * 100vw)
      calc((12 / 750) * 100vw);
    border-radius: 0 0 calc((5 / 750) * 100vw) calc((5 / 750) * 100vw);
  }
}
.first-tokuten .tokuten-about-item img {
  max-width: 362px;
  margin-inline: auto;
}
.first-tokuten .tokuten-block {
  position: relative;
  display: flex;
  max-width: 800px;
  margin: 0 auto;
  gap: 0 24px;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .first-tokuten .tokuten-block {
    flex-direction: column;
    gap: calc((32 / 750) * 100vw) 0;
    margin-top: calc((44 / 750) * 100vw);
    padding-inline: calc((20 / 750) * 100vw);
  }
}

/* end legion */

/* legion quiz*/

.quiz {
  background-color: #fff1f3;
}

.quiz .quiz-bg {
  max-width: 950px;
  margin-inline: auto;
  position: relative;
  background-color: #ee5268;
  padding: 8px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .quiz .quiz-bg {
    margin-inline: unset;
    padding: calc((8 / 750) * 100vw);
    border-radius: calc((20 / 750) * 100vw);
  }
}

.quiz .quiz-bg.correct,
.quiz .quiz-bg.incorrect {
  pointer-events: none;
}
.quiz .quiz-bg.incorrect::before {
  position: absolute;
  content: "";
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(37, 37, 37, 0.6);
  border-radius: 20px;
  z-index: 99;
}

.quiz .quiz-bg-line {
  padding: 36px 32px 28px;
  border: 2px solid #fff;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .quiz .quiz-bg-line {
    padding: calc((36 / 750) * 100vw) calc((32 / 750) * 100vw)
      calc((28 / 750) * 100vw);
    border: calc((2 / 750) * 100vw) solid #fff;
    border-radius: calc((20 / 750) * 100vw);
  }
}

.quiz .quiz-midashi {
  width: 386px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .quiz .quiz-midashi {
    width: calc((548 / 750) * 100vw);
  }
}
.quiz .quiz-tit-box {
  position: relative;
  width: 526px;
  margin: 40px auto -51px;
  padding: 36px 23px 16px;
  background-color: #fff;
  border: 4px solid #e2b214;
  border-radius: 4px;
  z-index: 2;
}
@media (max-width: 767px) {
  .quiz .quiz-tit-box {
    width: calc((614 / 750) * 100vw);
    margin: calc((48 / 750) * 100vw) auto calc((-104 / 750) * 100vw);
    padding: calc((40 / 750) * 100vw) calc((40 / 750) * 100vw)
      calc((24 / 750) * 100vw);
    border: calc((4 / 750) * 100vw) solid #e2b214;
    border-radius: calc((4 / 750) * 100vw);
  }
}
.quiz .quiz-tit-box::before {
  position: absolute;
  content: "";
  top: 12px;
  left: 16px;
  width: 208px;
  height: 2px;
  background-color: #e2b214;
  border-radius: 1px;
}
@media (max-width: 767px) {
  .quiz .quiz-tit-box::before {
    top: calc((14 / 750) * 100vw);
    left: calc((20 / 750) * 100vw);
    width: calc((242 / 750) * 100vw);
    height: calc((2 / 750) * 100vw);
    border-radius: calc((1 / 750) * 100vw);
  }
}
.quiz .quiz-tit-box::after {
  position: absolute;
  content: "";
  top: 12px;
  right: 16px;
  width: 208px;
  height: 2px;
  background-color: #e2b214;
  border-radius: 1px;
}
@media (max-width: 767px) {
  .quiz .quiz-tit-box::after {
    top: calc((14 / 750) * 100vw);
    right: calc((20 / 750) * 100vw);
    width: calc((242 / 750) * 100vw);
    height: calc((2 / 750) * 100vw);
    border-radius: calc((1 / 750) * 100vw);
  }
}
.quiz .quiz-tit-box .question {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  width: 56px;
  height: 56px;
  top: -32px;
  left: 50%;
  translate: -50% 0;
  background-color: #e2b214;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .quiz .quiz-tit-box .question {
    font-size: calc((32 / 750) * 100vw);
    width: calc((64 / 750) * 100vw);
    height: calc((64 / 750) * 100vw);
    top: calc((-32 / 750) * 100vw);
  }
}
.quiz .quiz-tit-box .problem {
  font-size: 26px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.04rem;
  color: #111;
  text-align: center;
}
@media (max-width: 767px) {
  .quiz .quiz-tit-box .problem {
    font-size: calc((40 / 750) * 100vw);
  }
}
.quiz .quiz-wrap {
  position: relative;
  width: 670px;
  margin: 0 auto;
  padding: 92px 0 40px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 2px 4px 4px 0px rgba(0, 0, 0, 0.17);
  z-index: 1;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap {
    width: calc((670 / 750) * 100vw);
    padding: calc((144 / 750) * 100vw) 0 calc((48 / 750) * 100vw);
    border-radius: calc((4 / 750) * 100vw);
    box-shadow: calc((2 / 750) * 100vw) calc((4 / 750) * 100vw)
      calc((4 / 750) * 100vw) 0px rgba(0, 0, 0, 0.17);
  }
}
.quiz .quiz-wrap .answer-box {
  display: flex;
  gap: 0 26px;
  width: 592px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .answer-box {
    flex-direction: column;
    width: calc((564 / 750) * 100vw);
  }
}
.quiz .quiz-wrap .answer-box .answer {
  width: 180px;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .answer-box .answer {
    width: auto;
  }
}
.quiz .quiz-wrap .box {
  position: relative;
}
.quiz .quiz-wrap label {
  display: block;
  width: 100%;
  margin: 0 auto 40px;
  background-color: #fff1f3;
  border: 2px solid #111;
  border-radius: 10px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap label {
    margin: 0 auto calc((40 / 750) * 100vw);
    border: calc((4 / 750) * 100vw) solid #111;
    border-radius: calc((10 / 750) * 100vw);
    box-shadow: 0px calc((4 / 750) * 100vw) calc((4 / 750) * 100vw) 0px
      rgba(0, 0, 0, 0.25);
    cursor: pointer;
  }
}
.quiz .quiz-wrap input:checked + label {
  background-color: #ee5268;
}
.quiz .quiz-wrap input[type="radio"] {
  display: none;
}
.quiz .quiz-wrap .num {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  width: 28px;
  height: 28px;
  top: 50%;
  left: 10px;
  translate: 0 -50%;
  background-color: #ee5268;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .num {
    font-size: calc((28 / 750) * 100vw);
    width: calc((56 / 750) * 100vw);
    height: calc((56 / 750) * 100vw);
    left: calc((44 / 750) * 100vw);
  }
}
.quiz .quiz-wrap input:checked + label .num {
  color: #ee5268;
  background-color: #fff;
}
.quiz .quiz-wrap .txt {
  display: block;
  color: #111;
  padding: 6px 0;
  margin-left: 57px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.04rem;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .txt {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc((20 / 750) * 100vw) 0;
    margin-left: unset;
    font-size: calc((36 / 750) * 100vw);
    text-align: center;
  }
}
.quiz .quiz-wrap input:checked + label .txt {
  color: #fff;
}
.quiz .quiz-wrap .answer-btn {
  width: 366px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .answer-btn {
    width: calc((510 / 750) * 100vw);
  }
}
.quiz .quiz-wrap .answer-btn.hide {
  display: none;
}
.quiz .quiz-wrap .comment {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04rem;
  color: #ca0111;
  text-align: center;
  margin-top: 12px;
}
@media (max-width: 767px) {
  .quiz .quiz-wrap .comment {
    font-size: calc((20 / 750) * 100vw);
    margin-top: calc((12 / 750) * 100vw);
  }
}
.quiz .quiz-wrap .comment::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 25%;
  bottom: 2px;
  left: calc(50% + 6px);
  translate: -50% 0;
  background-color: rgba(250, 203, 50, 0.4);
}

.quiz .quiz-area-answer {
  display: none;
}
.quiz .quiz-area-answer.show {
  display: block;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .quiz .quiz-area-answer.show {
    margin-top: unset;
  }
}
.quiz-area-answer.answer-incorrect {
  position: relative;
  padding: 56px 40px;
  background-color: #f7f5f3;
  overflow: hidden;
}
@media (max-width: 767px) {
  .quiz-area-answer.answer-incorrect {
    padding: calc((44 / 750) * 100vw) calc((40 / 750) * 100vw)
      calc((64 / 750) * 100vw);
  }
}
.quiz-area-answer.answer-incorrect .solution {
  max-width: 478px;
  margin-inline: auto;
}
.quiz-area-answer.answer-correct {
  position: relative;
  padding: 84px 56px 64px;
  background-color: #f7f5f3;
  overflow: hidden;
}
@media (max-width: 767px) {
  .quiz-area-answer.answer-correct {
    padding: calc((84 / 750) * 100vw) calc((56 / 750) * 100vw)
      calc((64 / 750) * 100vw);
  }
}
.quiz-area-answer.answer-correct .solution {
  max-width: 480px;
  margin-inline: auto;
}
.quiz-area-answer .ashirai-box {
  position: relative;
  max-width: 942px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .quiz-area-answer .ashirai-box {
    position: static;
  }
}
.quiz-area-answer .ashirai-box .pos-01 {
  top: -156px;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .quiz-area-answer .ashirai-box .pos-01 {
    top: calc((-76 / 750) * 100vw);
    left: calc((-4 / 750) * 100vw);
  }
}
.quiz-area-answer .ashirai-box .pos-02 {
  width: 194px;
  top: -156px;
  right: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .quiz-area-answer .ashirai-box .pos-02 {
    width: calc((194 / 750) * 100vw);
    top: calc((-64 / 750) * 100vw);
    right: calc((-11 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .correct {
  position: relative;
  width: 480px;
  margin-inline: auto;
  z-index: 2;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .correct {
    width: calc((584 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .wrong {
  position: relative;
  width: 478px;
  margin-inline: auto;
  z-index: 2;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .wrong {
    width: calc((478 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box {
  position: relative;
  max-width: 670px;
  margin: 56px auto 0;
  padding: 86px 104px 52px;
  background-color: #fff;
  border: 4px solid #ca0111;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box {
    margin: calc((48 / 750) * 100vw) auto 0;
    padding: calc((86 / 750) * 100vw) calc((60 / 750) * 100vw)
      calc((52 / 750) * 100vw);
    border: calc((4 / 750) * 100vw) solid #ca0111;
    border-radius: calc((4 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box::before {
  position: absolute;
  content: "";
  top: 14px;
  left: 18px;
  width: 270px;
  height: 2px;
  background-color: #ca0111;
  border-radius: 1px;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box::before {
    top: calc((14 / 750) * 100vw);
    left: calc((20 / 750) * 100vw);
    width: calc((242 / 750) * 100vw);
    height: calc((2 / 750) * 100vw);
    border-radius: calc((1 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box::after {
  position: absolute;
  content: "";
  top: 14px;
  right: 18px;
  width: 270px;
  height: 2px;
  background-color: #ca0111;
  border-radius: 1px;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box::after {
    top: calc((14 / 750) * 100vw);
    right: calc((20 / 750) * 100vw);
    width: calc((242 / 750) * 100vw);
    height: calc((2 / 750) * 100vw);
    border-radius: calc((1 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  width: 64px;
  height: 64px;
  top: -32px;
  left: 50%;
  translate: -50% 0;
  background-color: #ca0111;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer {
    font-size: calc((32 / 750) * 100vw);
    width: calc((64 / 750) * 100vw);
    height: calc((64 / 750) * 100vw);
    top: calc((-32 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer-text {
  font-size: 20px;
  font-weight: 600;
  line-height: 160%;
  letter-spacing: 0.04rem;
  color: #111;
  text-align: center;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer-text {
    font-size: calc((28 / 750) * 100vw);
    margin-top: calc((28 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer-text.bold {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0;
  margin-top: unset;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .quiz-answer-box .answer-text.bold {
    font-size: calc((36 / 750) * 100vw);
  }
}
.quiz-area-answer
  .quiz-area-answer-inner
  .quiz-answer-box
  .answer-text.bg-marker {
  background-color: rgba(255, 242, 0, 0.2);
}
.quiz-area-answer .quiz-area-answer-inner .sentence {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .quiz-area-answer .quiz-area-answer-inner .sentence {
    margin-top: calc((32 / 750) * 100vw);
  }
}
.quiz-area-answer .quiz-area-answer-inner .impression .tit {
  background-color: #f7f5f3;
}

/* quiz modal */
.js_modalWrap {
  display: none;
  z-index: -1;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  overscroll-behavior-y: contain;
}
.js_modalWrap.active {
  animation: modalOpen 0.3s ease forwards;
  display: block;
}
.js_modalWrap.active2 {
  animation: modalClose 0.3s ease forwards;
  display: block;
}
.js_modalBG {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.js_modalContWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
}
.modal-content01 .js_modalContWrap {
  display: flex;
  align-items: flex-start;
}
.modal-content01 .js_modalContWrap,
.modal-content03 .js_modalContWrap {
  display: flex;
  align-items: center;
}
.js_modalContInner {
  position: relative;
  width: 688px;
  max-width: calc((624 / 688) * 100%);
  padding: 64px 40px 64px;
  background-color: #fffbef;
  border: 3px solid #c90010;
  border-radius: 20px;
  margin: 216px auto 136px;
  overflow: hidden;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .js_modalContInner {
    width: calc((686 / 750) * 100vw);
    max-width: unset;
    margin: 50px auto;
    padding: calc((116 / 750) * 100vw) calc((40 / 750) * 100vw)
      calc((60 / 750) * 100vw);
    border: calc((3 / 750) * 100vw) solid #c90010;
    border-radius: calc((20 / 750) * 100vw);
  }
}
.modalClose-btn {
  position: absolute;
  display: block;
  width: 72px;
  height: 72px;
  top: 24px;
  right: 24px;
  cursor: pointer;
  z-index: 1001;
}
@media screen and (max-width: 767px) {
  .modalClose-btn {
    width: calc((72 / 750) * 100vw);
    height: calc((72 / 750) * 100vw);
    top: calc((24 / 750) * 100vw);
    right: calc((24 / 750) * 100vw);
  }
}
@keyframes modalOpen {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    z-index: 1000;
  }
}
@keyframes modalClose {
  0% {
    opacity: 1;
    z-index: 1000;
  }
  100% {
    opacity: 0;
  }
}
.ashirai-box .pos-01 {
  position: absolute;
  width: 194px;
  top: -68px;
  left: -27px;
  rotate: -151deg;
}
@media (max-width: 767px) {
  .ashirai-box .pos-01 {
    width: calc((194 / 750) * 100vw);
    top: calc((-68 / 750) * 100vw);
    left: calc((-27 / 750) * 100vw);
  }
}
.ashirai-box .pos-02 {
  position: absolute;
  width: 210px;
  top: -72px;
  right: -30px;
  rotate: -28deg;
}
@media (max-width: 767px) {
  .ashirai-box .pos-02 {
    width: calc((210 / 750) * 100vw);
    top: calc((-72 / 750) * 100vw);
    right: calc((-30 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .correct {
  width: 304px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .correct {
    width: calc((304 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .sentence {
  font-size: 20px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.04rem;
  color: #111;
  text-align: center;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .sentence {
    font-size: calc((28 / 750) * 100vw);
    margin-top: calc((10 / 750) * 100vw);
  }
}

.quiz-area-answer-inner .sentence span {
  color: #c90010;
  font-weight: 700;
}

.quiz-area-answer-inner .cta-wrap-q {
  max-width: 480px;
  margin-inline: auto;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .cta-wrap-q {
    margin-top: calc((40 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .note {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08rem;
  text-align: center;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .note {
    font-size: calc((20 / 750) * 100vw);
  }
}

.c-code-wrap {
  position: relative;
  max-width: 422px;
  margin-inline: auto;
  background-image: linear-gradient(
    to right,
    #c90010,
    #c90010 6px,
    transparent 6px,
    transparent 8px
  );
  background-size: 10px 1px;
  background-position: left top;
  background-repeat: repeat-x;
  margin-top: 32px;
  padding-top: 32px;
}
@media (max-width: 767px) {
  .c-code-wrap {
    background-image: linear-gradient(
      to right,
      #c90010,
      #c90010 calc((6 / 750) * 100vw),
      transparent calc((6 / 750) * 100vw),
      transparent calc((8 / 750) * 100vw)
    );
    background-size: calc((10 / 750) * 100vw) calc((1 / 750) * 100vw);
    margin-top: calc((28 / 750) * 100vw);
    padding-top: calc((40 / 750) * 100vw);
  }
}
.c-code-wrap .c-code {
  width: 280px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .c-code-wrap .c-code {
    width: calc((336 / 750) * 100vw);
  }
}

.quiz-area-answer-inner .campaign-code-box {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.quiz-area-answer-inner .campaign-code-txt {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.04rem;
  color: #111;
  text-align: center;
  width: 450px;
  margin: 0 auto 32px;
  padding-block: 16px;
  background-color: #fff;
  border: 2px solid #111;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .campaign-code-txt {
    font-size: calc((40 / 750) * 100vw);
    width: calc((480 / 750) * 100vw);
    margin: 0 auto calc((32 / 750) * 100vw);
    padding-block: calc((16 / 750) * 100vw);
    border: calc((2 / 750) * 100vw) solid #111;
    border-radius: calc((4 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .copy-btn {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08rem;
  color: #1558d6;
  text-align: center;
  text-decoration: underline;
  margin: 0 auto;
  padding: unset;
  background-color: transparent;
  border: transparent;
  cursor: pointer;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .copy-btn {
    font-size: calc((24 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .impression {
  position: relative;
  width: 100%;
  max-width: 470px;
  margin: 48px auto 0;
  border-radius: 10px;
  border: 3px dashed #310000;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .impression {
    margin: calc((84 / 750) * 100vw) auto 0;
    border-radius: calc((10 / 750) * 100vw);
    border: 0.5vw dashed #310000;
  }
}
.quiz-area-answer-inner .impression .tit {
  position: absolute;
  font-family: Noto Sans JP, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: #310000;
  white-space: nowrap;
  top: -21px;
  left: 50%;
  translate: -50% 0;
  background-color: #fffbef;
  padding: 0 28px;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .impression .tit {
    font-size: calc((26 / 750) * 100vw);
    top: calc((-28 / 750) * 100vw);
    padding: 0 calc((28 / 750) * 100vw);
  }
}
.quiz-area-answer-inner .impression .campaign-code {
  max-width: 450px;
  margin: 24px auto 10px;
}
@media (max-width: 767px) {
  .quiz-area-answer-inner .impression .campaign-code {
    width: calc((570 / 750) * 100vw);
    margin: calc((24 / 750) * 100vw) auto calc((10 / 750) * 100vw);
  }
}

/* end legion */

/* legion quiz-timer*/
.timer-text-quiz {
  position: absolute;
  display: grid;
  place-items: center;
  top: 124px;
  left: 50%;
  transform: translateX(-50%);
  width: 622px;
  height: 660px;
  background-color: rgb(219 219 219 / 80%);
  font-size: clamp(14px, 2.35vw, 18px);
  font-weight: bold;
  text-align: center;
  padding: 10px;
  z-index: 1;
}
@media (max-width: 767px) {
  .timer-text-quiz {
    top: calc((124 / 750) * 100vw);
    width: calc((622 / 750) * 100vw);
    height: calc((660 / 750) * 100vw);
    padding: calc((10 / 750) * 100vw);
  }
}
.timer-text-quiz.hide {
  display: none;
}
/* end legion

/* legion flow*/
.flow {
  position: relative;
  background-color: #fff1f3;
  padding: 104px 0 80px;
  color: #111;
  overflow: hidden;
}
@media (max-width: 767px) {
  .flow {
    padding: calc((56 / 750) * 100vw) 0 calc((80 / 750) * 100vw);
  }
}
.flow .flow-inner {
  padding-inline: 32px;
}
@media (max-width: 767px) {
  .flow .flow-inner {
    padding-inline: calc((32 / 750) * 100vw);
  }
}
.flow .flow-garland-left {
  position: absolute;
  top: 88px;
  left: calc(50% - 282px);
  translate: -50% 0;
  width: 129px;
  rotate: -151deg;
}
@media (max-width: 767px) {
  .flow .flow-garland-left {
    top: calc((26 / 750) * 100vw);
    left: calc((-19 / 750) * 100vw);
    translate: unset;
    width: calc((110 / 750) * 100vw);
  }
}
.flow .flow-garland-right {
  position: absolute;
  top: 88px;
  right: calc(50% - 397px);
  translate: -50% 0;
  width: 129px;
  rotate: -29deg;
}
@media (max-width: 767px) {
  .flow .flow-garland-right {
    top: calc((26 / 750) * 100vw);
    right: calc((-0.1 / 750) * 100vw);
    translate: unset;
    width: calc((110 / 750) * 100vw);
  }
}
.flow .midashi {
  max-width: 442px;
  margin: 0 auto;
  padding-top: unset;
  z-index: 1;
}
@media (max-width: 767px) {
  .flow .midashi {
    width: calc((542 / 750) * 100vw);
  }
}
.flow .flow-step {
  max-width: 800px;
  margin-inline: auto;
  padding: 30px 0 60px;
}
@media (max-width: 767px) {
  .flow .flow-step {
    padding: calc((40 / 750) * 100vw) 0 calc((48 / 750) * 100vw);
  }
}
.flow .flow-step-block {
  position: relative;
  margin: 0 auto 56px;
  background-color: #fff;
  border: 4px solid #e0e0e0;
  border-radius: 20px;
  padding: 32px;
  z-index: 2;
}
@media (max-width: 767px) {
  .flow .flow-step-block {
    margin: 0 auto calc((56 / 750) * 100vw);
    border: calc((4 / 750) * 100vw) solid #e0e0e0;
    border-radius: calc((20 / 750) * 100vw);
    padding: 6vw;
  }
}
.flow .flow-step-block:after {
  content: "";
  width: 30px;
  height: 187px;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  background-color: #e0e0e0;
  z-index: 1;
  bottom: -187px;
}
@media (max-width: 767px) {
  .flow .flow-step-block:after {
    width: calc((10 / 750) * 100vw);
    height: 25vw;
    bottom: -25vw;
  }
}
.flow .flow-step-block:nth-of-type(1) {
  margin: 0 auto 40px;
}
@media (max-width: 767px) {
  .flow .flow-step-block:nth-of-type(1) {
    margin: 0 auto calc((56 / 750) * 100vw);
  }
}
.flow .flow-step-block:nth-of-type(2) {
  margin: 0 auto 116px;
}
@media (max-width: 767px) {
  .flow .flow-step-block:nth-of-type(2) {
    margin: 0 auto calc((124 / 750) * 100vw);
  }
}
.flow .flow-step-block:nth-of-type(3) {
  margin: 0 auto 116px;
}
@media (max-width: 767px) {
  .flow .flow-step-block:nth-of-type(3) {
    margin: 0 auto calc((136 / 750) * 100vw);
  }
}
.flow .flow-step-block:last-of-type {
  margin-bottom: 0;
}
.flow .flow-step-block:last-of-type:after {
  content: none;
}
.flow .flow-step-block .note {
  display: block;
  font-weight: 500;
  padding-top: 3px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .flow .flow-step-block .note {
    padding-top: 8px;
  }
}
.flow .flow-step-block .note.center {
  margin: 0 auto;
}
.flow .flow-step-block.flow-step-block--2 .note {
  font-size: 20px;
  font-weight: 600;
  line-height: calc(45 / 28);
  letter-spacing: 0.04rem;
  margin-top: 10px;
  padding: unset;
}
@media (max-width: 767px) {
  .flow .flow-step-block.flow-step-block--2 .note {
    font-size: calc((28 / 750) * 100vw);
    margin-top: calc((16 / 750) * 100vw);
  }
}
.flow .flow-step-block.flow-step-block--3 .note {
  width: 448px;
  font-size: 14px;
  font-weight: 500;
  line-height: 145%;
  letter-spacing: 0.08rem;
  margin-top: 24px;
  padding: unset;
  text-indent: -1.3em;
  translate: 1em 0;
}
@media (max-width: 767px) {
  .flow .flow-step-block.flow-step-block--3 .note {
    width: calc((488 / 750) * 100vw);
    font-size: calc((20 / 750) * 100vw);
    margin-top: calc((16 / 750) * 100vw);
  }
}
.flow .flow-step-block.flow-step-block--3 .note:nth-of-type(2) {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .flow .flow-step-block.flow-step-block--3 .note:nth-of-type(2) {
    margin-top: calc((16 / 750) * 100vw);
  }
}
.flow .flow-step-block.flow-step-block--3 .note:last-of-type {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .flow .flow-step-block.flow-step-block--3 .note:last-of-type {
    margin-top: calc((16 / 750) * 100vw);
  }
}
.flow .flow-step-cta {
  display: block;
  max-width: 566px;
  margin: 0 auto;
  padding-top: 24px;
}
@media (max-width: 767px) {
  .flow .flow-step-cta {
    padding-top: calc((28 / 750) * 100vw);
  }
}
.flow .flow-step-ttl {
  font-size: 30px;
  font-weight: 800;
  line-height: calc(40 / 32);
  letter-spacing: 0.03rem;
  text-align: center;
  width: fit-content;
  margin: 0 auto;
  background-color: #fffccc;
  padding: 12px 24px;
}
@media (max-width: 767px) {
  .flow .flow-step-ttl {
    font-size: calc((40 / 750) * 100vw);
    padding: calc((12 / 750) * 100vw) calc((24 / 750) * 100vw);
  }
}
@media (max-width: 767px) {
  .flow .flow-step-block--4 .flow-step-ttl {
    padding: 0 6vw;
  }
}
.flow .flow-step-sentence {
  font-size: 20px;
  font-weight: 600;
  line-height: calc(45 / 28);
  letter-spacing: 0.04rem;
  text-align: center;
  padding-top: 30px;
}
@media (max-width: 767px) {
  .flow .flow-step-sentence {
    font-size: calc((28 / 750) * 100vw);
    padding-top: calc((32 / 750) * 100vw);
  }
}
.flow .flow-step-sentence span {
  font-size: 26px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .flow .flow-step-sentence span {
    font-size: calc((32 / 750) * 100vw);
  }
}
.flow .flow-step-sentence .red {
  font-size: 28px;
  font-weight: 600;
  color: #c90010;
}
@media (max-width: 767px) {
  .flow .flow-step-sentence .red {
    font-size: calc((28 / 750) * 100vw);
  }
}
.flow .flow-step-number {
  position: absolute;
  top: -79px;
  left: 50%;
  translate: -50% 0;
  max-width: unset;
  width: 230px;
}
@media (max-width: 767px) {
  .flow .flow-step-number {
    top: calc((-79 / 750) * 100vw);
    width: calc((230 / 750) * 100vw);
  }
}
.flow .flow-step-present {
  position: relative;
  width: 472px;
  margin: 8px auto 0;
}
@media (max-width: 767px) {
  .flow .flow-step-present {
    width: calc((472 / 750) * 100vw);
    margin: calc((8 / 750) * 100vw) auto 0;
  }
}
.flow .flow-total-present {
  width: 726px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .flow .flow-total-present {
    width: calc((672 / 750) * 100vw);
  }
}
.flow .flow-step .border-gray {
  width: 100%;
  max-width: 618px;
  height: 2px;
  margin: 28px auto 0;
  background-color: #e0e0e0;
}
@media (max-width: 767px) {
  .flow .flow-step .border-gray {
    height: calc((2 / 750) * 100vw);
    margin: calc((28 / 750) * 100vw) auto 0;
  }
}
/* end legion */

/* legion campaign*/
.campaign {
  position: relative;
  background-color: #ffcbd1;
  padding-block: 100px 80px;
}
@media (max-width: 767px) {
  .campaign {
    padding-block: calc((72 / 750) * 100vw) calc((104 / 750) * 100vw);
  }
}
.campaign:before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../images/pc/campaign-bg.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 767px) {
  .campaign:before {
    background-image: url(../images/campaign-bg.svg);
  }
}
.campaign .campaign-fukidashi {
  max-width: 740px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .campaign .campaign-fukidashi {
    width: calc((514 / 750) * 100vw);
  }
}
.campaign .campaign-inner {
  position: relative;
  padding-inline: 32px;
  z-index: 1;
}
@media (max-width: 767px) {
  .campaign .campaign-inner {
    padding-inline: calc((32 / 750) * 100vw);
  }
}
.campaign .campaign-dcard-pratinum {
  position: relative;
  width: 630px;
  margin: 24px auto 0;
}
@media (max-width: 767px) {
  .campaign .campaign-dcard-pratinum {
    width: calc((630 / 750) * 100vw);
    margin: calc((24 / 750) * 100vw) auto 0;
  }
}
.campaign .campaign-ctt {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
  max-width: 800px;
  margin: 32px auto 0;
}
@media (max-width: 767px) {
  .campaign .campaign-ctt {
    gap: calc((64 / 750) * 100vw);
  }
}
.campaign-box-fukidashi {
  width: 320px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .campaign-box-fukidashi {
    width: calc((320 / 750) * 100vw);
  }
}
.campaign .campaign-box {
  position: relative;
  background-color: #fff;
  margin-top: 8px;
  padding-bottom: 40px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  .campaign .campaign-box {
    margin-top: calc((8 / 750) * 100vw);
    padding-bottom: calc((40 / 750) * 100vw);
    border-radius: calc((20 / 750) * 100vw);
  }
}
.campaign .campaign-ttl {
  margin: 0 auto;
  background-color: #980c18;
  border-radius: 20px 20px 0 0;
}
@media (max-width: 767px) {
  .campaign .campaign-ttl {
    border-radius: calc((20 / 750) * 100vw) calc((20 / 750) * 100vw) 0 0;
  }
}
.campaign .campaign-box--1 .campaign-ttl {
  padding: 28px 62px 18px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--1 .campaign-ttl {
    padding: calc((28 / 750) * 100vw) calc((62 / 750) * 100vw)
      calc((18 / 750) * 100vw);
  }
}
.campaign .campaign-box--2 .campaign-ttl {
  padding: 24px 90px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--2 .campaign-ttl {
    padding: calc((28 / 750) * 100vw) calc((32 / 750) * 100vw)
      calc((18 / 750) * 100vw);
  }
}
.campaign .campaign-box--3 .campaign-ttl {
  padding: 48px 104px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--3 .campaign-ttl {
    padding: calc((28 / 750) * 100vw) calc((46 / 750) * 100vw)
      calc((18 / 750) * 100vw);
  }
}
.campaign .campaign-box--4 .campaign-ttl {
  padding: 20px 44px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--4 .campaign-ttl {
    padding: calc((28 / 750) * 100vw) calc((16 / 750) * 100vw)
      calc((18 / 750) * 100vw);
  }
}
.campaign .campaign-bnr {
  display: block;
  width: 560px;
  margin: 28px auto 0;
}
@media (max-width: 767px) {
  .campaign .campaign-bnr {
    width: calc((560 / 750) * 100vw);
    margin: calc((28 / 750) * 100vw) auto 0;
  }
}
.campaign .campaign-sentence {
  font-size: 20px;
  font-weight: 600;
  line-height: calc(36 / 24);
  letter-spacing: 0.08rem;
  color: #111;
  text-align: center;
  margin-top: 16px;
}
@media (max-width: 767px) {
  .campaign .campaign-sentence {
    font-size: calc((24 / 750) * 100vw);
    margin-top: calc((24 / 750) * 100vw);
  }
}
.campaign .campaign-box--1 .campaign-sentence {
  padding-inline: 92px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--1 .campaign-sentence {
    padding-inline: calc((92 / 750) * 100vw);
  }
}
.campaign .campaign-box--1 .campaign-sentence .normal {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--1 .campaign-sentence .normal {
    margin-top: calc((20 / 750) * 100vw);
  }
}
.campaign .campaign-box--2 .campaign-sentence .normal {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--2 .campaign-sentence .normal {
    margin-top: calc((16 / 750) * 100vw);
  }
}
.campaign .campaign-box--3 .campaign-sentence .normal {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .campaign .campaign-box--3 .campaign-sentence .normal {
    margin-top: calc((4 / 750) * 100vw);
  }
}
.campaign .campaign-sentence .bold {
  font-weight: 600;
  font-size: 32px;
}
@media (max-width: 767px) {
  .campaign .campaign-sentence .bold {
    font-size: 4.2vw;
  }
}
.campaign .campaign-sentence .emphasis {
  font-weight: 800;
}
.campaign .note {
  font-size: 14px;
  font-weight: 400;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .campaign .note {
    font-size: calc((20 / 750) * 100vw);
    margin-top: calc((20 / 750) * 100vw);
  }
}
.campaign .note-bottom {
  position: relative;
  left: 0;
}
.campaign .cta-area {
  margin: 48px auto 0;
}
@media (max-width: 767px) {
  .campaign .cta-area {
    margin: calc((48 / 750) * 100vw) auto 0;
  }
}
/* end legion */

/* legion reason */
.reason {
  font-family: Noto Sans JP, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff1f3;
  padding-bottom: 40px;
}
.reason .reason-inner {
  padding-inline: 32px;
}
@media (max-width: 767px) {
  .reason .reason-inner {
    padding-inline: unset;
  }
}
.reason .reason-midashi {
  max-width: 520px;
  margin: 0 auto;
  padding: 48px 0 28px;
}
@media (max-width: 767px) {
  .reason .reason-midashi {
    max-width: 76vw;
    padding: 9vw 0 6vw;
  }
}
.reason .reason-logo {
  max-width: 258px;
  margin: 0 auto;
  padding-bottom: 28px;
}
@media (max-width: 767px) {
  .reason .reason-logo {
    max-width: 68.8vw;
  }
}
.reason .reason-text {
  max-width: 696px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .reason .reason-text {
    max-width: 87vw;
  }
}
.reason .reason-list {
  max-width: 960px;
  margin: 0 auto;
  padding: 16px 0;
}
@media (max-width: 767px) {
  .reason .reason-list {
    padding: 6.4vw 6.4vw 3vw;
  }
}
.reason .reason-row {
  display: flex;
  justify-content: center;
  gap: 18px;
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .reason .reason-row {
    flex-direction: column;
    gap: 6vw;
    padding-bottom: 16vw;
  }
}
.reason .reason-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  background-color: #fff;
  box-shadow: 4px 4px 0px 0px #333;
  border-radius: 5px;
  border: #333333 2px solid;
  padding: 20px;
}
@media (max-width: 767px) {
  .reason .reason-box {
    padding: 4vw 7vw 6vw;
  }
}
.reason .reason-box .note {
  font-size: 12px;
  font-weight: 400;
  line-height: calc(34 / 24);
  color: #747474;
  text-indent: -1.3em;
  margin-left: 1em;
  padding-top: 10px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .reason .reason-box .note {
    font-size: calc((24 / 750) * 100vw);
    padding-top: calc((8 / 750) * 100vw);
  }
}
.reason .reason-box .note a {
  display: inline;
}
.reason .reason-box-sarani {
  position: relative;
  padding-top: 32px;
}
@media (max-width: 767px) {
  .reason .reason-box-sarani {
    padding-top: 8vw;
  }
}
.reason .reason-box-sarani::before {
  content: "";
  width: 72px;
  height: 72px;
  background: url(../images/reason-sarani.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -45px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .reason .reason-box-sarani::before {
    width: 19vw;
    height: 19vw;
    top: -12vw;
  }
}
.reason .reason-box-sarani img {
  max-width: 442px;
  margin: 0 auto;
}
.reason .reason-box-sarani .note {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .reason .cta-area {
    padding: 0 6.4vw;
  }
}
/* end legion */

/* legion nisa */
.nisa {
  font-family: Noto Sans JP, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #f7f5f3;
  padding-bottom: 74px;
}
@media (max-width: 767px) {
  .nisa {
    padding-bottom: 10vw;
  }
}
.nisa .nisa-midashi {
  background-color: #820610;
  padding: 18px 0 29px;
  margin: 0 0 30px;
}
.nisa .nisa-midashi img {
  max-width: 428px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .nisa .nisa-midashi img {
    max-width: 57vw;
  }
}
.nisa .nisa-inner {
  padding: 0 20px;
}
@media (max-width: 767px) {
  .nisa .nisa-inner {
    padding: 0 6.4vw;
  }
}
.nisa .nisa-ctt-wrap {
  max-width: 960px;
  background-color: #fff;
  margin: 0 auto 30px;
  border-radius: 10px;
  padding: 40px 20px 10px;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-wrap {
    padding: 5vw;
  }
}
.nisa .nisa-ctt {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt {
    flex-direction: column;
    margin-bottom: 6vw;
  }
}
.nisa .nisa-ctt-text {
  max-width: 361px;
  font-size: 16px;
  background-color: #f7f5f3;
  border-radius: 5px;
  padding: 32px;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-text {
    max-width: 100%;
    font-size: 4.2vw;
    padding: 6vw 8vw;
  }
}
.nisa .nisa-ctt-graph {
  max-width: 285px;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-graph {
    max-width: 100%;
  }
}
.nisa .nisa-ctt-text-ttl {
  position: relative;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  line-height: 1.4;
  padding-bottom: 9px;
  margin-bottom: 13px;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-text-ttl {
    font-size: 4.2vw;
    padding-bottom: 2vw;
    margin-bottom: 4vw;
  }
}
.nisa .nisa-ctt-text-ttl::before {
  content: "";
  width: 204px;
  height: 3px;
  background: url(../images/pc/border-dot.svg) no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-text-ttl::before {
    width: 57vw;
    height: 1vw;
    background: url(../images/border-dot.svg) no-repeat;
    background-size: contain;
    background-position: center;
  }
}
.nisa .nisa-ctt-text-ttl span {
  font-size: 20px;
  color: #ff6a06;
}
@media (max-width: 767px) {
  .nisa .nisa-ctt-text-ttl span {
    font-size: 5.3vw;
  }
}
.nisa .nisa-ctt-text-sentence {
  font-weight: 500;
}
.nisa .nisa-ctt-text-sentence span {
  font-weight: 600;
}
.nisa .marker {
  background: linear-gradient(transparent 70%, #fff200 90%);
}
.nisa .nisa-fukidashi {
  max-width: 470px;
  margin: 0 auto 16px;
}
@media (max-width: 767px) {
  .nisa .nisa-fukidashi {
    max-width: 100%;
    margin-bottom: 4vw;
  }
}
.nisa .nisa-point {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .nisa .nisa-point {
    width: 84%;
  }
}
.nisa .nisa-point-item {
  display: flex;
  font-size: 16px;
  font-weight: 600;
  padding-bottom: 16px;
  gap: 14px;
}
@media (max-width: 767px) {
  .nisa .nisa-point-item {
    font-size: 4.2vw;
    padding-bottom: 4vw;
    gap: 2vw;
  }
}
.nisa .nisa-point-item p {
  line-height: 1.4;
}
.nisa .nisa-point-item img {
  display: inline;
  vertical-align: middle;
  position: relative;
  top: -4px;
}
@media (max-width: 767px) {
  .nisa .nisa-point-item img {
    top: 0;
  }
}
.nisa .nisa-point-item--1 img {
  max-width: 30px;
}
@media (max-width: 767px) {
  .nisa .nisa-point-item--1 img {
    max-width: 8vw;
  }
}
.nisa .nisa-point-item--2 img {
  max-width: 35px;
}
@media (max-width: 767px) {
  .nisa .nisa-point-item--2 img {
    max-width: 9.3vw;
  }
}
.nisa .nisa-point-item span {
  color: #d00f31;
  font-size: 18px;
}
@media (max-width: 767px) {
  .nisa .nisa-point-item span {
    font-size: 4.8vw;
  }
}
.nisa .nisa-sponsorship {
  max-width: 1000px;
  padding: 0 20px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship {
    padding: 0;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-box {
  max-width: 924px;
  margin: 0 auto 30px;
  background-color: #fff;
  border-radius: 5px;
  border: 2px solid #333;
  font-size: 12px;
  text-align: center;
  padding: 6px 40px 30px;
}
@media (max-width: 1010px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-box {
    max-width: 87.5vw;
    padding: 1vw 4vw 4vw;
  }
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-box {
    font-size: 3.2vw;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-bnr {
  flex: 1;
}
.nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-text {
  flex: 1;
  text-align: left;
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-text {
    text-align: center;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-sentence {
  width: 100%;
}
.nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-ctt {
  gap: 8px;
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-box--2 .nisa-sponsorship-ctt {
    gap: 1vw;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-ttl {
  width: 960px;
  position: relative;
  left: -60px;
  margin: 6px 0;
}
@media (max-width: 1010px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-ttl {
    width: 90.7vw;
    left: -5.8vw;
  }
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-ttl {
    width: 92.9vw;
    left: -7.2vw;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-ctt {
  display: flex;
  justify-content: center;
  max-width: 712px;
  margin: 0 auto;
  gap: 32px;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-ctt {
    flex-direction: column;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-sentence {
  width: 89%;
  margin: 0 auto;
  padding-top: 10px;
  font-size: 16px;
}
@media (max-width: 767px) {
  .nisa .nisa-sponsorship .nisa-sponsorship-sentence {
    width: 100%;
    font-size: 4.2vw;
  }
}
.nisa .nisa-sponsorship .nisa-sponsorship-sentence .marker {
  background: linear-gradient(transparent 60%, #fbf362 70%);
}
.nisa .note {
  max-width: 428px;
  margin-inline: auto;
  text-align: left;
}
@media (max-width: 767px) {
  .nisa .cta-area {
    padding: 0 6.4vw;
  }
}
/* end legion */

/* legion docomo-nisa */

.docomo-nisa {
  background-color: #f0eeec;
}
@media (max-width: 767px) {
  .docomo-nisa {
  }
}
.docomo-nisa-inner {
  padding: 60px 32px;
}
@media (max-width: 767px) {
  .docomo-nisa-inner {
    padding: calc((60 / 750) * 100vw) calc((42 / 750) * 100vw);
  }
}
.docomo-nisa-bnr {
  max-width: 638px;
  margin-inline: auto;
}

.docomo-nisa-sentence {
  font-size: 20px;
  font-weight: 500;
  line-height: calc(42 / 28);
  color: #111;
  text-align: center;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .docomo-nisa-sentence {
    font-size: calc((28 / 750) * 100vw);
    margin-top: calc((24 / 750) * 100vw);
  }
}

/* end legion */

/* overview
   ========================================================================== */
.overview {
  padding: 40px 15px;
}
@media (max-width: 767px) {
  .overview {
    padding: 30px 6.4vw;
  }
}

.overview-ttl {
  max-width: 253px;
  margin-inline: auto;
  padding: 20px 0 50px;
}
@media (max-width: 767px) {
  .overview-ttl {
    max-width: 180px;
    padding: 20px 0 32px;
  }
}

.overview-ttl {
  font-size: 16px;
}
.overview table {
  position: relative;
  top: -1px;
  border-collapse: collapse;
  max-width: 900px;
  margin: 0 auto 40px;
  border-left: solid 1px #000;
  border-top: solid 1px #000;
  font-weight: 400;
}

@media (max-width: 767px) {
  .overview table {
    border-left: solid 1px #000;
    border-top: solid 1px #000;
  }
}
.overview table th {
  background-color: #e8e8e8;
  text-align: center;
  font-size: 14px;
  border-right: solid 1px #000;
  border-bottom: solid 1px #000;
  width: 25%;
  padding: 10px;
  font-weight: 400;
}

@media (max-width: 767px) {
  .overview table th {
    font-size: 12px;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 5px;
    width: 33%;
  }
}
.overview table th.left {
  text-align: left;
}

.overview table td {
  font-size: 12px;
  border-right: solid 1px #000;
  border-bottom: solid 1px #000;
  padding: 8px 10px 12px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .overview table td {
    font-size: 12px;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 5px;
  }
}
.overview table td .emphasis {
  font-weight: 600;
  display: block;
  padding-top: 15px;
}

.overview table td .emphasis:first-child {
  padding-top: 0;
}

.overview table td .annotation {
  position: relative;
}

.overview table td .annotation p {
  padding-left: 16px;
}

.overview table td .annotation p::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
}

.overview table td .annotation p.red {
  color: #d10101;
}

.overview table td .box {
  padding-bottom: 15px;
}

.overview table td .box ul {
  position: relative;
}

.overview table td .box ul li {
  padding-left: 16px;
}

.overview table td .box ul li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
}

.overview table td a {
  color: #015de8;
  text-decoration: underline;
}

.overview .red {
  color: #f41919;
}

.overview .bold {
  font-weight: 600;
}

.overview .underline {
  text-decoration: underline;
}

.overview table caption {
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  border-left: solid 2px #000;
  padding: 8px;
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 767px) {
  .overview table caption {
    font-size: 14px;
    padding: 5px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    border-left: solid 1px #000;
  }
}
.overview .accordion-btn {
  position: relative;
  max-width: 900px;
  margin-inline: auto;
  background-color: #e8e8e8;
  text-align: center;
  border: 1px solid #000;
  padding: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
}
@media (max-width: 767px) {
  .overview .accordion-btn {
    width: 100%;
    font-size: 14px;
    padding: 9px;
  }
}
.overview .accordion-btn:after {
  content: "";
  background: url(../images/accordion-open-icon_1.svg) no-repeat center;
  width: 18px;
  height: 18px;
  background-size: contain;
  position: absolute;
  top: 14px;
  right: 30px;
}
@media (max-width: 767px) {
  .overview .accordion-btn:after {
    width: 14px;
    height: 14px;
    top: 15px;
    right: 20px;
  }
}
.overview .accordion-btn.close:after {
  background-image: url(../images/accordion-close-icon_1.svg);
}

/* footer
 ========================================================================== */
.footer .copy {
  text-align: center;
  background-color: #f0eeec;
  padding: 40px 0;
}
@media (max-width: 767px) {
  .footer .copy {
    padding: 8.52878vw 0;
  }
}

.footer .copy p {
  font-size: 12px;
}
@media (max-width: 767px) {
  .footer .copy p {
    font-size: 3.2vw;
  }
}

/* disclaimer
 ========================================================================== */
.disclaimer-wrap {
  font-family: Noto Sans JP, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #e8e8e8;
  margin: 30px 0 0;
  padding: 40px 0;
}

@media (max-width: 767px) {
  .disclaimer-wrap {
    padding: 20px 0;
  }
}
#disclaimer {
  width: 90%;
  margin: 0 auto;
  max-width: 1080px;
  padding: 10px 15px 20px;
}

@media (max-width: 767px) {
  #disclaimer {
    padding: 10px 0 20px;
  }
}
.common_disclaimer {
  margin-bottom: 30px;
  font-size: 14px;
}

.common_disclaimer div p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}

.common_disclaimer div p strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 20px;
  display: block;
}

.disclaimer-midashi {
  font-weight: 500;
  font-size: 22px;
  padding-bottom: 25px;
}

#disclaimer p strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 20px;
  display: block;
}

#disclaimer .s-midashi {
  font-weight: 500;
}

.common_disclaimer div {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: left;
}

.common_disclaimer span a {
  display: block;
  text-align: right;
}

.common_disclaimer ul {
  margin-bottom: 0;
}

.common_disclaimer li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  position: relative;
  margin-left: 1em;
}

.disclaimer > div:nth-child(4) ul li {
  margin-bottom: 0.6em;
}

.common_disclaimer div:nth-of-type(13) li {
  content: none !important;
  margin-left: 0 !important;
}

.common_disclaimer div:nth-of-type(13) li:before {
  content: none !important;
}

.common_disclaimer li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: -1em;
}

.disclaimer div:nth-of-type(3) div:nth-child(2) {
  margin-bottom: 20px !important;
}

.common_disclaimer div:nth-child(2) p strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  text-align: left;
  margin-bottom: 0 !important;
}

.disclaimer_wrap dl dd dl {
  margin: 6px auto;
}

.common_disclaimer dt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 29px;
  text-align: left;
}

.common_disclaimer dt strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  margin-bottom: 6px !important;
  text-align: left;
  display: block;
}

.common_disclaimer dl dd ul {
  margin-top: 0;
}

.common_disclaimer div p + ul {
  margin-top: 0;
}

.common_disclaimer a:link,
.common_disclaimer a:visited,
.common_disclaimer a:hover,
.common_disclaimer a:active {
  color: #0443e7;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .disclaimer_wrap {
    width: 100%;
  }
  .disclaimer {
    width: 92%;
  }
  .common_disclaimer {
    margin-bottom: 20px;
  }
  .common_disclaimer div p {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.4;
  }
  .common_disclaimer div p strong {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 6px;
  }
  #disc p strong {
    font-size: 16px;
    line-height: 1.4;
  }
  .common_disclaimer div {
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  .common_disclaimer li {
    font-size: 13px;
    line-height: 1.4;
  }
  .disclaimer div:nth-of-type(3) div:nth-child(2) {
    margin-bottom: 6px !important;
  }
  .common_disclaimer div:nth-child(2) p strong {
    line-height: 1.4;
  }
  .common_disclaimer dt {
    font-size: 15px;
    line-height: 1.4;
  }
  .common_disclaimer dt strong {
    line-height: 1.4;
  }
}
@media (max-width: 767px) {
  .disclaimer {
    width: 92%;
    margin: auto;
  }
  .common_disclaimer {
    margin-bottom: 20px;
  }
  .common_disclaimer div p {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.4;
  }
  .common_disclaimer div p strong {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 6px;
  }
  #disc p strong {
    font-size: 16px;
    line-height: 1.4;
  }
  .common_disclaimer div {
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 10px;
  }
  .common_disclaimer li {
    font-size: 13px;
    line-height: 1.4;
  }
  .disclaimer div:nth-of-type(3) div:nth-child(2) {
    margin-bottom: 6px !important;
  }
  .common_disclaimer dt {
    font-size: 15px;
    line-height: 1.4;
  }
  .common_disclaimer dt strong {
    line-height: 1.4;
  }
}
dd {
  margin: 0;
}

/* alert
 ========================================================================== */
#layerMessage {
  font-family: "Noto Sans JP", sans-serif;
}

#layerMessage img {
  width: auto;
  max-width: inherit;
  display: inline;
}
/* floating bnr
   ========================================================================== */
.footer_fix_btn {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  padding: 18px 0;
  text-align: center;
  background-color: rgba(34, 34, 34, 0.4);
  z-index: 99;
  display: none;
}
@media (max-width: 767px) {
  .footer_fix_btn {
    padding: 2vw 0;
  }
}

.footer_fix_btn a img {
  max-width: 670px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .footer_fix_btn a img {
    max-width: 85vw;
  }
}

/* swiper
   ========================================================================== */
.swiper-wrap {
  max-width: 726px;
  padding: 5px 12px 30px;
  margin: 0 auto;
  position: relative;
  width: 65%;
  height: 195px;
}

@media all and (max-width: 991px) {
  .swiper-wrap {
    width: 78%;
    height: 228px;
  }
}
@media all and (max-width: 767px) {
  .swiper-wrap {
    width: 90%;
    padding: 0 0 30px;
    height: calc(29.7520661157vw + 16px);
  }
}
.swiper-slide img {
  border: 1px solid #e0e0e0;
}

.swiper-initialized {
  padding-bottom: 10px !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: "" !important;
  background-size: contain;
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .swiper-button-next:after,
  .swiper-button-prev:after {
    width: 3vw;
    height: 3vw;
    top: 1.8vw;
  }
}

.swiper-button-next:after {
  background-image: url(../images/campaign-next.svg);
  right: -90%;
  position: absolute;
}
@media (max-width: 767px) {
  .swiper-button-next:after {
    right: -5.8vw;
  }
}

.swiper-button-prev:after {
  background-image: url(../images/campaign-prev.svg);
  left: -60%;
  position: absolute;
}
@media (max-width: 767px) {
  .swiper-button-prev:after {
    left: -5vw;
  }
}

.swiper-button-next,
.swiper-button-prev {
  top: 41% !important;
}

.swiper-pagination-bullet {
  width: 7px;
  height: 7px;
}

.swiper-pagination {
  padding-top: 0;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 18px;
}
@media (max-width: 767px) {
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: 3.5vw;
  }
}

.swiper-pagination-bullet-active {
  position: relative;
  top: 1.5px;
  width: 10px;
  height: 10px;
  background-color: #7a6700;
}
