@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://kantan-cpn.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 */
  -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;
}

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

header {
  background: #FFF;
  padding: 10px 0 0;
}
header img {
  width: 150px;
  padding: 10px;
}
@media (max-width: 480px) {
  header img {
    width: 120px;
  }
}

body {
  font-family: "M PLUS 1p", sans-serif;
  line-height: 1.5;
}

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

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

#wrap h1 {
  margin: 0;
}

h1, h2, h3, h4, h5 {
  font-family: "M PLUS 1p", sans-serif;
}

.main-visual img {
  display: block;
}

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

.bg-stripe {
  background: repeating-linear-gradient(90deg, #29B9FB, #29B9FB 50px, #00ACFB 50px, #00ACFB 100px);
}

.bg-dots {
  background-color: #FEE935;
  background-image: radial-gradient(#FEEF70 25%, transparent 25%), radial-gradient(#FEEF70 25%, transparent 25%);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
}

.note {
  list-style: none;
  margin: 0;
  padding: 0;
}
.note.-bold {
  font-weight: 600;
}
.note.-mtop {
  margin-top: 2rem;
}
.note li {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.5555555556;
  transform: rotate(0.05deg);
  padding-left: 1.3em;
  position: relative;
}
.note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  color: inherit;
  content: "※";
}
.note li a {
  color: #FE4A00;
  font-weight: bold;
  text-decoration: underline;
}
.note li a:hover {
  text-decoration: none;
}

.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: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border-radius: 1.25rem;
  background-image: linear-gradient(to bottom, #FE8900 0%, #FA6102 22.65%, #FF3B00 30%, #F85203 77.35%, #FE8900 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;
}
.btn-orange .above {
  font-size: 1.5625rem;
}
@media screen and (max-width: 750px) {
  .btn-orange {
    font-size: vw(26);
    max-width: vw(630);
    padding: vw(27) vw(10);
  }
  .btn-orange .above {
    font-size: vw(24);
  }
}
.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='%23FE4A00'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  .btn-orange::after {
    right: vw(28);
    width: vw(32);
    height: vw(32);
    margin-top: vw(-16);
  }
}
.btn-orange.-anchor::after {
  transform: rotate(90deg);
}
.btn-orange:hover {
  background-position: bottom center;
  color: #fff;
  text-decoration: none;
}

/* start */
.section-feature {
  padding: 2.375rem 0 1.125rem;
}
.section-feature .inner {
  padding: 0 1.25rem;
}
.section-feature .box-notes {
  margin: 0 auto;
  padding: 2rem 2.25rem;
  background: #CBEEFF;
  border-radius: 30px;
}
@media screen and (max-width: 750px) {
  .section-feature .box-notes {
    border-radius: 20px;
  }
}
.section-feature .button {
  margin: 2.5rem 0;
}
@media screen and (max-width: 750px) {
  .section-feature .button {
    margin: 6vw 0;
  }
}

