@charset "UTF-8";
@use "sass:math";
/* ------------------------------

	編集時の注意
	・必ず.scssから編集してコンパイルしてください。（直接.cssを編集しないでください）

------------------------------ */
/* ------------------------------
 Mixin
------------------------------ */
/* ------------------------------
 Html, Body
------------------------------ */
html {
  background: #f2f2f2;
  font-size: 2.6666666667vw; }
  @media (min-width: 901px) {
    html {
      font-size: 24px; } }

body {
  margin: 0 auto;
  padding: 0;
  color: #333;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  max-width: 900px;
  overflow-x: hidden;
  background-color: white;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  text-align: left; }

#page-wrap {
  overflow: hidden; }

/* ------------------------------
 Reset CSS
------------------------------ */
* {
  box-sizing: border-box; }

main, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, picture {
  display: block;
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  margin: 0;
  padding: 0;
  appearance: none;
  cursor: pointer;
  color: currentColor; }
  button::-moz-focus-inner {
    border: 0; }

ul {
  list-style-type: none; }

img {
  vertical-align: bottom;
  border: 0;
  width: 100%; }

/* ------------------------------
 link
------------------------------ */
a {
  outline: 0;
  color: currentColor;
  text-decoration: none; }
  a:hover {
    text-decoration: none;
    color: currentColor; }
  a.line-link {
    text-decoration: underline; }

.underline {
  border-bottom: 0.1em solid currentColor; }

.underline-dash {
  border-bottom: 0.1em dashed currentColor; }

/* ------------------------------
 text & layout
------------------------------ */
h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  line-height: 1.6; }

p, ul, dl {
  font-size: 1rem;
  line-height: 1.5; }

sup {
  font-size: 0.7em; }

.d-ib {
  display: inline-block; }

.ind-1em {
  display: block;
  text-indent: -1em !important;
  padding-left: 1em; }
  .ind-1em::first-letter {
    font-feature-settings: normal; }
  .ind-1em > * {
    text-indent: 0; }

.burasage {
  overflow: hidden;
  text-align: left; }
  .burasage > * {
    display: block;
    overflow: hidden; }
    .burasage > *:first-child {
      float: left;
      font-feature-settings: normal; }

/* ------------------------------
 text-size
------------------------------ */
.txt-xlg {
  font-size: 2.5rem; }

.txt-lg {
  font-size: 2.2rem; }

.txt-md {
  font-size: 1.8rem; }

.txt-rg {
  font-size: 1.5rem; }

.txt-sm {
  font-size: 1.35rem; }

.txt-xs {
  font-size: 1.2rem; }

.txt-xxs {
  font-size: 1rem; }

.txt-list > li:not(:first-child) {
  margin-top: 0.3em; }

/* ------------------------------
 font-weight
------------------------------ */
.fw-normal {
  font-weight: 400 !important; }

.fw-medium {
  font-weight: 500 !important; }

.fw-bold {
  font-weight: 700 !important; }

/* ------------------------------
 margin
------------------------------ */
.mt-0 {
  margin-top: 0 !important; }

.mt-02em {
  margin-top: 0.2em !important; }

.mt-05em {
  margin-top: 0.5em !important; }

.mt-1em {
  margin-top: 1em !important; }

.mt-2em {
  margin-top: 2em !important; }

.mt-3em {
  margin-top: 3em !important; }

.mt-4em {
  margin-top: 4em !important; }

.mt-5em {
  margin-top: 5em !important; }

.mb-0 {
  margin-bottom: 0 !important; }

.mb-05em {
  margin-bottom: 0.5em !important; }

.mb-1em {
  margin-bottom: 1em !important; }

.mb-2em {
  margin-bottom: 2em !important; }

.mb-3em {
  margin-bottom: 3em !important; }

.mb-4em {
  margin-bottom: 4em !important; }

.mb-5em {
  margin-bottom: 5em !important; }

.m-auto {
  margin: auto !important; }

/* ------------------------------
 padding
------------------------------ */
.side-padding {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important; }

.side-padding-w {
  padding-left: 3.5rem !important;
  padding-right: 3.5rem !important; }

.pt-0 {
  padding-top: 0 !important; }

.pt-05em {
  padding-top: 0.5em !important; }

.pt-1em {
  padding-top: 1em !important; }

.pt-2em {
  padding-top: 2em !important; }

