@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://kantan.auone.jp/sp/campaign/kantan_all/common/css/common.css");
/*! 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 */
  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;
}

/*------------------------------------
 Campaign contents base
------------------------------------*/
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  scroll-behavior: smooth;
}
@media (max-width: 600px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  line-height: 1.5;
  background: #F7F7F7;
}

img {
  max-width: 100%;
  vertical-align: top;
}

._mar0 {
  margin: 0 !important;
}

._mt0 {
  margin-top: 0 !important;
}

._mb0 {
  margin-bottom: 0 !important;
}

._mb10 {
  margin-bottom: 10px !important;
}

.txt_c {
  text-align: center;
}

#wrap {
  max-width: 750px;
  margin: 0 auto;
}

#wrap h1 {
  margin: 0;
}

#wrap h3,
#wrap h4 {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
}

.main-visual img {
  display: block;
}

#snow {
  position: relative;
}
#snow #particles {
  position: absolute;
  z-index: 1;
  max-width: 750px;
  width: 100%;
  height: 1390px;
  margin: 0 auto;
  top: 0;
}
@media screen and (max-width: 750px) {
  #snow #particles {
    height: 185.3333333333vw;
  }
}

header img {
  padding: 10px 15px;
  width: 70px;
  border: 1px solid #ccc;
  border-radius: 7px;
  background: #FFF;
  vertical-align: top;
  box-sizing: content-box;
}

@media screen and (max-width: 460px) {
  header img {
    padding: 8px 12px;
    width: 60px;
    vertical-align: top;
    border-radius: 5px;
  }
}
.content {
  margin: 0;
  background-image: url("../img/bg-main.png");
  background-size: 46.875rem auto;
  background-repeat: repeat-y;
  background-position: top center;
}

.l-section {
  margin: 0;
  padding: 0 1.25rem;
}
.l-section > .box {
  padding: 1.875rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section > .box {
    padding: 4vw 0 6vw;
  }
}
.l-section > .box > .heading {
  margin: 0 auto -7.5rem;
  padding: 0 0 1.5rem;
  width: 45rem;
}
@media screen and (max-width: 750px) {
  .l-section > .box > .heading {
    margin: 0 auto -16vw;
    padding: 0 0 3.2vw;
    width: 96vw;
  }
}
.l-section > .box > .body {
  border: 8px solid #501600;
  border-radius: 16px;
  background: #fff;
  padding: 6.25rem 1.25rem 2.5rem;
}
@media screen and (max-width: 750px) {
  .l-section > .box > .body {
    border: 6px solid #501600;
    padding: 13.3333333333vw 3.4666666667vw 5.3333333333vw;
  }
}
.l-section > .box > .body > .text {
  margin: 0 0 1.625rem;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5714285714;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 460px) {
  .l-section > .box > .body > .text {
    font-size: 1.5rem;
  }
}
.l-section > .box > .body > .text.-center {
  text-align: center;
}