/* shop & site */
.slider-box {
  padding: 3.75rem 1.25rem 0;
}
.slider-box .heading {
  margin: 0 auto -2.5rem;
}
.slider-box > .inner {
  background: #fff;
  border-radius: 1.875rem 1.875rem 0 0;
  padding: 5.625rem 0.4375rem 1.875rem;
}
.slider-box .wrap {
  padding: 0 2.375rem;
}
@media screen and (max-width: 750px) {
  .slider-box .wrap {
    padding: 0 1.25rem;
  }
}
.slider-box .title {
  text-align: center;
  font-weight: bold;
  margin: 1.625rem 0 0;
  font-size: 1.625rem;
  transform: rotate(0.05deg);
}
.slider-box .button {
  padding: 0 2rem;
  margin: 1.125rem 0 2.375rem;
}
@media screen and (max-width: 750px) {
  .slider-box .button {
    padding: 0 1.5rem;
  }
  .slider-box .button .btn-orange {
    font-size: vw(25);
    letter-spacing: 0.01em;
  }
}
.slider-box .s_i_b {
  display: flex;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 15px;
  border-bottom: 3px solid rgb(191, 191, 195);
  border-right: 4px solid rgb(191, 191, 195);
  background: #fff;
  align-items: flex-start;
  margin: 0;
  height: 128px;
}
@media (max-width: 460px) {
  .slider-box .s_i_b {
    padding: 7px 5px 5px;
  }
}
.slider-box .s_i {
  width: 35%;
}
@media (max-width: 460px) {
  .slider-box .s_i {
    width: 40%;
  }
}
.slider-box .s_i img {
  width: 100%;
  object-fit: cover;
  padding: 0 10px;
  box-sizing: border-box;
}
@media (max-width: 660px) {
  .slider-box .s_i img {
    padding: 0 8px;
  }
}
@media (max-width: 460px) {
  .slider-box .s_i img {
    padding: 10px 0 0 0;
  }
}
.slider-box .s_t {
  position: relative;
  box-sizing: border-box;
  width: 60%;
  padding: 0 0 0 5px;
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 5px 10px;
  color: #525252;
  letter-spacing: 0.05em;
  word-wrap: break-word;
}
@media (max-width: 670px) {
  .slider-box .s_t.-cinema {
    font-size: 9px;
  }
}
@media (max-width: 460px) {
  .slider-box .s_t {
    width: 60%;
    padding: 0 0 0 7px;
    text-align: left;
    font-weight: bold;
    line-height: 1.3;
    margin: 0;
    font-size: 10px;
  }
  .slider-box .s_t p {
    top: 70px;
    border-radius: 5px;
    font-size: 7.5px;
  }
}
.slider-box .s_t a {
  color: #525252;
  text-decoration: none;
}
.slider-box .s_t p[data-type=detail]::before {
  position: absolute;
  top: 88px;
  left: 0;
  width: 95%;
  text-align: center;
  box-sizing: border-box;
  line-height: 1.8;
  margin: 0 5px 0 5px;
  font-size: 10px;
  padding: 0 0;
  border-radius: 7px;
  content: "詳細を見る \f35d";
  font-family: "Font Awesome 5 Free";
  background: #fff;
  border: 1px solid rgb(191, 191, 195);
  color: rgb(120, 120, 151);
  letter-spacing: -0.05em;
}
.slider-box .s_t p[data-type=coupon]::before {
  position: absolute;
  top: 63px;
  left: 5px;
  width: 95%;
  text-align: center;
  box-sizing: border-box;
  line-height: 1.8;
  margin: 0 0 0 0;
  font-size: 10px;
  padding: 0 0;
  border-radius: 7px;
  content: "クーポンもらえる \f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  box-sizing: border-box;
  background: #FF0000;
  border: 1px solid #FF0000;
  color: rgb(255, 255, 255);
  padding: 0 0;
}
@media (max-width: 460px) {
  .slider-box .s_t p[data-type=coupon]::before {
    font-size: 9px;
    letter-spacing: -0.15em;
  }
}
.slider-box .s_t span {
  font-weight: normal;
  line-height: 1.8;
  margin: 5px 5px 0 0;
  font-size: 10px;
  width: 80%;
  padding: 0 3px;
}
@media (max-width: 460px) {
  .slider-box .s_t span {
    width: 100%;
  }
}
.slider-box .s_t .or {
  background: #ffdead;
}
.slider-box .s_t .em {
  background: #f0fff0;
}
.slider-box .s_t .gr {
  background: #d6ff99;
}
.slider-box .s_t .pi {
  background: #ffe6f3;
}
.slider-box .s_t .bl {
  background: #c8e6fa;
}
.slider-box .s_t .ye {
  background: #ffffcc;
}
.slider-box .s_t .la {
  background: #f8e6ff;
}
.slider-box .s_t .ma {
  background: #ccffff;
}
.slider-box .s_t .re {
  background: #ffcccc;
}
.slider-box .s_t .br {
  background: #f5f5dc;
}
.slider-box .txt_l, .slider-box .f_b {
  margin: 1.25rem 0.625rem;
  font-size: 1rem;
  list-style-type: none;
  margin: 0;
  padding: 0;
  padding: 0 2.0625rem;
}
@media (max-width: 600px) {
  .slider-box .txt_l, .slider-box .f_b {
    font-size: 1.2rem;
  }
}
.slider-box .f_b li + li {
  margin-top: 0.75rem;
}
.slider-box .f_b li {
  position: relative;
  padding-left: 1rem;
}
.slider-box .f_b li::before {
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #0072C7;
  content: "";
}
.slider-box .f_b li a {
  color: #EA5100;
}
.slider-box .scl {
  overflow: scroll;
  height: 200px;
  width: auto;
  border-radius: 0 !important;
  border: solid 2px rgb(76, 64, 0);
  background: rgb(255, 250, 186);
  border-radius: 20px;
  box-sizing: border-box;
  font-family: "M PLUS 1p", sans-serif;
  transform: rotate(0.05deg);
  padding: 25px 25px 10px;
  margin: 1.75rem 0 2.5rem;
}
.slider-box .scl h4 {
  width: 100%;
  border-bottom: rgb(143, 122, 90) 0 solid;
  line-height: 1.2;
  border-radius: 0;
  font-weight: bold;
  font-family: "M PLUS 1p", sans-serif;
  background-image: linear-gradient(to right, #868686 4px, transparent 4px);
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding: 5px 0px 15px;
  font-size: 110%;
  margin: 0px 0px 10px;
}
.slider-box .scl ul {
  margin: 1.25rem 0.625rem;
  padding: 0;
  font-size: 1rem;
}
.slider-box .scl ul li {
  margin-left: 0.625rem;
}
.slider-box .scl ul li.none {
  list-style: none;
}
@media (max-width: 600px) {
  .slider-box .scl ul {
    font-size: 1.2rem;
  }
}
.slider-box .apli {
  padding: 1.25rem 0;
  background-image: linear-gradient(to right, #000 2px, transparent 2px);
  background-size: 10px 2px;
  background-repeat: repeat-x;
  background-position: left top;
}
.slider-box .apli > .txt {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.5555555556;
  transform: rotate(0.05deg);
}
.slider-box .apli > .txt a {
  color: #FE4A00;
  font-weight: bold;
  text-decoration: underline;
}
.slider-box .apli > .txt a:hover {
  text-decoration: none;
}
.slider-box .apli > .img {
  text-align: center;
  margin: 0.625rem auto 0;
  width: 20rem;
}
@media (max-width: 750px) {
  .slider-box .apli > .img {
    width: 46vw;
  }
}
.slider-box .swiper {
  width: min(100%, 750px);
  height: auto;
  --swiper-theme-color: #000;
  --swiper-pagination-bullet-size: 8px;
}
.slider-box .swiper-wrapper {
  margin-bottom: 0.625rem;
}
.slider-box .swiper-slide {
  width: 100%;
  height: auto;
  margin-bottom: 30px;
  padding-bottom: 30px;
  color: #fff;
  font-weight: bold;
}
.slider-box .swiper-button-prev {
  left: 0.9375rem;
}
.slider-box .swiper-button-next {
  right: 0.9375rem;
}
.slider-box .swiper-button-next:after, .slider-box .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;
  color: rgb(0, 0, 0);
}
.slider-box .swiper-button-prev:after, .slider-box .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;
  color: rgb(0, 0, 0);
}
.slider-box .swiper-pagination {
  box-sizing: border-box;
}

