@charset "utf-8";

@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap);

:root {
  --Clr01: #eeeeee;
  /*bodyの色1,*/
  --Clr02: #fdeaeb;
  /*フォームのラベルの色*/
  --Clr03: #b81c2b;
  /*フォームのタイトルの色*/
  --Clr04: #98000b;
  /*フォームのタイトルの色2*/
  --Clr05: #430015;
  /*フォームのタイトルのテキストの影の色*/
  --Clr06: #b81c2b;
  /*リンクの色1*/
  --Clr07: #98000b;
  /*リンクの色2*/
  --Clr08: #98000b;
  /*質問項目の色1*/
  --Clr09: #faa618;
  /*質問項目の色2*/
  --Clr10: #999;
  /*ボーダーの色*/
  --Clr11: #98000b;
  /*その他の色1,アンケートLPの外枠の色1*/
  --Clr12: #b81c2b;
  /*その他の色2,アンケートLPの外枠の色2*/
  --Clr13: #fdeaeb;
  /*その他の色3,ブロックの背景色*/
  --Clr14: #b81c2b;
  /*その他の色4,bodyの色2*/
  --Clr15: #ccc;
  /*ラジオボタンの色1*/
  --Clr16: #0075ff;
  /*ラジオボタンの色2*/
  --Clr17: #ffc600;
  /*本気チェックの線の色*/
  --Clr18: #fffcd3;
  /*本気チェックの色1*/
  --Clr19: #fffcd3;
  /*本気チェックの色2*/
  --Clr20: #e1e1e8;
  /*アップセルアンケートの線の色1*/
  --Clr21: transparent;
  /*アップセルアンケートの色1*/
  --Clr22: #e1e1e8;
  /*アップセルアンケートの色2*/
  --Clr23: #f00;
  /*アップセルアンケートの色3*/
  --Clr24: #b81c2b;
  /*フォーム項目フォーカス時のボーダー色*/
  --Clr25: #fdeaeb;
  /*フォーム項目フォーカス時のbgの色*/
  --Clr26: #dbd1cc;
  /*FAQの色1*/
  --Clr27: #5b0d16;
  /*FAQの色2*/
  --Clr28: #e6b422;
  /*その他の色5,bodyの色3*/
  --Clr29: #867c76;
  /*ページネーションの色1*/
  --Clr30: #51292e;
  /*ページネーションの色2*/
  --Clr31: #e2e1e0;
  /*ページネーションの色3*/
  --Clr32: #8b8682;
  /*ページネーションの色4*/
  --LgClr01: #faa618;
  /*ロゴの色1*/
  --LgClr02: #faa618;
  /*ロゴの色2*/
  --BGC01: #fdeaeb;
  /*特商法の文言部分の色1 背景*/
  --BGC02: #98000b;
  /*特商法の文言部分の色2 線・タイトルの背景色*/
  --VideoClr01: transparent;
  /*動画背景の色1*/
  --ClrAmzn01: #fcad55;
  /*Amazonpay用の色1*/
  --ClrLine01: #06c755;
  /*フォローLINE用の色1*/
  --ClrLine02: #000fff;
  /*フォローLINE用の色2*/
  --ClrErr01: #ffd0d0;
  /*エラー色1*/
  --ClrYes01: #28a745;
  /*Yes時のボーダー色*/
  --ClrYes02: #00b100;
  /*Yes時のbg色*/
  --ClrNo01: #cf9900;
  /*No時のボーダー色*/
  --ClrNo02: #ffffce;
  /*No時のbg色*/
  --ClrRed: #e60000;
  /*赤*/
  --ClrLrd: #ffebeb;
  /*薄い赤*/
  --ClrWlr: #fffcfc;
  /*薄ーい赤*/
  --ClrBlu: #00f;
  /*青*/
  --ClrYlw: #fff799;
  /*黄*/
  --ClrGrn: #00a04b;
  /*緑*/
  --ClrMkr: #000;
  /*黒*/
  --ClrBlk: #333;
  /*黒*/
  --ClrNmr: #666;
  /*鉛*/
  --ClrGry: #999;
  /*灰*/
  --ClrGmg: #ccc;
  /*ガンメタ*/
  --ClrLgr: #eee;
  /*ライトグレー*/
  --ClrMlg: #f3f3f3;
  /*もっと薄いグレー*/
  --ClrWht: #fff;
  /*白*/
  --FontSSS: 10px;
  --FontSSSM: 11px;
  --FontSS: 12px;
  --FontSSM: 13px;
  --FontS: 14px;
  --FontSM: 15px;
  --FontSMSM: 16px;
  --FontSMM: 17px;
  --FontM: 18px;
  --FontL: 24px;
  --LpWidthVal: 450;
  --ImageWidthVal: 750;
  --remCalc: calc((var(--LpWidthVal) / var(--ImageWidthVal)) * .1rem);
}

/*========================================
  Reset
========================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none outside none;
}

li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: var(--ClrYlw);
  color: var(--ClrMkr);
  text-decoration: none;
}

mark {
  background-color: var(--ClrYlw);
  color: var(--ClrMkr);
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: .1rem dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: .1rem;
  border: 0;
  border-top: .1rem solid var(--ClrGmg);
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

img,
svg {
  display: block;
  font-size: 0;
  vertical-align: bottom;
}

/*========================================
  Common Style
========================================*/
html,
body {
  color: var(--ClrBlk);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  line-height: 1.5;
}

html {
  font-size: 62.5%;
}

/*========================================
  Font Style
========================================*/
select,
input,
textarea,
button {
  font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: normal;
}

h1 {
  font-size: 1.1em;
}

h2 {
  font-size: 1.1em;
  margin: 0;
}

h3,
h4,
h5,
h6 {
  font-size: 1em;
}

svg {
  width: 100%;
}

a,
a:visited:hover {
  color: var(--Clr06);
  text-decoration: underline;
}

a:hover,
a:visited {
  color: var(--Clr07);
}

.font10 {
  font-size: 1rem !important;
}

.font11 {
  font-size: 1.1rem !important;
}

.font12 {
  font-size: 1.2rem !important;
}

.font14 {
  font-size: 1.4rem !important;
}

.font15 {
  font-size: 1.5rem !important;
}

.font16 {
  font-size: 1.6rem !important;
}

.font18 {
  font-size: 1.8rem !important;
}

.font19 {
  font-size: 1.9rem !important;
}

.font20 {
  font-size: 2rem !important;
}

.font22 {
  font-size: 2.2rem !important;
}

.font24 {
  font-size: 2.4rem !important;
}

.font25 {
  font-size: 2.5rem !important;
}

.font26 {
  font-size: 2.6rem !important;
}

.font28 {
  font-size: 2.8rem !important;
}

.font30 {
  font-size: 3rem !important;
}

.font32 {
  font-size: 3.2rem !important;
}

.font34 {
  font-size: 3.4rem !important;
}

.font36 {
  font-size: 3.6rem !important;
}

.font40 {
  font-size: 4rem !important;
}