.btn-orange {
  display: block;
  max-width: 39.375rem;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  border: 0.25rem solid #fff;
  color: #fff;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  border-radius: 1.25rem;
  background-image: linear-gradient(to bottom, #FE7700 0%, #FE8900 20%, #FF4600 100%);
  background-size: auto 200%;
  transition: background-position 0.5s;
  padding: 1.6875rem 0.625rem;
  box-shadow: 0 0.375rem 0.25rem 0 rgba(0, 0, 0, 0.2);
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .btn-orange {
    font-size: 3.7333333333vw;
    max-width: 84vw;
    padding: 3.6vw 1.3333333333vw;
  }
}
.btn-orange::after {
  position: absolute;
  top: 50%;
  right: 1.75rem;
  width: 2rem;
  height: 2rem;
  margin-top: -1rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16C0 12.8355 0.938384 9.74207 2.69649 7.11088C4.45459 4.4797 6.95345 2.42894 9.87706 1.21793C12.8007 0.0069325 16.0177 -0.309921 19.1214 0.307443C22.2251 0.924806 25.0761 2.44866 27.3137 4.6863C29.5513 6.92394 31.0752 9.77487 31.6926 12.8786C32.3099 15.9823 31.9931 19.1993 30.7821 22.1229C29.5711 25.0466 27.5203 27.5454 24.8891 29.3035C22.2579 31.0616 19.1645 32 16 32C11.7565 32 7.68687 30.3143 4.68629 27.3137C1.68571 24.3131 0 20.2435 0 16Z' fill='white'/%3E%3Cpath d='M22.3479 15.914L12.6959 23.957V7.87098L22.3479 15.914Z' fill='%23FF5F00'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  .btn-orange::after {
    right: 3.7333333333vw;
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    margin-top: -2.1333333333vw;
  }
}
.btn-orange.-red {
  background-image: linear-gradient(to bottom, #FE8900 0%, #CA000F 20%, #E10010 100%);
}
.btn-orange.-red::after {
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16C0 12.8355 0.938384 9.74207 2.69649 7.11088C4.45459 4.4797 6.95345 2.42894 9.87706 1.21793C12.8007 0.0069325 16.0177 -0.309921 19.1214 0.307443C22.2251 0.924806 25.0761 2.44866 27.3137 4.6863C29.5513 6.92394 31.0752 9.77487 31.6926 12.8786C32.3099 15.9823 31.9931 19.1993 30.7821 22.1229C29.5711 25.0466 27.5203 27.5454 24.8891 29.3035C22.2579 31.0616 19.1645 32 16 32C11.7565 32 7.68687 30.3143 4.68629 27.3137C1.68571 24.3131 0 20.2435 0 16Z' fill='white'/%3E%3Cpath d='M22.3479 15.914L12.6959 23.957V7.87098L22.3479 15.914Z' fill='%23E10010'/%3E%3C/svg%3E%0A");
}
.btn-orange.-anchor {
  background-image: linear-gradient(to bottom, #FE8900 0%, #CA000F 20%, #E10010 100%);
}
.btn-orange.-anchor::after {
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16C0 12.8355 0.938384 9.74207 2.69649 7.11088C4.45459 4.4797 6.95345 2.42894 9.87706 1.21793C12.8007 0.0069325 16.0177 -0.309921 19.1214 0.307443C22.2251 0.924806 25.0761 2.44866 27.3137 4.6863C29.5513 6.92394 31.0752 9.77487 31.6926 12.8786C32.3099 15.9823 31.9931 19.1993 30.7821 22.1229C29.5711 25.0466 27.5203 27.5454 24.8891 29.3035C22.2579 31.0616 19.1645 32 16 32C11.7565 32 7.68687 30.3143 4.68629 27.3137C1.68571 24.3131 0 20.2435 0 16Z' fill='white'/%3E%3Cpath d='M22.3479 15.914L12.6959 23.957V7.87098L22.3479 15.914Z' fill='%23E10010'/%3E%3C/svg%3E%0A");
  transform: rotate(90deg);
}
.btn-orange:hover {
  background-position: bottom center;
  color: #fff;
  text-decoration: none;
}

/* キャンペーン参加方法 */
.l-section.-feature .triangle {
  width: 5.875rem;
  margin: 2rem auto 0;
}
@media screen and (max-width: 750px) {
  .l-section.-feature .triangle {
    width: 12.5333333333vw;
    margin: 4.2666666667vw auto 0;
  }
}
.l-section.-feature .title {
  margin: 0;
}
.l-section.-feature .note {
  list-style: none;
  margin: 0;
  padding: 1rem 0 0;
}
.l-section.-feature .note li {
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.5555555556;
  padding-left: 1.3em;
  position: relative;
}
.l-section.-feature .note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}

/* 当選確率10倍！ */
.section-prize {
  position: relative;
  margin-bottom: 3.75rem;
}
.section-prize .box-more {
  position: relative;
  z-index: 2;
}
.section-prize .box-more::after {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0.9375rem;
  left: 0;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%);
  content: "";
}
@media screen and (max-width: 750px) {
  .section-prize .box-more::after {
    top: 2vw;
  }
}
.section-prize .box-more > .wrapper {
  background: radial-gradient(ellipse at 50% 50%, #F27F0E 0%, #ED5C07 42.9%, #E83A00 100%);
  text-align: center;
  padding: 2.5rem 1.25rem 7.75rem;
  clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%);
}
@media screen and (max-width: 750px) {
  .section-prize .box-more > .wrapper {
    padding: 5.3333333333vw 2.6666666667vw 16.5333333333vw;
  }
}
.section-prize .box-more > .wrapper > .heading {
  width: 44.375rem;
  margin: -5rem auto -0.625rem;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .section-prize .box-more > .wrapper > .heading {
    width: 94.6666666667vw;
    margin: -10.6666666667vw auto -1.3333333333vw;
  }
}
.section-prize .box-more .anchor {
  color: #fff;
  font-weight: bold;
  position: relative;
  z-index: 2;
}
.section-prize .box-more .anchor > a {
  color: currentColor;
  font-size: 2rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  border-bottom: 0.25rem solid currentColor;
  display: inline-block;
  padding-bottom: 0.1875rem;
}
@media screen and (max-width: 750px) {
  .section-prize .box-more .anchor > a {
    font-size: 4.2666666667vw;
  }
}
.section-prize .box-more .anchor > a::after {
  display: inline-block;
  margin-left: 0.625rem;
  vertical-align: -0.1875rem;
  width: 2.1875rem;
  height: 2.125rem;
  background-image: url("data:image/svg+xml,%3Csvg width='35' height='34' viewBox='0 0 35 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5 -1.79559e-06C22.0747 -0.0654569 26.4882 1.68864 29.7699 4.87658C33.0516 8.06451 34.9329 12.4253 35 17C34.9329 21.5747 33.0516 25.9355 29.7699 29.1234C26.4882 32.3114 22.0747 34.0655 17.5 34C12.9253 34.0655 8.51181 32.3114 5.2301 29.1234C1.9484 25.9355 0.0671456 21.5747 0 17C0.0671456 12.4253 1.9484 8.06451 5.2301 4.87658C8.51181 1.68864 12.9253 -0.0654569 17.5 -1.79559e-06Z' fill='white'/%3E%3Cpath d='M17.928 24.069L9.092 13.469H26.764L17.928 24.069Z' fill='%23E83A00'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 750px) {
  .section-prize .box-more .anchor > a::after {
    margin-left: 1.3333333333vw;
    vertical-align: -0.4vw;
    width: 4.6666666667vw;
    height: 4.5333333333vw;
  }
}
.section-prize .prize-box {
  padding: 1.125rem 1.3125rem 0;
  position: relative;
  z-index: 1;
  margin-top: -0.9375rem;
}
.section-prize .prize-box > .box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 0 1.25rem 0 rgba(0, 0, 0, 0.2);
}
.section-prize .prize-box > .box > .inner:first-child {
  padding: 2.5rem 1.625rem 1.25rem;
}
.section-prize .prize-box > .box > .inner {
  padding: 1.25rem 1.625rem 3.125rem;
}
.section-prize .prize-box .list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.section-prize .prize-box .list li {
  border-bottom: 0.25rem dashed #B1975B;
  padding: 1.875rem 0;
}
.section-prize .prize-box .list li:first-child {
  padding-top: 0;
}
.section-prize .prize-box .note {
  list-style: none;
  margin: 1rem 0;
  padding: 1rem 0 0;
}
.section-prize .prize-box .note.-sec {
  margin: 1rem 0 1.875rem;
}
.section-prize .prize-box .note li {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-left: 1.3em;
  position: relative;
}
.section-prize .prize-box .note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.section-prize .prize-box .note li + li {
  margin-top: 0.625rem;
}
.section-prize .prize-box .note li a {
  color: #E51018;
  text-decoration: underline;
}
.section-prize .prize-box .note li a:hover {
  text-decoration: none;
}
.section-prize .prize-box .ppass-box {
  background: #FCF6D3;
  padding: 2.5rem;
  border-radius: 1.25rem;
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 750px) {
  .section-prize .prize-box .ppass-box {
    padding: 1.875rem 1.25rem;
    gap: 1.25rem;
  }
}
.section-prize .prize-box .ppass-box .img {
  width: 118px;
}
@media screen and (max-width: 750px) {
  .section-prize .prize-box .ppass-box .img {
    width: 15.73vw;
  }
}
.section-prize .prize-box .ppass-box .text {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.08rem;
}
.section-prize .prize-box .ppass-box .text .orange {
  color: #FE4E00;
}
@media screen and (max-width: 750px) {
  .section-prize .prize-box .ppass-box .text {
    font-size: 3.73vw;
  }
}