.two_box {
  display: flex;
  margin: 0 0 0;
  padding: 0;
  width: 100%;
  align-content: flex-start;
  justify-content: space-between;
  text-align: left;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.two_box .item {
  width: 50%;
  padding: 0 0 0 0;
  box-sizing: border-box;
  text-align: center;
}
@media (max-width: 750px) {
  .two_box .item {
    width: 48%;
  }
}

.two_box_c {
  display: flex;
  margin: 0 0 0.625rem;
  padding: 0;
  width: 100%;
  align-items: center;
  align-content: flex-start;
  justify-content: space-between;
  text-align: left;
  flex-direction: row;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .two_box_c {
    padding: 0;
  }
}
.two_box_c .item {
  width: 30%;
  box-sizing: border-box;
}
.two_box_c .item img {
  padding: 2% 5% 0;
  box-sizing: border-box;
}
@media (max-width: 460px) {
  .two_box_c .item img {
    padding: 0 4%;
  }
}

.item_d {
  width: 70%;
  font-size: 1rem;
  transform: rotate(0.05deg);
  padding: 0 0 10px 0;
}
@media (max-width: 600px) {
  .item_d {
    font-size: 1.2rem;
  }
}
.item_d p {
  margin: 0;
}

.f_o {
  color: #eb5505;
}

.f_p {
  color: #f20981;
}

/* excluded-box */
.excluded-box {
  padding: 0 1.25rem 3.75rem;
}
.excluded-box .heading {
  margin: 0 auto -2.5rem;
}
.excluded-box > .inner {
  background: #fff;
  border-radius: 1.875rem;
  padding: 4.375rem 0.4375rem 2.625rem;
}
.excluded-box > .inner .txt {
  text-align: center;
  margin-bottom: 2rem;
}
.excluded-box > .inner .coupon {
  text-align: center;
}
.excluded-box > .inner .button {
  margin: 2.5rem 0 2.25rem;
}
@media screen and (max-width: 750px) {
  .excluded-box > .inner .button {
    margin: 6vw 0;
  }
}
.excluded-box > .inner .note {
  margin: 0 auto;
  padding: 0 2.25rem;
}
@media screen and (max-width: 750px) {
  .excluded-box > .inner .note {
    padding: 0;
  }
}
@media screen and (max-width: 750px) {
  .excluded-box > .inner {
    padding: 4.375rem 1.25rem 2.625rem;
  }
}

/* l-section */
.l-section {
  padding: 0 1.25rem;
}
@media (max-width: 750px) {
  .l-section {
    padding: 0 2.67vw;
  }
}
.l-section .heading {
  margin: 0 auto -3.375rem;
  width: 40rem;
}
@media (max-width: 750px) {
  .l-section .heading {
    margin: 0 auto -2.25rem;
    width: 80vw;
  }
}
.l-section > .inner {
  background: #fff;
  border-radius: 1.875rem;
  padding: 5.625rem 2.5rem 3.75rem;
}
@media (max-width: 750px) {
  .l-section > .inner {
    padding: 12vw 5.33vw 8vw;
  }
}

/* faq */
.l-section.-faq {
  padding-top: 3.75rem;
}
.l-section.-faq > .inner {
  padding: 6.25rem 2.5rem 3.125rem;
}
@media (max-width: 750px) {
  .l-section.-faq > .inner {
    padding: 12vw 5.33vw 7vw;
  }
}
.l-section.-faq .faq-list {
  margin: 0;
}
.l-section.-faq .faq-list dt, .l-section.-faq .faq-list dd {
  position: relative;
  padding-left: 2.5rem;
  font-size: 1.25rem;
  line-height: 1.6;
  transform: rotate(0.05deg);
}
.l-section.-faq .faq-list dt::before, .l-section.-faq .faq-list dd::before {
  position: absolute;
  left: 0;
  width: 1.625rem;
  height: 1.625rem;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.l-section.-faq .faq-list dt a, .l-section.-faq .faq-list dd a {
  color: #FE4A00;
  text-decoration: underline;
}
.l-section.-faq .faq-list dt a:hover, .l-section.-faq .faq-list dd a:hover {
  text-decoration: none;
}
.l-section.-faq .faq-list dt {
  cursor: pointer;
  font-weight: 500;
  padding-bottom: 1.25rem;
}
.l-section.-faq .faq-list dt > p {
  position: relative;
  font-size: inherit;
  margin: 0;
  padding-right: 2.8125rem;
}
.l-section.-faq .faq-list dt > p::after {
  position: absolute;
  top: 30%;
  right: 0;
  width: 1.625rem;
  height: 1.625rem;
  margin-top: -0.5rem;
  transform: rotate(90deg);
  transition: transform 0.5s;
  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='%23215DAF'/%3E%3Cpath d='M22.3479 15.914L12.6959 23.957V7.87098L22.3479 15.914Z' fill='white'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-faq .faq-list dt > p::after {
    width: vw(22);
    height: vw(22);
    margin-top: vw(-8);
  }
}
.l-section.-faq .faq-list dt > p.-active::after {
  transform: rotate(-90deg);
}
.l-section.-faq .faq-list dt::before {
  background-image: url("../img/icon-q.svg");
  top: 0.25rem;
}
.l-section.-faq .faq-list dt:not(:first-of-type) {
  margin-top: 1.875rem;
  padding-bottom: 1.875rem;
}
.l-section.-faq .faq-list dt:not(:first-of-type)::after {
  position: absolute;
  top: -1.875rem;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background: url("../img/pattern-dot.png") repeat-x;
  background-size: 0.4375rem 0.125rem;
  content: "";
}
.l-section.-faq .faq-list dt.-active > p::after {
  transform: rotate(-90deg);
}
.l-section.-faq .faq-list dd {
  margin: 0;
  padding-bottom: 1.875rem;
}
.l-section.-faq .faq-list dd::before {
  background-image: url("../img/icon-a.svg");
  top: 0.25rem;
}
.l-section.-faq .faq-list dd p {
  margin: 0;
}
.l-section.-faq .faq-list dd .img {
  text-align: center;
  margin: 1.25rem auto;
}
@media (max-width: 750px) {
  .l-section.-faq .faq-list dd .img {
    width: 76vw;
  }
}
.l-section.-faq .faq-list dd.-with-dot::after {
  position: absolute;
  bottom: -0.625rem;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background: url("../img/pattern-dot.png") repeat-x;
  background-size: 0.4375rem 0.125rem;
  content: "";
}

/* about */
.l-section.-kantan {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

/* other */
.l-section.-other {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
.l-section.-other > .inner {
  padding-left: 3.4375rem;
  padding-right: 3.4375rem;
  padding-bottom: 3.75rem;
}
@media (max-width: 750px) {
  .l-section.-other > .inner {
    padding-left: 6.67vw;
    padding-right: 6.67vw;
    padding-bottom: 8vw;
  }
}
.l-section.-other .bnr_box > div + div {
  margin-top: 1.875rem;
}
.l-section.-other .bnr_box a:hover {
  opacity: 0.9;
}

/* details */
.l-section.-details .title {
  margin: 0 0 1.25rem;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: inherit;
  text-align: center;
  background: #B7E7FF;
  padding: 0.5rem 0;
  color: #215DAF;
}
@media screen and (max-width: 750px) {
  .l-section.-details .title {
    font-size: vw(24);
    margin-bottom: vw(20);
  }
}
.l-section.-details .title span {
  display: block;
  border-width: 0.25rem 0;
  border-style: solid;
  border-color: #fff;
  padding: 0.5rem 0 0.375rem;
}
.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: vw(47);
  }
}
.l-section.-details > .inner p {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  transform: rotate(0.05deg);
}
.l-section.-details > .inner ol {
  counter-reset: details-list;
  list-style: none;
  margin: 0.9375rem 0;
  padding: 0;
}
.l-section.-details > .inner ol li {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  padding-left: 1.75rem;
  transform: rotate(0.05deg);
  position: relative;
}
.l-section.-details > .inner ol li::before {
  position: absolute;
  top: 0.3125rem;
  left: 0;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background: #2DAD67;
  line-height: 1;
  font-weight: bold;
  font-size: 0.9375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  counter-increment: details-list;
  content: counter(details-list);
}
.l-section.-details > .inner ol li + li {
  margin-top: 0.5rem;
}
.l-section.-details > .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.l-section.-details > .inner .dot {
  margin: 0.9375rem 0;
}
.l-section.-details > .inner .dot li {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  transform: rotate(0.05deg);
  position: relative;
}
.l-section.-details > .inner .dot > li {
  padding-left: 1rem;
  padding-bottom: 0.5rem;
}
.l-section.-details > .inner .dot > li::before {
  position: absolute;
  top: 0.5625rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #215DAF;
  content: "";
}
.l-section.-details > .inner .dot > li a {
  text-decoration: underline;
  color: #FE4A00;
}
.l-section.-details > .inner .dot > li a:hover {
  text-decoration: none;
}
.l-section.-details > .inner .dot ul {
  margin: 0.5rem 0.5rem 0.5rem 0;
}
.l-section.-details > .inner .dot ul > li {
  padding-left: 1rem;
}
.l-section.-details > .inner .dot ul > li::before {
  position: absolute;
  top: 0.8125rem;
  left: 0;
  width: 0.5rem;
  border-bottom: 2px solid #215DAF;
  content: "";
}
.l-section.-details > .inner .asterisk {
  margin-top: 2.25rem;
}
.l-section.-details > .inner .asterisk li {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  transform: rotate(0.05deg);
  position: relative;
  padding-left: 1.1em;
}
.l-section.-details > .inner .asterisk li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
.l-section.-details > .inner .callout {
  border-radius: 1rem;
  background: #FFFBC7;
  padding: 1.5rem 1.875rem 1.75rem;
  margin-top: 1.875rem;
}
.l-section.-details > .inner .callout .lead {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  transform: rotate(0.05deg);
  margin: 0 0 0.5rem;
}
.l-section.-details > .inner .callout p {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5555555556;
}

/* contact */
.l-section.-contact {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
.l-section.-contact > .inner {
  padding: 5.875rem 2.375rem 2.5rem;
}
.l-section.-contact .btn-group {
  display: flex;
  justify-content: center;
  gap: 1.875rem;
}
@media (max-width: 750px) {
  .l-section.-contact .btn-group {
    gap: 4vw;
  }
}
@media (max-width: 670px) {
  .l-section.-contact .btn-group {
    flex-direction: column;
    align-items: center;
    gap: 0.9375rem;
  }
}
.l-section.-contact .button {
  display: block;
  width: 18.75rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  transform: rotate(0.05deg);
  border-radius: 50vh;
  background: #215DAF;
  color: #fff;
  text-align: center;
  padding: 1.3125rem 1.75rem 1.3125rem 1.3125rem;
  text-decoration: none;
  transition: opacity 0.3s;
  box-sizing: border-box;
}
.l-section.-contact .button:hover {
  opacity: 0.7;
}
.l-section.-contact .button::after {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: -0.5625rem;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' 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='%23215DAF'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  .l-section.-contact .button::after {
    right: vw(20);
    width: vw(20);
    height: vw(20);
    margin-top: vw(-9);
  }
}

#Au {
  max-width: 750px;
  margin: 0 auto;
  line-height: 1;
  padding: 1.5625rem 0 0;
  box-sizing: border-box;
}
#Au h4 {
  display: flex;
  box-sizing: border-box;
  font-size: 1.375rem;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  padding: 0 0 0 5.9375rem;
  margin: 1.25rem auto;
  height: 4.6875rem;
  background-size: 4.6875rem 4.6875rem;
  background-position: left top;
  background-repeat: no-repeat;
  line-height: 1.4;
}
@media (max-width: 600px) {
  #Au h4 {
    font-size: 1.3125rem;
  }
}
#Au dl, #Au dt, #Au dd {
  margin: 0;
}
#Au p {
  text-align: left;
  line-height: 1.5;
  transform: rotate(0.05deg);
  margin: 0;
}
@media (max-width: 600px) {
  #Au p {
    font-size: 1.2rem;
  }
}
#Au a {
  color: #EB5505;
  font-weight: bold;
  text-decoration: underline;
}
#Au a:hover {
  text-decoration: none;
}
#Au .step1 {
  background-image: url("../img/icon_step1.png");
}
#Au .step2 {
  background-image: url("../img/icon_step2.png");
}
#Au .step3 {
  background-image: url("../img/icon_step3.png");
}
#Au .step4 {
  background-image: url("../img/icon_step4.png");
}
#Au .first {
  background-image: url("../img/icon_step_first.png");
}
#Au .au_dtl {
  display: none;
}
#Au .au_dtl > .wrapper {
  padding: 1.25rem 0 0;
}
#Au .au_ttl {
  width: 100%;
  margin: 0 auto;
  padding: 1.5625rem 1.5625rem 1.5625rem 0;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 1.375rem;
  color: #fff;
  letter-spacing: -0.02rem;
  text-align: center;
  background: #215DAF;
  position: relative;
  line-height: 1.5;
  transition: all 0.4s ease;
  perspective: 500px;
  cursor: pointer;
  border-radius: 0.5rem;
}
@media (max-width: 670px) {
  #Au .au_ttl {
    font-size: 1.03125rem;
  }
}
#Au .au_ttl:hover {
  opacity: 0.9;
}
#Au .au_ttl::after {
  position: absolute;
  top: 50%;
  right: 1.75rem;
  width: 2rem;
  height: 2rem;
  margin-top: -1rem;
  transform: rotate(-90deg);
  transition: transform 0.5s;
  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='%23215DAF'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