.font44 {
  font-size: 4.4rem !important;
}

.font48 {
  font-size: 4.8rem !important;
}

.font50 {
  font-size: 5rem !important;
}

.font54 {
  font-size: 5.4rem !important;
}

.font56 {
  font-size: 5.6rem !important;
}

.font60 {
  font-size: 6rem !important;
}

.font64 {
  font-size: 6.4rem !important;
}

.font66 {
  font-size: 6.6rem !important;
}

.font70 {
  font-size: 7rem !important;
}

.font72 {
  font-size: 7.2rem !important;
}

.font75 {
  font-size: 7.5rem !important;
}

.font78 {
  font-size: 7.8rem !important;
}

.font80 {
  font-size: 8rem !important;
}

.font84 {
  font-size: 8.4rem !important;
}

.font88 {
  font-size: 8.8rem !important;
}

.font90 {
  font-size: 9rem !important;
}

.font100 {
  font-size: 10rem !important;
}

[class^=txt] {
  text-align: center;
  line-height: 1.5;
}

.txt_ss {
  font-size: 1.4rem;
}

.txt_s {
  font-size: 1.6rem;
}

.txt_m {
  font-size: 2rem;
  line-height: 1.5;
}

[class^=txt_l] {
  font-weight: 700;
}

.txt_l {
  font-size: 2.8rem;
  line-height: 1.5;
}

.txt_ll {
  font-size: 3.6rem;
  line-height: 1.3;
}

.bold {
  font-weight: 700;
}

.small {
  font-size: .5em;
}

.smaller {
  font-size: .8em;
}

.bigger {
  font-size: 1.3333em;
}

.big {
  font-size: 1.4em;
  font-weight: 700;
}

.huge {
  font-size: 1.8em;
  font-weight: 700;
}

.underline {
  text-decoration: underline;
}

.dashed {
  text-decoration: line-through;
}

.red {
  color: var(--ClrRed);
}

.blue {
  color: var(--ClrBlu);
}

.yellow {
  color: var(--ClrYlw);
}

.green {
  color: var(--ClrGrn);
}

.bg_ylw {
  background-image: linear-gradient(to bottom, transparent 0%, transparent 55%, var(--ClrYlw) 65%, var(--ClrYlw) 80%, transparent 95%);
}

.imp {
  color: var(--ClrRed);
  background-color: transparent;
  background-image: linear-gradient(to bottom, transparent 0%, transparent 55%, var(--ClrYlw) 65%, var(--ClrYlw) 80%, transparent 95%);
}

.imp02 {
  color: var(--ClrYlw);
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  background-color: var(--ClrRed);
  border-radius: 2rem;
  padding: 3rem;
}

.imp03 {
  color: var(--ClrRed);
}

.imp04 {
  background-image: linear-gradient(to bottom, transparent 0%, transparent 55%, var(--ClrYlw) 65%, var(--ClrYlw) 80%, transparent 95%);
}

.font_fin {
  color: var(--ClrRed);
  font-size: 4rem;
  font-weight: 700;
  text-shadow: .2rem .2rem .4rem var(--ClrGry);
  text-align: center;
  padding: 4rem 0 0 0;
}

.font_style01 {
  color: var(--ClrWht);
  background-color: var(--ClrRed);
  padding: 1rem;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}

.font_style02 {
  color: var(--ClrRed);
  background-color: var(--ClrWlr);
  padding: .5rem;
  font-size: 1.6rem;
}

.block_fix_copy {
  color: var(--ClrRed);
  text-align: center;
  line-height: 1.2;
  font-weight: 900;
  font-size: 5rem;
  width: 100%;
  margin: 0 0 .2em 0;
  text-shadow:
    -.2rem -.2rem 0 var(--ClrWht),
    .2rem -.2rem 0 var(--ClrWht),
    .2rem .2rem 0 var(--ClrWht),
    -.2rem .2rem 0 var(--ClrWht),
    .2rem .4rem .6rem rgba(0, 0, 0, .6);
}

.reg {
  vertical-align: super;
  font-size: .8em;
}

.super {
  vertical-align: super;
  font-size: .5em;
}

.indent_01 {
  padding-left: 1em !important;
  text-indent: -1em !important;
}

.indent_02 {
  padding-left: 1em !important;
}

.indent_03 {
  padding-left: 2em !important;
  text-indent: -1em !important;
}

.badge_annotation {
  padding-right: 1em;
  padding-left: 3em;
  text-indent: -2em;
  text-align: right;
  font-size: 2rem;
}

.ls_100 {
  letter-spacing: .10em;
}

.ls_50 {
  letter-spacing: .05em;
}

.ls_25 {
  letter-spacing: .025em;
}

.ls_0 {
  letter-spacing: 0;
}

.ls_m25 {
  letter-spacing: -.025em;
}

.ls_m50 {
  letter-spacing: -.05em;
}

.ls_m100 {
  letter-spacing: -.10em;
}

.lh12 {
  line-height: 1.2;
}

.lh13 {
  line-height: 1.3;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh18 {
  line-height: 1.8;
}

.lh20 {
  line-height: 2.0;
}

.prs_f {
  margin-left: -.4em;
}

.prs_r {
  letter-spacing: -.4em;
}

/*========================================
  Base Style
========================================*/
/*------------------------------
  Landing Wrapper
------------------------------*/
.whole_wrapper {
  --LpWidth: calc(var(--LpWidthVal) * .1rem);

  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: var(--ClrBlk);
  background-color: var(--Clr01);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  width: 100%;

  .lp_wrapper {
    background-color: var(--ClrWht);
    box-shadow: 0 0 1rem var(--ClrGry);
    overflow-x: hidden;
    letter-spacing: .05em;
    width: var(--LpWidth);
    margin: 0 auto;
    padding: 0;

    img {
      width: 100%;
      max-width: 100%;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
    }
  }
}

#wrapper {
  margin: 1rem;
}

/*------------------------------
  Header
------------------------------*/
#header {
  width: 100%;

  #logo {
    text-align: center;
    margin: 2rem 0;
  }
}

.anno {
  font-size: 1.4rem;
  padding: 1.2rem 2rem 1.2em 2rem;
}

.anno_link {
  text-align: center;
  font-size: 1.6rem;
  padding: 1.2rem 2rem;

  >a {
    color: var(--Clr29);

    &:hover,
    &:visited {
      color: var(--Clr30);
    }

    &:visited:hover {
      color: var(--Clr29);
    }
  }
}

/*--------------------
  for template
--------------------*/
#header {
  position: relative;

  h1 {
    position: relative;
    width: 100%;
  }

  .logo {
    position: absolute;
    display: flex;
    width: 100%;
    top: 15%;

    img {
      width: 42.66667%;
      margin: 0 auto;
    }
  }
}

/*------------------------------
  FV
------------------------------*/
.fv_area {
  position: relative;
  overflow: hidden;
  width: 100%;

  h1 {
    position: relative;
  }

  [class^=fv_cnt] {
    position: absolute;
    top: 0;
    left: 0;

    img {
      opacity: 0;
    }
  }

  .fv_cnt01 {
    img {
      animation: clip-path02 1s both linear 0s, fuwafuwa02 4s infinite linear 5s;
    }
  }

  .fv_cnt02 {
    img {
      animation: clip-path01 1s both linear .5s;
    }
  }
}