/* さらに */
.box-bonus {
  position: relative;
  background: radial-gradient(ellipse at 50% 50%, #F27F0E 0%, #ED5C07 42.9%, #E83A00 100%);
  padding: 2.5rem 1.25rem 4.875rem;
  text-align: center;
  z-index: 1;
}
.box-bonus::before, .box-bonus::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #ffffff;
}
.box-bonus::before {
  top: 8px;
}
.box-bonus::after {
  bottom: 8px;
}
.box-bonus .head {
  margin: 0 auto;
  text-align: center;
  width: 29.6875rem;
}
@media screen and (max-width: 750px) {
  .box-bonus .head {
    width: 63.3333333333vw;
  }
}

/* エントリー特典 */
.l-section.-bonus {
  position: relative;
  margin-top: -5rem;
  z-index: 2;
}
.l-section.-bonus > .box > .body {
  background: #FEFDDF;
  padding: 3.125rem 2.125rem;
}
.l-section.-bonus > .box > .body .b-head {
  margin: 0 auto;
  text-align: center;
}
.l-section.-bonus > .box > .body .b-head.-top {
  margin: 3.125rem auto 0;
}
.l-section.-bonus > .box > .body .txt-num {
  position: relative;
  width: 39.125rem;
  margin: 3.75rem 0 0;
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 750px) {
  .l-section.-bonus > .box > .body .txt-num {
    width: 83.4666666667vw;
    margin: 8vw 0 0;
  }
}
.l-section.-bonus > .box > .body .txt-num::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  border-bottom: 6px dotted #501600;
}
.l-section.-bonus > .box > .body .img {
  margin: 2.5rem auto;
}
.l-section.-bonus > .box > .body .img.-pd {
  padding: 0 0.625rem;
}
.l-section.-bonus .note-a {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 1rem 0 0;
}
.l-section.-bonus .note-a li {
  font-size: 1.375rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.4;
  padding-left: 1.3em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .l-section.-bonus .note-a li {
    font-size: 1.125rem;
  }
}
.l-section.-bonus .note-a li::before {
  position: absolute;
  width: 0.875rem;
  height: 0.875rem;
  top: 0.75rem;
  left: 0.1875rem;
  border-radius: 50%;
  background: #E6000F;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-bonus .note-a li::before {
    width: 0.75rem;
    height: 0.75rem;
    top: 0.5rem;
  }
}
.l-section.-bonus .note-a li + li {
  margin-top: 0.625rem;
}
.l-section.-bonus .note {
  list-style: none;
  margin: 0.625rem 0 1.25rem;
  padding: 1rem 0 0;
}
.l-section.-bonus .note li {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-left: 1.3em;
  position: relative;
}
.l-section.-bonus .note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.l-section.-bonus .note li + li {
  margin-top: 0.625rem;
}
.l-section.-bonus .note li a {
  color: #E51018;
  text-decoration: underline;
}
.l-section.-bonus .note li a:hover {
  text-decoration: none;
}