.pt-3em {
  padding-top: 3em !important; }

.pt-4em {
  padding-top: 4em !important; }

.pt-5em {
  padding-top: 5em !important; }

.pb-0 {
  padding-bottom: 0 !important; }

.pb-05em {
  padding-bottom: 0.5em !important; }

.pb-1em {
  padding-bottom: 1em !important; }

.pb-2em {
  padding-bottom: 2em !important; }

.pb-3em {
  padding-bottom: 3em !important; }

.pb-4em {
  padding-bottom: 4em !important; }

.pb-5em {
  padding-bottom: 5em !important; }

/* ------------------------------
 line-height
------------------------------ */
.lh-12 {
  line-height: 1.2; }

/* ------------------------------
 text-align
------------------------------ */
.align-left {
  text-align: left; }

.align-center {
  text-align: center; }

.align-right {
  text-align: right; }

.justify {
  text-align: justify; }

/* ------------------------------
 text-color
------------------------------ */
.color-white {
  color: white; }

.color-green {
  color: #255d00; }

.color-gold {
  color: #9f8523; }

.color-orange {
  color: #eb5505; }

.color-yellow {
  color: #ffee52; }

/* ------------------------------
 fv
------------------------------ */
.fv-sec {
  background: url(../img/fv_bg_0515.png) no-repeat 50% 50% #70c73d;
  background-size: cover;
  aspect-ratio: 900/880; }

/* ------------------------------
 prize
------------------------------ */
.prize-sec {
  background-color: #cdf29e;
  padding: 0 0 3rem;
  color: white; }
  .prize-sec .prize-item {
    margin-bottom: 0rem; }

/* ------------------------------
 info-block
------------------------------ */
.info-block {
  background-color: #ffecd4;
  background-size: 100% auto;
  padding: 3rem 0; }

.kyk-block {
  background-color: #fff;
  padding: 3rem 0; }

.info-inner {
  border: 1px solid #eb5505;
  margin: 0 1em;
  padding: 1em 2em; }

/* ------------------------------
 step
------------------------------ */
.step-sec {
  color: white; }
  .step-sec .step-col {
    background-color: #fff;
    background-size: contain;
    min-height: 17.666rem;
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 3rem 2rem;
    border: min(0.7vw, 6px) solid #eb5505;
    border-radius: min(4vw, 36px);
    color: #333;
    text-align: center; }
  .step-sec .step-mail {
    background-color: #ffffec;
    background-size: contain;
    min-height: 19.5rem;
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 2rem 1.5rem;
    border: min(0.7vw, 6px) solid #8e2500;
    border-radius: min(4vw, 36px);
    color: #333;
    text-align: center; }
  .step-sec .step-col + .step-col {
    margin-top: 5rem;
    padding-top: 0; }
  .step-sec .step-col + .step-col::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: min(8vw, 80px) solid rgba(255, 255, 255, 0);
    border-left: min(8vw, 80px) solid rgba(255, 255, 255, 0);
    border-top: min(6vw, 50px) solid #eb5505;
    border-bottom: 0;
    transform: translateY(calc(-1*(min(6vw,50px) + 1.5rem))); }
  .step-sec .step-col + .step-mail {
    margin-top: 5rem; }
  .step-sec .step-col-ttl.minus {
    transform: translateY(-3.6rem);
    margin-bottom: -3.6rem; }
  .step-sec .step-col-ttl-point {
    display: block; }
  .step-sec .step-col-ttl-point img {
    aspect-ratio: 2/1;
    width: 50%; }

/* ------------------------------
 terms
------------------------------ */
.terms-sec {
  padding: 1.2rem; }
  .terms-sec .terms-sec-ttl {
    text-align: center;
    color: #008900; }
  .terms-sec .terms-inquiry {
    background: #f2f2f2;
    padding: 1.5rem;
    text-align: center;
    margin-top: 1rem; }

/* ------------------------------
 ppas
------------------------------ */
.ppas-sec {
  background: #ddf2c0;
  padding: 3rem 0; }
  .ppas-sec .ppas-sec-ttl {
    text-align: center;
    color: #008900; }
  .ppas-sec .ppas-sec__inner {
    background: #fff;
    margin-top: 1rem;
    padding: .2rem 1.5rem 1.5rem; }

/* ------------------------------
 scroll-in
------------------------------ */
.scroll-in.fade-in {
  opacity: 0;
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .scroll-in.fade-in.appeared {
    opacity: 1; }
.scroll-in.up-in {
  opacity: 0;
  transform: translateY(3rem);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .scroll-in.up-in.appeared {
    opacity: 1;
    transform: translateY(0); }
.scroll-in.slide-left-in {
  opacity: 0;
  transform: translateX(3rem);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .scroll-in.slide-left-in.appeared {
    opacity: 1;
    transform: translateY(0); }
.scroll-in.slide-right-in {
  opacity: 0;
  transform: translateX(-3rem);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .scroll-in.slide-right-in.appeared {
    opacity: 1;
    transform: translateY(0); }
.scroll-in.popup-in {
  opacity: 0;
  transform: scale(0.9);
  transform-origin: 50% 100%;
  transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1); }
  .scroll-in.popup-in.appeared {
    opacity: 1;
    transform: scale(1); }
.scroll-in.zoom-in {
  opacity: 0;
  transform: scale(0.4);
  transform-origin: 50% 50%;
  transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1); }
  .scroll-in.zoom-in.appeared {
    opacity: 1;
    transform: scale(1); }

/* ------------------------------
 device
------------------------------ */
html.view-ios .for-android:not(.for-pc),
html.view-ios .for-pc:not(.for-android) {
  display: none !important; }

html.view-android .for-ios:not(.for-pc),
html.view-android .for-pc:not(.for-ios) {
  display: none !important; }

html.view-pc .for-ios:not(.for-pc),
html.view-pc .for-android:not(.for-pc) {
  display: none !important; }

/* ------------------------------
 footer
------------------------------ */
.footer {
  text-align: center;
  margin-top: 0;
  padding-top: 2rem;
  border-top: 1px solid #ccc; }
  .footer .optout {
    font-size: 1rem;
    margin-bottom: 2rem; }
  .footer .copyright {
    font-size: 0.9rem;
    padding: 2rem 0 15rem;
    background: black;
    color: white; }

/* ------------------------------
 Fixed-btn
------------------------------ */
#fixed-btn {
  background: rgba(9, 9, 9, 0.9);
  padding: 0.5rem 1.5rem;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 900px;
  z-index: 100;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
  clip-path: inset(-1rem 0 0 0);
  color: white;
  text-align: center; }

/* ------------------------------
 GAMPLA
------------------------------ */
div.campaign__container-floating-footer {
  display: none; }

.campaign__container {
  max-width: 900px; }

.alert {
  margin-bottom: 0;
  border-radius: 0; }

.btn-entry-done {
  display: none; }

/* ------------------------------
 complete
------------------------------ */
.complete-sec {
  background: #006fc9 url(../img/complete-bg.png) no-repeat left top/100% auto; }
  .complete-sec .complete-ttl {
    text-align: center;
    color: white;
    font-size: 2.2rem;
    line-height: 1.4;
    padding: 0 1.5rem; }
  .complete-sec .complete-caption {
    padding: 0 1.5rem 1.5rem;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative; }

.complete-step-sec {
  padding: 3rem 0;
  text-align: center; }
  .complete-step-sec .complete-step-ttl {
    width: 65%;
    margin: auto; }

/* ------------------------------
 complete-terms
------------------------------ */
.complete-terms-sec {
  padding: 2rem 0; }

.complete-terms-sec .complete-terms-ttl {
  text-align: center;
  border-bottom: 0.2rem dotted;
  padding-bottom: 0.5rem; }

.more-sec {
  padding: 3rem 0 6rem;
  background: url(../img/thanks_bg.png) repeat-y left top/100% auto; }

.more-cont .more-cont__inner {
  background: url(../img/c-cont-bg.png) repeat-y left bottom/100% auto; }
.more-cont .more-cont__inner::after {
  content: "";
  display: block;
  aspect-ratio: 90/1;
  background: url(../img/c-cont-btm.png) no-repeat left bottom/100% auto;
  transform: translateY(0.4em); }
.more-cont .more-cont__inner .more-cont__items {
  padding: 3rem 2.8rem; }
.more-cont .more-cont__inner .more-cont__items + .more-cont__items {
  background: url(../img/dot-line.png) no-repeat center top/85% auto; }
.more-cont .more-cont__btn {
  display: block;
  width: 90% !important;
  aspect-ratio: 688/124;
  margin: 0 auto; }