.fv_cta_area,
.purun {
  overflow: hidden;

  img,
  .img,
  input.btn_cnf {
    animation: purun01 3s 0s infinite;
  }
}

/*------------------------------
  Section
------------------------------*/
section {
  margin-top: 0;

  p {
    margin-bottom: 4rem;
  }

  .chain {
    margin: 0 0 0 0;
    padding: 0;
    vertical-align: bottom;
  }

  .chain_mb20 {
    margin: 0 0 4rem 0;
  }

  .chain_mb40 {
    margin: 0 0 8rem 0;
  }

  [class^=chain] {
    p {
      margin: 0;
    }
  }
}

#block_us_04 {
  margin-top: 4rem;
}

/*------------------------------
  Footer
------------------------------*/
#footer {
  background-color: var(--ClrWht);
  color: var(--ClrBlk);
  padding: 4rem 0 0;
  margin-top: 8rem;

  #footer-inner {
    text-align: center;
    font-size: 2.4rem;

    nav {
      font-size: 2.4rem;
      float: none;

      a {
        color: var(--Clr06);
        text-decoration: underline;

        &:hover,
        &:visited {
          color: var(--Clr07);
        }

        &:visited:hover {
          color: var(--Clr06);
        }
      }
    }

    .footer_li {
      line-height: 1.8;
      letter-spacing: -.1em;
    }

    .coinfo {
      margin: 4rem auto 0;
    }
  }

  .logo {
    text-align: center;
    width: 35%;
    margin: 0 auto;
    padding: 4rem 0 4rem;

    img {
      width: 100%;
    }
  }

  #copy {
    background-color: var(--Clr03);
    font-size: 1.8rem;
    padding: .5em 0;

    p {
      color: var(--ClrWht);
      text-align: center;
      font-weight: 700;
      text-shadow: 0 0 .1rem var(--ClrGry), 0 0 .1rem var(--ClrGry), 0 0 .1rem var(--ClrGry), 0 0 .1rem var(--ClrGry);
    }
  }
}

div {
  &#footer {
    background-color: var(--ClrWht);
    color: var(--ClrBlk);
    text-align: center;
    font-size: 2.4rem;
    margin-top: 4rem;
    padding: 2rem 0 0;

    >a {
      display: inline-block;
      width: 100%;
      margin: 0 auto;
      padding: 0 1em;
    }
  }

  #copyright {
    color: var(--ClrWht);
    background-color: var(--Clr03);
    font-size: .8em;
    font-weight: bold;
    margin: 1em 0 0;
    padding: .5em 0;
  }
}

/*========================================
  Skin
========================================*/
/*------------------------------
  CTA
------------------------------*/
.cta {
  padding: 4rem 1rem;
  margin: 0;

  .anno {
    margin: 0;
  }
}

.cta_l {
  padding: 1rem 0 1rem 0;
}