@media screen and (max-width: 750px) {
  #Au .au_ttl::after {
    right: vw(10);
    width: vw(28);
    height: vw(28);
    margin-top: vw(-16);
  }
}
#Au .au_ttl.-active::after {
  transform: rotate(90deg);
}
#Au .two_box {
  margin: 0px 0px 10px;
  padding: 0px 0px 20px 0;
  width: 100%;
  place-content: flex-start space-between;
  flex-flow: row wrap;
  align-items: flex-start;
  background-image: linear-gradient(to right, rgb(134, 134, 134) 4px, transparent 4px);
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  justify-content: space-around;
  align-content: flex-start;
}
#Au .two_box:last-of-type {
  background-image: none;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
#Au .two_box .item {
  text-align: left;
}
#Au .two_box .caption {
  margin-bottom: 1.25rem;
}
#Au .body .button {
  display: block;
  width: 100%;
  margin: 1.5rem auto 0;
  border-radius: 50vh;
  color: #fff;
  background: #EA5505;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 1.75rem;
  box-sizing: border-box;
  position: relative;
  transition: 0.25s;
}
#Au .body .button::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0.875rem;
  height: 1.375rem;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg width='14' height='22' viewBox='0 0 14 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.31378 2.82899L10.7991 11.3143L2.31378 19.7995' stroke='white' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
  content: "";
}
#Au .body .button:hover {
  opacity: 0.65;
}

.section-sns {
  position: relative;
  background: #fff;
  padding: 2.75rem 1.25rem 2.5rem;
}
@media (max-width: 750px) {
  .section-sns {
    padding: 4vw 1.25rem;
  }
}
.section-sns .heading {
  text-align: center;
  margin: 0;
}
@media (max-width: 750px) {
  .section-sns .heading {
    margin-bottom: 0.625rem;
  }
  .section-sns .heading img {
    height: 1.25rem;
  }
}

.sns_box {
  display: flex;
  justify-content: center;
  margin-top: 0.3125rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.sns_box li {
  margin: 0 0.75rem 0;
}
.sns_box li img {
  width: 3.625rem;
  height: auto;
}

.policy-link {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1;
  transform: rotate(0.05deg);
  background: #FE4A00;
  padding: 1.375rem;
  margin: 0 0 2rem;
}
.policy-link:hover {
  opacity: 0.9;
  color: #fff;
  text-decoration: none;
}
.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: "";
}

/* 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 {
  margin-bottom: 12rem;
}