/* クーポン対象のショップ */
.l-section.-shop > .box {
  padding: 0.3125rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section.-shop > .box {
    padding: 0.6666666667vw 0 6vw;
  }
}
.l-section.-shop > .box > .body .txt_c {
  margin: -1.875rem 0 1.25rem;
}
.l-section.-shop > .box > .body .note {
  list-style: none;
  margin: 0;
  padding: 1rem 1rem 0;
}
@media screen and (max-width: 750px) {
  .l-section.-shop > .box > .body .note {
    padding: 1rem 0.5rem 0;
  }
}
.l-section.-shop > .box > .body .note li {
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.5555555556;
  padding-left: 1.3em;
  position: relative;
}
.l-section.-shop > .box > .body .note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.l-section.-shop > .box > .body .note li + li {
  margin-top: 0.3125rem;
}
.l-section.-shop > .box > .body .txt-details {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  margin: 1.875rem 0 0.625rem;
}
.l-section.-shop > .box > .body .txt-details a {
  color: #E6000F;
  text-decoration: underline;
}
@media screen and (max-width: 460px) {
  .l-section.-shop > .box > .body .txt-details {
    font-size: 1.25rem;
  }
}
.l-section.-shop #sld {
  width: min(100%, 750px);
  height: auto;
  overflow: hidden;
  box-sizing: border-box;
  margin-bottom: 1.25rem;
  --swiper-theme-color: #000;
  --swiper-pagination-bullet-size: 8px;
}
.l-section.-shop #sld .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: auto;
  margin: 0 0 2.5rem 0;
  position: relative;
  transition-property: transform;
}
.l-section.-shop #sld .swiper-button-prev,
.l-section.-shop #sld .swiper-button-next {
  position: relative;
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-bottom: 1.25rem;
}
.l-section.-shop #sld .swiper-button-prev {
  left: 0.9375rem;
}
.l-section.-shop #sld .swiper-button-next {
  right: 0.9375rem;
}
.l-section.-shop #sld .swiper-button-next:after, .l-section.-shop #sld .swiper-container-rtl .swiper-button-prev:after {
  -webkit-tap-highlight-color: rgb(0, 0, 0);
  tap-highlight-color: rgb(0, 0, 0);
  outline: none;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  color: rgb(0, 0, 0);
}
@media screen and (max-width: 750px) {
  .l-section.-shop #sld .swiper-button-next:after, .l-section.-shop #sld .swiper-container-rtl .swiper-button-prev:after {
    font-size: 30px;
  }
}
.l-section.-shop #sld .swiper-button-prev:after, .l-section.-shop #sld .swiper-container-rtl .swiper-button-next:after {
  -webkit-tap-highlight-color: rgb(0, 0, 0);
  tap-highlight-color: rgb(0, 0, 0);
  outline: none;
  font-family: "Font Awesome 5 Free";
  content: "\f137";
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  color: rgb(0, 0, 0);
}
@media screen and (max-width: 750px) {
  .l-section.-shop #sld .swiper-button-prev:after, .l-section.-shop #sld .swiper-container-rtl .swiper-button-next:after {
    font-size: 30px;
  }
}
.l-section.-shop #sld .swiper-pagination {
  box-sizing: border-box;
  z-index: 5;
}
.l-section.-shop #sld .swiper-navigation-icon {
  display: none;
}
.l-section.-shop #sld .swiper-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625rem;
  height: 3.125rem;
  z-index: 10;
}
.l-section.-shop #sld .three_box {
  display: flex;
  margin: 0 0 10px;
  padding: 0;
  width: 100%;
  align-items: flex-start;
  text-align: left;
  flex-flow: row wrap;
}
.l-section.-shop #sld .three_box .item {
  width: 25%;
  box-sizing: border-box;
}
.l-section.-shop #sld .three_box .item img {
  width: 100%;
  border-radius: 10px;
}
.l-section.-shop #sld .sld_item {
  margin: 0 0 60px 0;
  position: relative;
}
.l-section.-shop #sld .s_i_b {
  padding: 10px;
  box-sizing: border-box;
  border-radius: 0;
  border-top: 2px solid rgb(191, 191, 195);
  border-right: 2px solid rgb(191, 191, 195);
  background: rgb(255, 255, 255);
  margin: 1px 2px 2px;
}
.l-section.-shop #sld .s_i {
  width: 90%;
  padding: 10px 0 0;
  text-align: center;
  margin: 0 auto;
}
.l-section.-shop #sld .s_i img {
  width: 80%;
  padding: 0;
}
@media (max-width: 660px) {
  .l-section.-shop #sld .s_i img {
    width: 80%;
    object-fit: cover;
    padding: 0;
    box-sizing: border-box;
  }
}
.l-section.-shop #sld a {
  text-decoration: none !important;
}
.l-section.-shop #sld .s_t {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0px 0px 0px 0;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  transform: rotate(0.05deg);
  margin: 5px auto;
  color: rgb(82, 82, 82);
  letter-spacing: 0.01em;
  overflow-wrap: break-word;
}
@media screen and (max-width: 750px) {
  .l-section.-shop #sld .s_t {
    font-size: 11px;
  }
}
.l-section.-shop #sld .s_t_nl {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0px 0px 0px 0;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  margin: 5px auto;
  color: rgb(82, 82, 82);
  letter-spacing: 0.01em;
  overflow-wrap: break-word;
}
.l-section.-shop #sld .s_t span {
  font-weight: normal;
  line-height: 1.8;
  margin: 5px 5px 0 0;
  font-size: 10px !important;
  width: 80%;
  padding: 0 3px;
}
@media (max-width: 620px) {
  .l-section.-shop #sld .s_t span {
    font-size: 9px !important;
    width: 90%;
  }
}
@media (max-width: 460px) {
  .l-section.-shop #sld .sld_item {
    margin: 0 0 50px 0;
    position: relative;
  }
  .l-section.-shop #sld .s_i_b {
    padding: 2px 0;
  }
  .l-section.-shop #sld .s_i {
    width: 86%;
    padding: 5px 0 0;
  }
  .l-section.-shop #sld .s_i img {
    width: 80%;
    object-fit: cover;
    padding: 0 0 0 0;
    box-sizing: border-box;
  }
  .l-section.-shop #sld .s_t {
    width: 100%;
    padding: 0 0 0 0;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    margin: 2px auto 2px;
    letter-spacing: 0.01em;
    font-size: 70%;
  }
  .l-section.-shop #sld .s_t_nl {
    width: 100%;
    padding: 0 0 0 0;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    margin: 2px auto 2px;
    letter-spacing: 0.01em;
    font-size: 70%;
  }
  .l-section.-shop #sld .s_t span {
    font-size: 9px !important;
    width: 100%;
  }
}