/*------------------------------
  insta area Swiper
------------------------------*/
.insta_area {
  position: relative;
  overflow: hidden;
  z-index: 1;
  background-image: url(../img/r2_insta_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  margin: 4rem auto 4rem;

  .insta_ttl {
    margin: 0;
  }
}

/*------------------------------
  Swiper
------------------------------*/
[class^=swiper-container] {
  position: relative;
  overflow: hidden;
  z-index: 1;
  margin: 0 auto;
  padding: 0 1.6rem;
}

.swiper-wrapper {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  z-index: 1;
  width: 100%;
  height: 100%;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -ms-transition-property: -ms-transform;
  transition-property: transform;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

.swiper-container-free-mode {
  >.swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    -ms-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto;
  }
}

.swiper-slide {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  flex-shrink: 0;
  opacity: 1;
  transition: opacity .5s, transform .5s ease-in-out;
  width: 100%;
  height: 100%;
  margin: 0 auto;

  &.swiper-slide-active {
    opacity: 1;
  }
}

.swiper_area {
  position: relative;
  padding: 0;
}

.slider {
  &.swiper {
    position: relative;
  }
}

[class^=swiper-button-] {
  position: absolute;
  display: block;
  cursor: pointer;
  z-index: 1;
  opacity: 1;
  top: 25%;
  width: 12.5%;

  svg {
    width: 100%;

    >circle {
      fill: var(--ClrWht);
      stroke: var(--LgClr01);
      stroke-width: .1rem;
      transition: fill .3s;
    }

    >polygon {
      fill: var(--LgClr01);
      transition: fill .3s;
    }
  }

  &:hover {
    svg {
      >circle {
        fill: var(--LgClr01);
      }

      >polygon {
        fill: var(--ClrWht);
      }
    }
  }
}

.swiper-button-prev {
  left: 0%;
}

.swiper-button-next {
  right: 0%;
}

/*------------------------------
  Movie block
------------------------------*/
.video {
  text-align: center;
  width: 100%;

  iframe {
    width: 100%;
    height: 42rem;
  }

  video {
    width: 100%;
    height: auto;
  }
}

.video_area {
  position: relative;
  width: 100%;
  margin: 0;

  .video_bg {
    position: relative;
    width: 100%;
    margin: 0;
  }

  .video_cnt {
    position: absolute;
    background-color: var(--VideoClr01);
    z-index: 1;
    top: 36.5%;
    width: 100%;
    padding: 0 4.5rem;
  }

  iframe {
    display: block;
    border: solid .1rem var(--ClrBlk);
    border-radius: 2rem;
    aspect-ratio: 15.25 / 9;
    z-index: 2;
    width: 100%;
    height: 100%;
  }

  video {
    display: block;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    z-index: 2;
  }

  .video_cvr {
    position: absolute;
    display: block;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  &.video02 {
    .video_cnt {
      position: relative;
    }

    iframe {
      aspect-ratio: 16 / 9;
    }

    .video_cvr {
      display: none;
    }
  }
}

/*------------------------------
  manga part
------------------------------*/
.mng_area {
  position: relative;
  width: 100%;

  .mng_area_inner {
    position: relative;
    width: 100%;
    margin: 0 auto 4rem;

    .mng_cnt {
      position: relative;
      width: 100%;
      height: auto;

      .mng_disp_switch {
        display: none;
      }
    }

    .mng_tap {
      position: absolute;
      top: 24rem;
      left: 0;
    }

    .mng_close {
      display: none;
      color: var(--ClrBlk);
      text-align: center;
    }
  }
}

/*------------------------------
  usp part
------------------------------*/
.usp_part {
  margin: 8rem auto 0;

  .usp {
    margin: 0 auto 8rem;

    .usp p {
      margin-bottom: 0;
    }
  }
}

/*------------------------------
  company part
------------------------------*/
.company_part {
  margin: 6rem auto 6rem;

  p {
    margin-bottom: 0;
  }

  .company_part__top {}

  .company_part_inner {
    background-image: url(../img/company_part_bg.jpg);
    background-size: 100% auto;
    background-repeat: repeat-y;
    text-align: justify;
    font-size: 3.2rem;
    width: 100%;
    padding: 0 6rem;

    .company_part__logo {
      width: 50%;
      margin: -2rem auto 0;
    }

    .text {
      padding: 4rem 0;

      .text_ttl {
        font-size: 1.2em;
        font-weight: 700;
        margin: 0 auto 1em;
      }

      dl {
        &.text_cnt {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          font-size: .9em;
          width: 100%;

          dt {
            width: 25%;
          }

          dd {
            width: 75%;
            letter-spacing: -.025em;
          }
        }
      }

      ul {
        &.text_cnt {
          width: 100%;
          margin: 0;
          padding: 0 0 0 1.5em;

          li {
            list-style-type: disc;
            line-height: 1.3;
            padding: 0 0 .5em;
          }
        }
      }
    }
  }

  .company_part__btm {
    line-height: 1;
  }
}

/*------------------------------
  company part
------------------------------*/
.voice_part {
  margin: 6rem auto 6rem;
  background-color: var(--Clr08);
}

/*------------------------------
  Swiper
------------------------------*/
.swiper {
  --btn-width: 2.6rem;
  --btn-height: 6.7rem;
  --btn-mrg: 1rem;
  --mrgbtm: 0;

  overflow: initial;
  position: relative;

  .swiper-btn {
    [class^=swiper-button-] {
      position: absolute;
      display: block;
      cursor: pointer;
      border-radius: 50%;
      z-index: 1;
      opacity: 1;
      aspect-ratio: 26 / 67;
      width: var(--btn-width);
      height: var(--btn-height);
      top: 40%;
      margin: 0;
      transition: opacity .3s;

      >svg {
        width: 100%;

        >circle {
          fill: var(--ClrWht);
          stroke: var(--Clr29);
          stroke-width: .2rem;
          transition: fill .3s;
          will-change: fill;
        }

        >polyline {
          fill: transparent;
          stroke: var(--Clr29);
          stroke-linecap: round;
          stroke-linejoin: round;
          stroke-width: .3rem;
          transition: stroke .3s;
          will-change: stroke;
        }
      }

      &:hover {
        opacity: .7;

        >svg {
          >circle {
            fill: var(--Clr29);
          }

          >polyline {
            stroke: var(--ClrWht);
          }
        }
      }

      &.swiper-button-prev {
        left: var(--btn-mrg);
      }

      &.swiper-button-next {
        right: var(--btn-mrg);
      }
    }
  }

  .swiper-pagination {
    --gap: 2.5rem;

    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap);
    z-index: 2;
    top: unset;
    bottom: var(--mrgbtm);
    left: var(--btn-width);
    width: calc(100% - ((var(--btn-width) + var(--btn-mrg)) * 2));
    height: 2.1rem;

    >span {
      display: block;
      background-color: var(--ClrWht);
      border: solid .2rem var(--Clr30);
      cursor: pointer;
      aspect-ratio: 1 / 1;
      width: 2.1rem;
      transform: rotate(45deg);
      transition: background-color .3s;
      will-change: background-color;

      &.swiper-pagination-bullet-active {
        cursor: auto;
        background-color: var(--Clr29);
      }
    }
  }
}

/*------------------------------
  Professional Swiper
------------------------------*/
.pr_list {
  --mrgbtm: 2.5rem;

  .swiper-btn {
    [class^=swiper-button-] {
      top: 58.5%;
    }
  }

  .swiper-pagination {
    --gap: 0;

    height: .3rem;

    >span {
      background-color: var(--Clr31);
      border: none;
      cursor: pointer;
      aspect-ratio: 20 / 1;
      width: 6rem;
      transform: rotate(0deg);
      transition: background-color .3s;
      will-change: background-color;

      &.swiper-pagination-bullet-active {
        cursor: auto;
        background-color: var(--Clr32);
      }
    }
  }
}

/*------------------------------
  User Voice Swiper
------------------------------*/
.uv_list {
  --mrgbtm: 3.5rem;

  background-image: url(../../r2_et_enq/r2_c5_uvbg.webp);
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  padding: 0 0 0;
}

/*------------------------------
  Q&A Swiper
------------------------------*/
.qa_list {
  --mrgbtm: 12rem;

  padding: 0 0 15rem;

  .swiper-btn {
    [class^=swiper-button-] {
      top: 35%;
    }
  }
}

/*------------------------------
  faq part
------------------------------*/
.faq_part {

  .faq_bg {
    background-image: linear-gradient(to bottom, var(--Clr11) 0%, var(--Clr11) 50%, var(--Clr12) 50%, var(--Clr12) 100%);
    border-radius: 2rem;
    text-align: justify;
    margin: 6rem 1.5rem;
    padding: 0 0;

    &.theme_color_01 {
      background-image: linear-gradient(to bottom, var(--Clr11) 0%, var(--Clr11) 100%);
    }

    &.theme_color_02 {
      background-image: linear-gradient(to bottom, var(--Clr12) 0%, var(--Clr12) 100%);
    }
  }

  .faq_box {
    border: 1rem solid transparent;
    margin: 0 0 1.5rem;
    border-radius: 1rem;

    dt {
      &.faq_q {
        background: url(../img/icon_q.png) no-repeat 3.5% 50%;
        background-size: 16% auto;
        background-color: var(--ClrWht);
        font-weight: 700;
        border-radius: 1.6rem 1.6rem 0 0;
        border-bottom: .6rem solid transparent;
        padding: 6.4% 3.2% 6.4% 22.4%;
        text-align: justify;
        margin-bottom: 1rem;
      }
    }

    dd {
      &.faq_a {
        background-color: var(--ClrWht);
        border-radius: 0 0 1.6rem 1.6rem;

        .faq_a_st {
          background: url(../img/icon_a.png) no-repeat 3.5% 50%;
          background-size: 16% auto;
          padding: 6.4% 3.2% 6.4% 22.4%;
          text-align: justify;
          margin-bottom: 0%;
        }

        .faq_a_txt {
          padding: 1% 3% 3%;
          margin-bottom: 0;
          font-size: .8em;
          text-align: justify;
        }

        .faq_a_img {
          padding: 0 2% 4%;
          margin-bottom: 0;
        }

        .anno {
          letter-spacing: 0;
          margin-bottom: 0;
        }
      }
    }
  }
}

/*------------------------------
  FAQ Area
------------------------------*/
.faq-area {
  background-color: var(--Clr26);
  padding: 0 2.5rem 6.4rem;

  .faq--cnt {
    background-color: var(--Clr27);
    border-radius: 1.2rem;
    margin: 0 auto 2rem;

    .faq--cnt-q {
      cursor: pointer;

      .faq--cnt-q-inner {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 1.2em;
        padding: 3.5rem 3rem 3rem;

        .icon-q {
          width: 6.09375%;
          margin: .8rem 0 0;
        }

        .text {
          flex: 1;
          color: var(--ClrWht);
          text-align: justify;
          font-size: 3.2rem;
          font-weight: 700;
          margin: 0;
          padding-right: 2em;
        }

        .icon {
          aspect-ratio: 1 / 1;
          transition: transform .3s;
          position: absolute;
          width: 7%;
          height: auto;
          top: 50%;
          right: 2rem;
          transform: translateY(-50%) rotate(-90deg);

          .yjrsh {
            .a {
              fill: none;
            }

            .b {
              fill: none;
              stroke: var(--ClrWht);
              stroke-linecap: round;
              stroke-linejoin: round;
              stroke-width: .4rem;
            }
          }
        }
      }

      &.open {
        .faq--cnt-q-inner {
          .icon {
            transform: translateY(-50%) rotate(90deg);
          }
        }
      }
    }

    .faq--cnt-a {
      display: none;

      .faq--cnt-a-inner {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 1.2em;
        background-color: var(--ClrWht);
        /*
        border: solid .5rem var(--Clr27);
*/
        border-radius: 0 0 1.2rem 1.2rem;
        padding: 3.5rem 3rem;

        .icon-a {
          width: 6.40625%;
          margin: .8rem 0 0;
        }

        .text {
          flex: 1;
          text-align: justify;
          font-size: 2.6rem;
          font-weight: 700;
          margin: 0;
          padding: 0;

          .dif-clr {
            color: var(--Clr27);
          }
        }
      }
    }
  }
}

/*------------------------------
  Q&A Area
------------------------------*/
.qanda_area {
  padding: 4rem 0;

  .qa_cnt {
    font-size: 2.4rem;
    padding: 0 2rem;

    >dt,
    >dd {
      &::before {
        content: '';
        display: block;
        background-size: 100% auto;
        background-position: center center;
        background-repeat: no-repeat;
        width: 6.8rem;
        height: 6.8rem;
      }

      >span,
      >span {
        display: block;
        width: calc(100% - 9.8rem);
      }
    }

    >dt {
      display: flex;
      justify-content: flex-start;
      align-items: flex-end;
      gap: 0 3rem;
      color: var(--ClrGry);
      border-image: linear-gradient(to right, transparent 0%, transparent 1.2rem, var(--ClrGry) 1.8rem, var(--ClrGry) 100%) 1;
      border-bottom: solid .2rem transparent;
      font-size: 1.5em;
      font-weight: 700;
      margin: 0 auto 3rem;

      &::before {
        background-image: url(../img/r2_icon_q.png);
      }
    }

    >dd {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 0 3rem;
      color: var(--ClrBlak);

      &::before {
        background-image: url(../img/r2_icon_a.png);
      }
    }
  }
}

/*------------------------------
  only one time
------------------------------*/
.dupng {
  color: var(--ClrWht);
  background-color: var(--ClrRed);
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  margin: 1rem 1rem;
  padding: .5em;
}

/*------------------------------
  Bottom Area
------------------------------*/
.btm_area {
  margin: 6rem 2rem 0;

  .add_table {
    width: 100%;
    margin: 0 auto 2rem;
    border-top: .2rem solid var(--Clr10);
    border-left: .2rem solid var(--Clr10);
    font-size: 2.4rem;

    td {
      border-right: .2rem solid var(--Clr10);
      border-bottom: .2rem solid var(--Clr10);
      text-align: justify;
      vertical-align: middle;
      letter-spacing: .05em;
      padding: 2rem 2rem;

      &:nth-of-type(1) {
        background-color: var(--Clr02);
        font-weight: bold;
        width: 40%;
        letter-spacing: 0;
      }

      &:nth-of-type(2) {
        background-color: var(--ClrWht);
        font-size: 2rem;
        width: auto;
      }
    }
  }

  &.us_page {
    margin: 2rem 2rem 0;

    .add_table {
      font-size: 1.8rem;

      td {
        &:nth-of-type(2) {
          font-size: 1.5rem;
        }
      }
    }
  }
}

/*------------------------------
  Caution Area
------------------------------*/
.caution_area {
  background-color: var(--ClrWht);
  border: 1rem solid var(--ClrYlw);
  border-radius: 2rem;
  margin: 0 2% 4rem;
  padding: 2rem;

  &.b_red {
    border: 1rem solid var(--ClrRed);
  }

  .caution_img {
    text-align: center;
    margin: 2rem;

    img {
      width: 20%;
    }
  }
}

/*------------------------------
  kantan 1 minute
------------------------------*/
.easy_to_get {
  color: var(--ClrRed);
  background-image: linear-gradient(to bottom, transparent 0%, transparent 20%, var(--ClrYlw) 20%, var(--ClrYlw) 90%, transparent 90%);
  vertical-align: baseline;
  font-size: 1.5em;
  line-height: 1;

  .big {
    font-size: 160%;
  }
}

/*------------------------------
  No! scalping
------------------------------*/
#no_scalping {
  &.box_c {
    background-color: var(--ClrLrd);
    border: double 1rem var(--ClrRed);
    text-align: justify;
    font-size: 1.6rem;
    line-height: 1.3;
    letter-spacing: -.05em;
    margin: 0 1% 2% 1%;
    padding: .5em .5em .5em .5em;

    p {
      color: var(--ClrRed);
      padding: 0 0 0 1em;
      text-indent: -1em;
      margin: 0;

      &::before {
        content: '\25A0';
      }
    }

    &.failed {
      display: none;
    }
  }
}

/*------------------------------
  direction notice
------------------------------*/
.direction_notice {
  margin: 0;
  text-align: center;
  font-size: 2rem;
  letter-spacing: .02em;
  font-weight: 700;
  line-height: 1.3;
}

.us_btm {
  text-align: center;

  .direction_notice {
    font-size: 2.4rem;
    width: 100%;
    margin: 0 auto;
    line-height: 1.3;
  }
}

/*------------------------------
  form button
------------------------------*/
.form_btn {
  padding: 4rem 8rem 4rem;
}

.btm_btn {
  padding: 0 8rem 0;
}

/*------------------------------
  Confirm Button
------------------------------*/
.conf_btn {
  width: 100%;
  margin: 0 auto 3rem;
}

/*------------------------------
  upsell bottom button
------------------------------*/
.us_btm_btn {
  position: relative;
  display: block;
  width: 100%;

  h2 {
    position: relative;
  }

  .btn_cnt {
    width: 100%;
  }
}

/*------------------------------
  pulse
------------------------------*/
.pulse {
  background-color: var(--ClrWht);

  img {
    animation: pulse01 2s infinite 0s;
  }
}

/*------------------------------
  Logo Horizontal
------------------------------*/
.logo_h {
  text-align: center;

  img {
    width: 65%;
  }
}

/*------------------------------
  Date of Today
------------------------------*/
.today {
  p {
    text-align: center;
    width: 100%;
    background-color: var(--ClrRed);
    color: var(--ClrWht);
    font-size: 6rem;
    padding: 2rem 0 2rem 0;
    margin-top: 4rem;
    font-weight: 700;
  }
}