/* クーポンの使い方 */
.l-section.-coupon > .box {
  padding: 0.3125rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section.-coupon > .box {
    padding: 0.6666666667vw 0 6vw;
  }
}
.l-section.-coupon > .box > .body {
  padding: 2.5rem 1.25rem;
}
.l-section.-coupon .slider-box {
  margin: 0 0 2.25rem;
}
.l-section.-coupon .slider-box .navigation {
  top: 38%;
  position: absolute;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (max-width: 750px) {
  .l-section.-coupon .slider-box .navigation {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.l-section.-coupon .slider-box .navigation svg {
  width: 100%;
  height: 100%;
}
.l-section.-coupon .slider-box .navigation.-prev {
  left: 0.125rem;
}
@media (max-width: 750px) {
  .l-section.-coupon .slider-box .navigation.-prev {
    left: 0;
  }
}
.l-section.-coupon .slider-box .navigation.-next {
  right: 0.125rem;
}
@media (max-width: 750px) {
  .l-section.-coupon .slider-box .navigation.-next {
    right: 0;
  }
}
.l-section.-coupon .slider-box .navigation.swiper-button-disabled {
  opacity: 0;
  cursor: not-allowed;
}
.l-section.-coupon .slider-box .pagination {
  --swiper-pagination-bullet-size: 1.25rem;
  --swiper-pagination-color: #FE4E00;
  --swiper-pagination-bullet-inactive-color: #aaa;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 0.625rem;
  text-align: center;
  justify-content: center;
}
@media (max-width: 750px) {
  .l-section.-coupon .slider-box .pagination {
    --swiper-pagination-bullet-size: 2.6666666667vw;
    --swiper-pagination-bullet-horizontal-gap: 1.3333333333vw;
  }
}
.l-section.-coupon .step-list {
  list-style: none;
  padding: 0 4.375rem;
  margin: 2.5rem 0 2.25rem;
}
@media (max-width: 600px) {
  .l-section.-coupon .step-list {
    padding: 0 3.125rem;
  }
}
.l-section.-coupon .step-list .head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: left !important;
}
@media (max-width: 630px) {
  .l-section.-coupon .step-list .head {
    font-size: 1.5rem;
  }
}
.l-section.-coupon .step-list .index {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 5.625rem;
  height: 5.625rem;
  border-radius: 50%;
  color: #fff;
  background: #FE4E00;
  text-align: center;
  line-height: 1;
  font-size: 1.125rem;
  font-weight: 800;
}
.l-section.-coupon .step-list .index > span {
  font-size: 2.875rem;
}
.l-section.-coupon .step-list .image {
  width: 25rem;
  margin: 2.5rem auto;
}
@media (max-width: 750px) {
  .l-section.-coupon .step-list .image {
    width: 53.33vw;
  }
}
.l-section.-coupon .step-list .image.-full {
  width: 100%;
}
.l-section.-coupon .step-list .text-s {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  transform: rotate(0.05deg);
}
@media (max-width: 600px) {
  .l-section.-coupon .step-list .text-s {
    font-size: 1.125rem;
  }
}
.l-section.-coupon .step-list .text-s > span {
  color: #EB2D05;
}
.l-section.-coupon .step-list .text-p {
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1.25rem;
}
.l-section.-coupon .step-list .note-s {
  margin: 0.5rem 0 0;
  font-size: 1.25rem;
  font-weight: 500;
  padding-left: 1.2em;
  position: relative;
  transform: rotate(0.05deg);
}
@media (max-width: 600px) {
  .l-section.-coupon .step-list .note-s {
    font-size: 1.125rem;
  }
}
.l-section.-coupon .step-list .note-s::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.125rem;
  font-weight: 500;
  content: "※";
}

/* Pontaパスってなに？ */
.l-section.-pontapass > .box {
  padding: 0.3125rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box {
    padding: 0.6666666667vw 0 6vw;
  }
}
.l-section.-pontapass > .box > .body {
  background: #FEFDDF;
  padding-top: 4.6875rem;
}
.l-section.-pontapass > .box > .body > .title {
  width: 39.25rem;
  margin: 0 auto 2rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box > .body > .title {
    width: 83.7333333333vw;
  }
}
.l-section.-pontapass > .box .lead {
  margin: 3.25rem 0 2.5rem;
  width: auto;
  height: 3.25rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .lead {
    margin: 6.9333333333vw 0 5.3333333333vw;
    height: 6.9333333333vw;
  }
}
.l-section.-pontapass > .box .lead img {
  margin: 0 auto;
  max-width: none;
  max-height: 100%;
  display: block;
}
.l-section.-pontapass > .box .image {
  margin: 0;
}
.l-section.-pontapass > .box .image + .image {
  margin-top: 1.75rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .image + .image {
    margin-top: 3.7333333333vw;
  }
}
.l-section.-pontapass > .box .image a {
  transition: opacity 0.2s;
}
.l-section.-pontapass > .box .image a:hover {
  opacity: 0.8;
}
.l-section.-pontapass > .box .caption {
  margin: 0.1875rem 0 0;
  font-size: 1.125rem;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .caption {
    font-size: 2.5vw;
  }
}
.l-section.-pontapass > .box .txt_c {
  text-align: center;
  margin: 1.25rem 0;
}
.l-section.-pontapass > .box .comment {
  margin: 0;
  font-weight: 900;
  font-size: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .comment {
    font-size: 4vw;
    margin-bottom: 1.3333333333vw;
  }
}
.l-section.-pontapass > .box .comment::before, .l-section.-pontapass > .box .comment::after {
  width: 1.375rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='32' viewBox='0 0 22 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.69336 1.06396L19.8644 29.9819' stroke='black' stroke-width='4'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .comment::before, .l-section.-pontapass > .box .comment::after {
    width: 2.9333333333vw;
    height: 4.2666666667vw;
  }
}
.l-section.-pontapass > .box .comment::before {
  margin-right: 0.75rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .comment::before {
    margin-right: 1.6vw;
  }
}
.l-section.-pontapass > .box .comment::after {
  margin-left: 0.25rem;
  transform: scaleX(-1);
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .comment::after {
    margin-left: 0.5333333333vw;
  }
}
.l-section.-pontapass > .box .catch {
  margin: -0.5rem 0 1.875rem;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 2.375rem;
  line-height: 1;
  color: #FE4E00;
  font-weight: 900;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch {
    margin: -1.0666666667vw 0 5.3333333333vw;
    font-size: 5.0666666667vw;
  }
}
.l-section.-pontapass > .box .catch mark {
  color: inherit;
  background: linear-gradient(to top, #FFFF45 2rem, rgba(0, 0, 0, 0) 2rem);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch mark {
    background: linear-gradient(to top, #FFFF45 4.2666666667vw, rgba(0, 0, 0, 0) 4.2666666667vw);
  }
}
.l-section.-pontapass > .box .catch mark::before, .l-section.-pontapass > .box .catch mark::after {
  width: 3.625rem;
  height: 3.25rem;
  background-image: url("data:image/svg+xml,%3Csvg width='58' height='52' viewBox='0 0 58 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_58_4)'%3E%3Cpath d='M25.0264 34.02C35.1864 37.637 37.9654 40.571 41.3944 51.288C44.8204 40.571 47.5994 37.637 57.7594 34.02C47.5994 30.403 44.8204 27.469 41.3944 16.752C37.9654 27.469 35.1864 30.403 25.0264 34.02Z' fill='%23FE4E00'/%3E%3Cpath d='M0 13.2029C7.768 15.9689 9.892 18.2119 12.514 26.4029C15.133 18.2089 17.258 15.9659 25.026 13.2029C17.258 10.4369 15.134 8.19393 12.514 0.00292969C9.892 8.19193 7.768 10.4369 0 13.2029Z' fill='%23FE4E00'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_58_4'%3E%3Crect width='57.759' height='51.288' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 0.5rem;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch mark::before, .l-section.-pontapass > .box .catch mark::after {
    width: 7.7333333333vw;
    height: 6.9333333333vw;
  }
}
.l-section.-pontapass > .box .catch mark::before {
  margin-right: 0.875rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch mark::before {
    margin-right: 1.8666666667vw;
  }
}
.l-section.-pontapass > .box .catch mark::after {
  margin-left: 0.625rem;
  transform: scaleX(-1);
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch mark::after {
    margin-left: 1.3333333333vw;
  }
}
.l-section.-pontapass > .box .catch mark sup {
  font-size: 0.5em;
}
.l-section.-pontapass > .box .catch .number {
  display: inline-block;
  vertical-align: -0.3125rem;
  font-size: 5.5rem;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass > .box .catch .number {
    vertical-align: -0.6666666667vw;
    font-size: 11.7333333333vw;
  }
}
.l-section.-pontapass > .box .note {
  list-style: none;
  margin: 1rem 0 2rem;
  padding: 1rem 0.5rem 0;
}
.l-section.-pontapass > .box .note.-bottom {
  margin: 1rem 0 0;
}
.l-section.-pontapass > .box .note.-bottom li {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-left: 1.3em;
  position: relative;
}
.l-section.-pontapass > .box .note.-bottom li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.l-section.-pontapass > .box .note li + li {
  margin-top: 0.625rem;
}
.l-section.-pontapass > .box .note li {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding-top: 0;
  padding-left: 1.3em;
  position: relative;
}
@media screen and (max-width: 480px) {
  .l-section.-pontapass > .box .note li {
    font-size: 14px;
  }
}
.l-section.-pontapass > .box .note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "★";
}
.l-section.-pontapass > .box .note a {
  color: #E51018;
  text-decoration: underline;
}
.l-section.-pontapass > .box .note a:hover {
  text-decoration: none;
}
.l-section.-pontapass .acc-button {
  display: block;
  width: 100%;
  border-radius: 50vh;
  padding: 1.875rem 0.625rem;
  margin: 2rem 0 3.125rem;
  border: 0;
  background: #FF6F0F;
  color: #fff;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 900;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass .acc-button {
    font-size: 3.7333333333vw;
    padding: 4vw 1.3333333333vw;
  }
}
.l-section.-pontapass .acc-button::after {
  position: absolute;
  right: 2rem;
  top: 50%;
  margin-top: -1rem;
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_59_7)'%3E%3Cpath d='M16 0C19.1645 0 22.2579 0.938384 24.8891 2.69649C27.5203 4.45459 29.5711 6.95345 30.7821 9.87706C31.9931 12.8007 32.3099 16.0177 31.6926 19.1214C31.0752 22.2251 29.5513 25.0761 27.3137 27.3137C25.0761 29.5513 22.2251 31.0752 19.1214 31.6926C16.0177 32.3099 12.8007 31.9931 9.87706 30.7821C6.95345 29.5711 4.45459 27.5203 2.69649 24.8891C0.938384 22.2579 0 19.1645 0 16C0 11.7565 1.68571 7.68687 4.68629 4.68629C7.68687 1.68571 11.7565 0 16 0Z' fill='white'/%3E%3Cpath d='M16.0859 22.3481L8.04291 12.6961L24.1289 12.6961L16.0859 22.3481Z' fill='%23FF6F0F'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_59_7'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.4s;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-pontapass .acc-button::after {
    right: 4.2666666667vw;
    margin-top: -2.1333333333vw;
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
.l-section.-pontapass .acc-button.-open::after {
  transform: rotate(180deg);
}
.l-section.-pontapass .acc-content {
  display: none;
}

/* その他のお知らせ */
.l-section.-other .bnr_box {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 750px) {
  .l-section.-other .bnr_box {
    gap: 1rem;
  }
}
.l-section.-other .bnr_box a {
  transition: 0.2s;
}
.l-section.-other .bnr_box a:hover {
  opacity: 0.8;
}

/* キャンペーン詳細 */
.l-section.-details > .box {
  padding: 0.3125rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section.-details > .box {
    padding: 0.6666666667vw 0 6vw;
  }
}
.l-section.-details > .body {
  padding-top: 5.5rem;
}
@media screen and (max-width: 750px) {
  .l-section.-details > .body {
    padding-top: 11.7333333333vw;
  }
}
.l-section.-details .title {
  margin: 0 0 1.25rem;
  font-size: 1.875rem;
  font-weight: 900;
  line-height: inherit;
  text-align: center;
  background-image: linear-gradient(to bottom, #FE8900 0%, #CA000F 45.3%, #E10010 100%);
  padding: 0.5rem 0;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .l-section.-details .title {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
  }
}
.l-section.-details .title span {
  display: block;
  border-width: 0.125rem 0;
  border-style: solid;
  border-color: #fff;
  padding: 0.5rem 0;
}
.l-section.-details .title:not(:first-child) {
  margin-top: 2.9375rem;
}
@media screen and (max-width: 750px) {
  .l-section.-details .title:not(:first-child) {
    margin-top: 6.2666666667vw;
  }
}
.l-section.-details .label {
  font-weight: bold;
  margin: 0.625rem 0;
}
.l-section.-details p {
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin: 0;
}
.l-section.-details p a {
  color: #E51018;
  text-decoration: underline;
}
.l-section.-details p a:hover {
  text-decoration: none;
}
.l-section.-details p + .dot {
  margin-top: 0.375rem;
}
.l-section.-details p.txtc {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .l-section.-details p.txtc {
    text-align: left;
  }
}
.l-section.-details .asterisk {
  list-style: none;
  padding: 0;
  margin: 0;
}
.l-section.-details .asterisk li {
  font-size: 1.125rem;
  line-height: 1.6;
  padding-left: 1.2em;
  letter-spacing: 0.02em;
  position: relative;
}
.l-section.-details .asterisk li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.l-section.-details .asterisk li + li {
  margin-top: 0.25rem;
}
.l-section.-details .asterisk a {
  color: #E51018;
  text-decoration: underline;
}
.l-section.-details .asterisk a:hover {
  text-decoration: none;
}
.l-section.-details .dot {
  list-style: none;
  padding: 0;
  margin: 0;
}
.l-section.-details .dot > li {
  font-size: 1.125rem;
  line-height: 1.6;
  padding-left: 1.2em;
  letter-spacing: 0.02em;
  position: relative;
}
.l-section.-details .dot > li::before {
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  left: 0.1875rem;
  top: 0.8125rem;
  border-radius: 50%;
  background-image: linear-gradient(to bottom right, #fe8900 0%, #f85203 45.3%, #e10010 100%);
  content: "";
}
.l-section.-details .dot > li + li {
  margin-top: 0.5rem;
}
.l-section.-details .dot > li > ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0.75rem;
}
.l-section.-details .dot > li > ul > li {
  position: relative;
}
.l-section.-details .dot > li > ul > li::before {
  display: inline-block;
  margin-right: 0.3125rem;
  font-size: inherit;
  color: inherit;
  content: "-";
}
.l-section.-details .dot + p {
  margin-top: 1rem;
}
.l-section.-details .dot a {
  color: #E51018;
  text-decoration: underline;
}
.l-section.-details .dot a.-black {
  color: inherit;
}
.l-section.-details .dot a:hover {
  text-decoration: none;
}
.l-section.-details .callout {
  background: #FFF2B7;
  border-radius: 0.625rem;
  padding: 1.5rem;
  margin: 1.125rem 0;
}
.l-section.-details .callout .lead {
  font-weight: bold;
  margin: 0 0 0.4375rem;
  font-size: 1.125rem;
}
.l-section.-details .callout p {
  font-size: 1.125rem;
  line-height: 1.7777777778;
}
.l-section.-details .callout p + p {
  margin-top: 0.3125rem;
}
.l-section.-details .callout.-nobg {
  background: none;
  padding: 0;
  border-radius: 0;
}

/* お問い合わせ先 */
.l-section.-contact > .box {
  padding: 0.3125rem 0 2.8125rem;
}
@media screen and (max-width: 750px) {
  .l-section.-contact > .box {
    padding: 0.6666666667vw 0 6vw;
  }
}
.l-section.-contact .btn-group {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (max-width: 680px) {
  .l-section.-contact .btn-group {
    flex-direction: column;
    align-items: center;
    gap: 3.2vw;
  }
}
.l-section.-contact .button {
  display: block;
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  width: 18.75rem;
  border-radius: 1.25rem;
  border: 0.25rem solid #fff;
  text-align: center;
  background-image: linear-gradient(to bottom, #FE8900 0%, #CA000F 20%, #E10010 100%);
  background-size: auto 200%;
  transition: background-position 0.5s;
  box-shadow: 0 0.375rem 0.25rem 0 rgba(0, 0, 0, 0.2);
  padding: 1.375rem 2.125rem 1.375rem 0.3125rem;
  box-sizing: border-box;
  position: relative;
}
.l-section.-contact .button::after {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 50%;
  right: 1.4375rem;
  margin-top: -0.75rem;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 16C0 12.8355 0.938384 9.74207 2.69649 7.11088C4.45459 4.4797 6.95345 2.42894 9.87706 1.21793C12.8007 0.0069325 16.0177 -0.309921 19.1214 0.307443C22.2251 0.924806 25.0761 2.44866 27.3137 4.6863C29.5513 6.92394 31.0752 9.77487 31.6926 12.8786C32.3099 15.9823 31.9931 19.1993 30.7821 22.1229C29.5711 25.0466 27.5203 27.5454 24.8891 29.3035C22.2579 31.0616 19.1645 32 16 32C11.7565 32 7.68687 30.3143 4.68629 27.3137C1.68571 24.3131 0 20.2435 0 16Z' fill='white'/%3E%3Cpath d='M22.3479 15.914L12.6959 23.957V7.87098L22.3479 15.914Z' fill='%23E10010'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.l-section.-contact .button:hover {
  background-position: bottom center;
}

/* SNSでシェア */
.section-sns {
  padding: 3.125rem 1.25rem 2.375rem;
  background-image: radial-gradient(#f27f0e, #ed5c07 44%, #e83a00);
}
.section-sns .heading {
  width: 20.0625rem;
  margin: 0 auto;
}
.section-sns .sns_box {
  display: flex;
  justify-content: center;
  gap: 1.875rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}
.section-sns .sns_box li {
  width: 3.75rem;
}

/* サイトポリシー */
.policy-link {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  background: #FE6500;
  padding: 1.375rem;
  margin: 0;
}
.policy-link::after {
  display: inline-block;
  vertical-align: -0.125rem;
  margin-left: 0.625rem;
  width: 1.5rem;
  height: 1.125rem;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='18' viewBox='0 0 24 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.5 2V11H21.5V2H6.5ZM4.5 0H23.5V13H4.5V0Z' fill='white'/%3E%3Cpath d='M1 3.74902V16.3379H17.625' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.policy-link:hover {
  color: #fff;
  text-decoration: none;
}

/* floating-banner */
.floating-banner {
  display: none;
  position: fixed;
  bottom: 16%;
  right: 0.3125rem;
  width: 30.3125rem;
  z-index: 1000;
}
.floating-banner.close {
  transform: translateX(250px);
  transition: all 500ms 0s ease;
}
.floating-banner:hover {
  opacity: 0.9;
}
.floating-banner .button {
  color: #fff;
  font-weight: bold;
  font-size: 0.75rem;
  padding: 0.5em 0;
  width: 100%;
  display: block;
  border-radius: 100vw;
  background-color: #EA5500;
  cursor: pointer;
}
.floating-banner .close-button {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5625rem;
  height: 2.5625rem;
  border: 0.125rem solid #000;
  background-color: #EA5500;
  border-radius: 50%;
  transform: translate(-0.75rem, -0.75rem);
}
.floating-banner .close-button span {
  position: relative;
}
.floating-banner .close-button span:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 1.25rem;
  height: 0.1875rem;
  border-radius: 50vh;
  background-color: #ffffff;
}
.floating-banner .close-button span:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 1.25rem;
  height: 0.1875rem;
  border-radius: 50vh;
  background-color: #ffffff;
}
@media (max-width: 750px) {
  .floating-banner {
    width: 64.6666666667vw;
    bottom: 25%;
  }
}

/* CMS
------------------------------------------------------------- */
.peri {
  clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
  background-color: rgb(0, 209, 199);
  color: #FFF;
  padding: 30px 0 0;
  height: 150px;
  margin-top: -160px;
}

.peri02 {
  clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
  background: linear-gradient(90deg, transparent, #ff00ff 50%, #03e9f4 100%);
  margin-top: 0;
  padding: 30px 0 0;
  height: 157px;
  z-index: 0;
}

@media (max-width: 570px) {
  .peri {
    clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
    color: #FFF;
    padding: 20px 0 0;
    height: 100px;
    margin-top: -110px;
  }
  .peri02 {
    clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
    margin-top: 0;
    padding: 20px 0 0;
    height: 106px;
    z-index: 0;
  }
}
@media (max-width: 460px) {
  .peri {
    clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
    color: #FFF;
    padding: 10px 0 0;
    height: 70px;
    margin-top: -80px;
  }
  .peri02 {
    clip-path: polygon(0 15%, 100% 0, 100% 54%, 0 100%);
    margin-top: 0;
    padding: 10px 0 0;
    height: 70px;
    z-index: 0;
  }
}
/* キャンペーン期間前 */
.btn-secondary {
  background-color: #eb5505;
  border: #ff9123 solid 4px;
  border-radius: 20px;
}

.campaign__container-floating-footer .campaign__entry-btn  {
  font-size: 20px;
  line-height: 1.8;
}

/* キャンペーン期間中 */
.btn-primary {
  background-color: #eb5505;
  border: #ff9123 solid 4px;
  border-radius: 20px 0;
}

.btn-primary:hover {
  background-color: #e35e51;
  border-color: #e35e51;
}

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: #d11300;
  border-color: #d11300;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: #e35e51;
  border-color: #e35e51;
}

.campaign__container-floating-footer .campaign__entry-btn {
  font-size: 20px;
  line-height: 1.8;
}

/* entry_btn */
.campaign__container-floating-footer {
  position: sticky;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0 0 0;
  z-index: 1;
  box-sizing: border-box;
}

.campaign__schedule {
  display: none;
}

.campaign__container-finish {
  background: rgba(0, 0, 0, 0.7);
  max-width: 750px;
  margin: 10px auto 0;
  position: fixed;
  bottom: 48px;
  padding: 10px 0;
  left: 0;
  right: 0;
  z-index: 999;
  box-sizing: border-box;
}

.campaign__container-finish .btn-primary {
  background-color: #ccc;
  color: #000;
  border: #000 solid 4px;
  border-radius: 15px;
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
}

.btn-primary {
  color: #FFF;
  border-radius: 50px;
  max-width: 750px;
  width: 90%;
  margin: 7px auto 15px;
  padding: 20px 0;
  box-sizing: border-box;
  font-size: 18px;
  border-bottom: 5px solid rgb(255, 255, 255);
  border-right: 4px solid rgb(255, 255, 255);
  border-top: none;
  border-left: none;
  background-color: #eb5505;
}

#ft_btn {
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  color: #fff;
  max-width: 750px;
  margin: 0 auto 0;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  box-sizing: border-box;
  font-size: 12px;
}

#ft_btn p {
  font-size: 120%;
  margin: 7px 0 2px;
}

@media screen and (max-width: 460px) {
  .arw_box div {
    font-size: 80%;
  }
  .arw_box02 {
    font-size: 70%;
  }
  .btn_link {
    font-size: 0.8rem;
  }
  .btn_link::after {
    top: 2px;
    right: 35px;
  }
}
.js-time_limited {
  display: none;
}

.js-time_limited_fire {
  display: block;
}

.t_info {
  color: #FFF;
  font-weight: bold;
  background: #eb5505;
  text-align: center;
  padding: 10px 0;
  margin: 10px auto;
}

.footer {
  padding: 30px 10px;
  margin: 0;
  text-align: center;
  font-size: 13px;
}
.footer p {
  margin: 0;
}
.footer .text {
  color: #301102;
}
.footer .copyright {
  margin-top: 5px;
  margin-bottom: 140px;
}