.today_area {
  position: relative;

  .bg_img {
    position: relative;
  }

  .today {
    position: absolute;
    top: 60%;
    left: 0;
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-feature-settings: 'palt';
    color: var(--ClrWht);
    background-color: var(--Clr04);
    text-align: center;
    font-size: 5.5rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .01em;
    width: 100%;
    padding: 0;

    [class^=t_] {
      font-size: 1.75em;
    }

    .small {
      font-size: .7em;
    }
  }
}

/*------------------------------
  Count Down Upsell
------------------------------*/
.countdown_area {
  width: 100%;
  margin: 4rem auto 0;
  padding: 0;

  .cd_time {
    font-size: 1.8em;
    line-height: 1;
    font-weight: 700;
  }
}

.cd_box {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--ClrRed);
  letter-spacing: 0;
  width: 100%;
  padding: 2rem 8rem;

  .until_end {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    color: var(--ClrBlk);
    background-color: var(--ClrWht);
    text-align: center;
    line-height: 1.3;
    font-weight: 700;
    font-size: 2.4rem;
    width: 20%;
    padding: .5em;
  }

  .countTimer {
    color: var(--ClrWht);
    text-align: center;
    font-weight: 700;
    font-size: 5rem;
    width: auto;
    padding: 0;
  }
}

.cd_area {
  position: relative;

  h2 {
    position: relative;
  }

  .cd_box_wrap {
    position: absolute;
    top: 34%;
    left: 0;
    width: 100%;
    padding: 0 8% 0 42%;

    .cd_box {
      padding: 10% 6%;

      .until_end {
        font-size: 2rem;
        letter-spacing: -.05em;
        width: 20%;
      }

      .countTimer {
        font-size: 4rem;
        letter-spacing: 0em;
        width: 80%;
      }
    }
  }

  &.cd_area02 {
    .cd_box_wrap {
      top: 34%;
    }
  }

  &.cd_area03 {
    .cd_box_wrap {
      top: 34%;
    }
  }

  &.cd_area04 {
    .cd_box_wrap {
      top: 34%;
    }
  }
}

.us_btn {
  .cd_box {
    margin: 1rem auto;
    padding: 1.5rem 5%;

    .until_end {
      font-size: 1.4rem;
      letter-spacing: -.05em;
      width: 20%;
    }

    .countTimer {
      font-size: 2.8rem;
      letter-spacing: 0em;
      width: 80%;
    }
  }
}

#block_form_disable {
  display: none;

  &.disable {
    display: block;
  }
}

#block_form {
  &.disable {
    display: none;
  }
}

/*------------------------------
  Coupon
------------------------------*/
.coupon {
  width: 100%;
  text-align: center;

  &.slope {
    margin: 0 auto 4rem;

    p {
      transform: rotate(-10deg);
      width: 30%;
      margin: 0 auto;
    }
  }
}

/*------------------------------
  Float Btn
------------------------------*/
#fixed_btn {
  width: 75rem;
  position: fixed;
  display: none;
  bottom: 0;
  z-index: 3;
  overflow: hidden;

  img {
    animation: scaleupdown01 10s ease-in-out infinite;
  }
}

/*------------------------------
  Null Popup
------------------------------*/
#overlay {
  position: fixed;
  display: none;
  opacity: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 99999;
}

#null_popup {
  position: fixed;
  display: none;
  overflow: hidden;
  top: calc((100vh - 50rem) / 2);
  left: calc((100% - 35rem) / 2);
  width: 35rem;
  height: 50rem;
  padding: 0;
  opacity: 1;
  background-color: transparent;
  z-index: 100000;

  .null_popup_inner {
    #banner {
      img {
        width: 100%;
      }
    }
  }
}

/*------------------------------
  Thanks Page
------------------------------*/
.anigif {
  padding: 0 25rem;
}

/*------------------------------
  Scroll
------------------------------*/
.scroll {
  opacity: 0;
  transform: translateY(2rem) scale(.9);

  &.scrollin {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: all .5s cubic-bezier(0, .55, .45, 1);
  }
}


/*------------------------------
  Form Area
------------------------------*/
body {
  > .c-loadingImage {
    display: none;
  }
}

#form_area {
  overflow: hidden;

  select {
    border: solid .1rem var(--color-gray-middle);
  }

  .form_header {
    --font-size: 1.6rem;

    font-size: var(--font-size);
    width: 100%;
    padding-block-start: 2rem;
    padding-inline: 2rem;

    > div {
      margin-block-end: 2rem;
    }

    .anno_ttl {
      text-align: center;
      font-size: 1.5em;
      font-weight: 700;
    }

    .anno {
      text-align: center;

      .red {
        color: var(--ClrRed);
      }

      a {
        text-decoration: underline;
      }
    }

    .text {
      text-align: center;
      margin-block-end: 0;
    }
  }

  .l-container-wrap__body {
    padding-top: 0rem;
  }

  .p-landingCart-body {
    padding-top: 0rem;

    .p-landingCartEntryItemLine {
      .p-landingCartEntryItemLine__select {
        font-size: 1.3em;
        max-width: unset;

        &[size="2"] {
          -ms-overflow-style: none;
          scrollbar-width: none;
          background-image: none;
          border: none;
          height: 21rem;
          padding-right: 1.2rem;

          &::-webkit-scrollbar {
              display: none;
          }

          option {
            background-image: url(../images/lp_cta_btn_teiki_bt.webp);
            width: 100%;
            aspect-ratio: 672 / 151;
            cursor: pointer;
            background-size: 100%;
            background-repeat: no-repeat;
            background-position: left top;
            margin-block-end: 2rem;
            text-indent: -99999999rem;

            &:nth-of-type(2) {
              background-image: url(../images/lp_cta_btn_tanpin_bt.webp);
              background-size: 60%;
              background-position: center top;
              margin-block-end: 0rem;
            }

            &:selected {
              background-color: transparent;
            }
          }
        }
      }
    }

    .s-orderContent-cartGroup:not(:nth-of-type(1)) {
        padding-top: 0;
    }

    .m-orderProductSect-title {
        font-size: 1em;

        .m-orderProductSect-title__info,
        .m-orderProductSect-title__price,
        .m-orderProductSect-title__quantity,
        .m-orderProductSect-title__subtotal {
          flex: 1;
        }

        .m-orderProductSect-title__price,
        .m-orderProductSect-title__quantity {
          display: none;
        }
    }

    .m-orderProductSect-item__inner {
        .m-orderProductSect-item__pictureWrap {
          display: none;
        }

        .m-orderProductSect-item__info {
          flex: 1;

          .m-orderProductSect-itemDetail,
          .m-orderProductSect-itemPrice,
          .m-orderProductSect-itemQuantity,
          .m-orderProductSect-itemSubtotal {
            flex: 1;
          }

          .m-orderProductSect-itemDetail__title {
            -webkit-line-clamp: none;
            font-size: 1em;
          }

          .m-orderProductSect-itemPrice,
          .m-orderProductSect-itemQuantity {
            display: none
          }
        }
    }

    .s-orderContent-sepWrap--cartUseDiscount {
        flex-wrap: wrap;

        .s-orderContent-sepWrap__entry--cartUseDiscount {
            display: none;
            width: 100%;
        }

        .s-orderContent-sepWrap__info {
            width: 100%;
        }
    }

    .s-orderContent-sepWrap {
        flex-wrap: wrap;

        .s-orderContent-sepWrap__info,
        .s-orderContent-sepWrap__entry {
            width: 100%;
        }
    }
  }
}


/*========================================
  Margin Padding
========================================*/
/*------------------------------
  Margin
------------------------------*/
.m0 {
  margin: 0 !important;
}

.m10 {
  margin: 1rem !important;
}

.m20 {
  margin: 1rem !important;
}

/*--------------------
  Margin Top
--------------------*/
.mt-10 {
  margin-top: -1rem !important;
}

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

.mt5 {
  margin-top: .5rem !important;
}

.mt7 {
  margin-top: .7rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mt40 {
  margin-top: 4rem !important;
}

.mt50 {
  margin-top: 5rem !important;
}

.mt60 {
  margin-top: 6rem !important;
}

/*--------------------
  Margin Right
--------------------*/
.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: .5rem !important;
}

.mr7 {
  margin-right: .7rem !important;
}

.mr10 {
  margin-right: 1rem !important;
}

.mr20 {
  margin-right: 2rem !important;
}

.mr30 {
  margin-right: 3rem !important;
}

.mr40 {
  margin-right: 4rem !important;
}

.mr50 {
  margin-right: 5rem !important;
}

.mr60 {
  margin-right: 6rem !important;
}

/*--------------------
  Margin Bottom
--------------------*/
.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: .5rem !important;
}

.mb7 {
  margin-bottom: .7rem !important;
}

.mb10 {
  margin-bottom: 1rem !important;
}

.mb20 {
  margin-bottom: 2rem !important;
}

.mb30 {
  margin-bottom: 3rem !important;
}

.mb40 {
  margin-bottom: 4rem !important;
}

.mb50 {
  margin-bottom: 5rem !important;
}

.mb60 {
  margin-bottom: 6rem !important;
}

/*--------------------
  Margin Left
--------------------*/
.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: .5rem !important;
}

.ml7 {
  margin-left: .7rem !important;
}

.ml10 {
  margin-left: 1rem !important;
}

.ml20 {
  margin-left: 2rem !important;
}

.ml30 {
  margin-left: 3rem !important;
}

.ml40 {
  margin-left: 4rem !important;
}

.ml50 {
  margin-left: 5rem !important;
}

.ml60 {
  margin-left: 6rem !important;
}

/*--------------------
Padding Top
--------------------*/
.pt0 {
  padding-top: 0 !important;
}

.pt5 {
  padding-top: .5rem !important;
}

.pt7 {
  padding-top: .7rem !important;
}

.pt10 {
  padding-top: 1rem !important;
}

.pt20 {
  padding-top: 2rem !important;
}

.pt30 {
  padding-top: 3rem !important;
}

.pt40 {
  padding-top: 4rem !important;
}

.pt50 {
  padding-top: 5rem !important;
}

.pt60 {
  padding-top: 6rem !important;
}

/*--------------------
  Padding Right
--------------------*/
.pr0 {
  padding-right: 0 !important;
}

.pr5 {
  padding-right: .5rem !important;
}

.pr7 {
  padding-right: .7rem !important;
}

.pr10 {
  padding-right: 1rem !important;
}

.pr20 {
  padding-right: 2rem !important;
}

.pr30 {
  padding-right: 3rem !important;
}

.pr40 {
  padding-right: 4rem !important;
}

.pr50 {
  padding-right: 5rem !important;
}

.pr60 {
  padding-right: 6rem !important;
}

/*--------------------
  Padding Bottom
--------------------*/
.pb0 {
  padding-bottom: 0 !important;
}

.pb5 {
  padding-bottom: .5rem !important;
}

.pb7 {
  padding-bottom: .7rem !important;
}

.pb10 {
  padding-bottom: 1rem !important;
}

.pb20 {
  padding-bottom: 2rem !important;
}

.pb30 {
  padding-bottom: 3rem !important;
}

.pb40 {
  padding-bottom: 4rem !important;
}

.pb50 {
  padding-bottom: 5rem !important;
}

.pb60 {
  padding-bottom: 6rem !important;
}

/*--------------------
  Padding Left
--------------------*/
.pl0 {
  padding-left: 0 !important;
}

.pl5 {
  padding-left: .5rem !important;
}

.pl7 {
  padding-left: .7rem !important;
}

.pl10 {
  padding-left: 1rem !important;
}

.pl20 {
  padding-left: 2rem !important;
}

.pl30 {
  padding-left: 3rem !important;
}

.pl40 {
  padding-left: 4rem !important;
}

.pl50 {
  padding-left: 5rem !important;
}

.pl60 {
  padding-left: 6rem !important;
}

/*========================================
  Float Align
========================================*/
/*------------------------------
  Float
------------------------------*/
.f_left {
  float: left !important;
}

.f_right {
  float: right !important;
}

/*------------------------------
  Align
------------------------------*/
.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.justify {
  text-align: justify !important;
}

/*==================================================
  Animation
==================================================*/
/*------------------------------
  Purun
------------------------------*/
@keyframes purun01 {

  from,
  1%,
  48%,
  to {
    transform: none;
  }

  6% {
    transform: skew(-1.375deg, -1.375deg);
  }

  12% {
    transform: skew(1.5625deg, 1.5625deg);
  }

  18% {
    transform: skew(-.78125deg, -.78125deg);
  }

  24% {
    transform: skew(.390625deg, .390625deg);
  }

  30% {
    transform: skew(-.1953125deg, -.1953125deg);
  }

  36% {
    transform: skew(.048828deg, .048828deg);
  }

  42% {
    transform: skew(-.048828deg, -.048828deg);
  }
}

/*------------------------------
  Scale Up Down
------------------------------*/
@keyframes scaleupdown01 {

  0%,
  10%,
  20%,
  30%,
  40%,
  50%,
  60%,
  70%,
  77%,
  83%,
  90%,
  94%,
  100% {
    transform: scale(1);
  }

  5%,
  15%,
  25%,
  35%,
  45%,
  55%,
  65%,
  74%,
  80%,
  92%,
  97% {
    transform: scale(.98);
  }

  87% {
    transform: scale(1.02);
  }
}

@keyframes scaleupdown02 {

  0%,
  10%,
  20%,
  30%,
  40%,
  50%,
  60%,
  70%,
  80%,
  90%,
  100% {
    transform: scale(1);
  }

  5%,
  15%,
  25%,
  35%,
  45%,
  55%,
  65%,
  75%,
  85%,
  95% {
    transform: scale(.85);
  }
}

/*------------------------------
  Drop Down
------------------------------*/
@keyframes dropdown01 {
  0% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0;
  }

  5% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0;
  }

  5% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }

  50% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }

  65% {
    transform: translate(0, 5rem) rotate(0deg);
    opacity: 0;
  }

  100% {
    transform: translate(0, 5rem) rotate(0deg);
    opacity: 0;
  }
}

/*------------------------------
  Fade In
------------------------------*/
@keyframes fadein01 {
  0% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}

@keyframes fadein02 {
  0% {
    transform: translate(0, -4rem) rotate(0deg);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}

@keyframes fadein03 {

  0%,
  1% {
    transform: translate(0, 4rem) rotate(0deg);
    opacity: 0;
  }

  30%,
  50%,
  65%,
  100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}

/*------------------------------
  Fuwafuwa
------------------------------*/
@keyframes fuwafuwa01 {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate(0, -.8rem) rotate(0deg);
  }
}

@keyframes fuwafuwa02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  25% {
    transform: translate(0, -.5rem) rotate(0deg);
  }

  50% {
    transform: translate(0, 0) rotate(0deg);
  }

  75% {
    transform: translate(0, -.5rem) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

/*------------------------------
  Yurayura
------------------------------*/
@keyframes yurayura01 {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate(.25rem, 0) rotate(0deg);
  }
}

@keyframes yurayura02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  25% {
    transform: translate(-.25rem, 0) rotate(0deg);
  }

  50% {
    transform: translate(.25rem, 0) rotate(0deg);
  }

  75% {
    transform: translate(-.25rem, 0) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

/*------------------------------
  Shrink
------------------------------*/
@keyframes shrink01 {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate(-1rem, 0rem) scale(.95);
  }
}

@keyframes shrink02 {

  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    transform: scale(1);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: scale(.98);
  }
}

@keyframes shrink03 {

  0%,
  45%,
  55%,
  65%,
  100% {
    transform: scale(1);
  }

  50%,
  60% {
    transform: scale(.98);
  }
}

/*------------------------------
  Skew
------------------------------*/
@keyframes skew01 {
  0% {
    transform: skew(0deg, 0deg);
  }

  5% {
    transform: skew(1.25deg, 1.05deg);
  }

  10% {
    transform: skew(-1deg, -.75deg);
  }

  15% {
    transform: skew(2.25deg, .8deg);
  }

  20% {
    transform: skew(-2deg, -.375deg);
  }

  25% {
    transform: skew(.225deg, .225deg);
  }

  30% {
    transform: skew(-.15deg, -.15deg);
  }

  35% {
    transform: skew(.075deg, .075deg);
  }

  40% {
    transform: skew(-.05deg, -.05deg);
  }

  45% {
    transform: skew(.05deg, .05deg);
  }

  50% {
    transform: skew(0deg, 0deg);
  }
}

/*------------------------------
  Shine
------------------------------*/
@keyframes shine {
  0% {
    transform: skewX(-45deg) translateX(0)
  }

  100% {
    transform: skewX(-45deg) translateX(1000%)
  }
}

@keyframes shine02 {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0
  }

  70% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 1
  }

  71% {
    -webkit-transform: scale(4) rotate(45deg);
    transform: scale(4) rotate(45deg);
    opacity: 1
  }

  100% {
    -webkit-transform: scale(50) rotate(45deg);
    transform: scale(50) rotate(45deg);
    opacity: 0
  }
}

/*------------------------------
  Blur-Appear
------------------------------*/
@keyframes blurappear01 {
  0% {
    opacity: 0;
    filter: blur(18rem);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

/*------------------------------
  Clip-Path
------------------------------*/
@keyframes clip-path01 {
  0% {
    opacity: 1;
    clip-path: inset(0 100% 0 0);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes clip-path02 {
  0% {
    opacity: 1;
    clip-path: inset(0 0 100% 0);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes clip-path03 {
  0% {
    opacity: 1;
    clip-path: inset(0 0 0 100%);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes clip-path04 {
  0% {
    opacity: 1;
    clip-path: inset(100% 0 0 0);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

/*------------------------------
  Step Animation
------------------------------*/
@keyframes stepanm01 {
  from {
    left: 0%;
  }

  to {
    left: -3600%;
  }
}

/*------------------------------
  Kirari
------------------------------*/
@keyframes kirari01 {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  70% {
    transform: scale(0) rotate(45deg);
    opacity: 1;
  }

  71% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/*------------------------------
  Pulse
------------------------------*/
@keyframes pulse01 {

  0%,
  66%,
  100% {
    opacity: 1;
  }

  67%,
  99% {
    opacity: 0;
  }
}

/*==================================================
  for screen of smart phone
==================================================*/
@media screen and (max-width: 750px) {
  html {
    font-size: calc(10 / var(--LpWidthVal) * 100dvw);
  }

  .whole_wrapper {
    .lp_wrapper {
      width: 100%;
    }
  }

  /*------------------------------
    Footer
  ------------------------------*/
  #footer {
    .logo {
      width: 50%;
    }
  }

  /*------------------------------
    form button
  ------------------------------*/
  .form_btn {
    padding: 4rem 4rem 4rem;
  }

  .btm_btn {
    padding: 0;
  }

  /*------------------------------
    Confirm Button
  ------------------------------*/
  .conf_btn {
    width: 100%;
  }

  /*------------------------------
    Float Btn
  ------------------------------*/
  #fixed_btn {
    width: 100%;
  }

  /*------------------------------
    Null Popup
  ------------------------------*/
  #null_popup {
    top: calc((100vh - 90vw * (50 / 35)) / 2);
    left: 5%;
    width: 90%;
    height: calc(90vw * (50 / 35));
  }

  /*------------------------------
    Thanks Page
  ------------------------------*/
  .anigif {
    padding: 0 12.5rem;
  }
}


.cta01,
.cta02,
.cta03 {
  overflow: hidden;
}

.pos-ra {
  position: relative;
  width: 100%;
}

.pos-ra .bg {
  position: relative;
  width: 100%;
}

img {
  width: 100%;
}

.pos-ra .cnt.cta {
  top: unset;
  bottom: 1%;
  left: -2.5%;
}

.cta-btn {
  display: block;
  animation: beat 1.8s ease infinite;
  width: calc(100% - 8.4rem);
  margin: 0 auto;
}

a {
  background-color: rgba(0, 0, 0, 0);
}

.cta img {
  display: block;
  width: 100%;
  height: auto;
}

.pos-ra .cnt {
  position: absolute;
  top: 0;
  left: 0;
  width: 105%;
}

.pos-ra .cnt02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 64%;
}

.pos-ra .cnt02.cta {
  top: unset;
  bottom: -4%;
  left: 39%;
}

.video-area,
.video-area .video-bg {
  position: relative;
}




.video-area .video----mv {
  position: absolute;
  border-radius: 2rem;
  aspect-ratio: 630 / 421;
  overflow: hidden;
  width: 50%;
  width: 84%;
  transform: scale(1) translate(10%, -100%);
}

@keyframes beat {

  0%,
  50%,
  70%,
  100% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  60%,
  80% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
  }
}