@charset "utf-8";

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

:root {
  --Clr01: #fbdba3;/*bodyの色1,*/
  --Clr02: #ffffc8;/*フォームのラベルの色*/
  --Clr03: #ff8208;/*フォームのタイトルの色*/
  --Clr04: #f93;/*フォームのタイトルの色2*/
  --Clr05: #999;/*フォームのタイトルのテキストの影の色*/
  --Clr06: #ff8208;/*リンクの色1*/
  --Clr07: #f93;/*リンクの色2*/
  --Clr08: #ff8208;/*質問項目の色1*/
  --Clr09: #f93;/*質問項目の色2*/
  --Clr10: #999;/*ボーダーの色*/
  --Clr11: #f93;/*その他の色1,アンケートLPの外枠の色1*/
  --Clr12: #ff8208;/*その他の色2,アンケートLPの外枠の色2*/
  --Clr13: #ffffc8;/*その他の色3,ブロックの背景色*/
  --Clr14: #ffffc8;/*その他の色4,bodyの色2*/
  --Clr15: #ccc;/*ラジオボタンの色1*/
  --Clr16: #0075ff;/*ラジオボタンの色2*/
  --Clr17: #ffc600;/*本気チェックの線の色*/
  --Clr18: #fffcd3;/*本気チェックの色1*/
  --Clr19: #fffcd3;/*本気チェックの色2*/
  --Clr20: #e1e1e8;/*アップセルアンケートの線の色1*/
  --Clr21: #fffcd3;/*アップセルアンケートの色1*/
  --Clr22: #fffcd3;/*アップセルアンケートの色2*/
  --Clr23: #f00;/*アップセルアンケートの色3*/
  --Clr24: #ff8208;/*フォーム項目フォーカス時のボーダー色*/
  --Clr25: #ffffc8;/*フォーム項目フォーカス時のbgの色*/
  --Clr26: #dbd1cc;/*FAQの色1*/
  --Clr27: #5b0d16;/*FAQの色2*/
  --LgClr01: #838b98;/*ロゴの色1*/
  --LgClr02: #838b98;/*ロゴの色2*/
  --BGC01: #ffffc8;/*特商法の文言部分の色1 背景*/
  --BGC02: #ff8208;/*特商法の文言部分の色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;
}

/*========================================
  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 {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Helvetica Neue', 'Helvetica', 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  color: var(--ClrBlk);
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-weight: 500;
}

html {
  font-size: 62.5%;
}

/*========================================
  Font Style
========================================*/
body {
  font-size: 3.6rem;
}

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
------------------------------*/
body {
  background-color: var(--Clr01);
}

.autumn-leaves {
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;

  .falling-leaf {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    animation: falling-leaf01 8s linear both 1;

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

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

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

.autumn_lp {
  .zindex1,
  .enq_body,
  #landing_form-wrapper,
  #agreement,
  .btnNext-area,
  #confirm_button,
  #footer nav,
  .qe_area,
  #enq_submit,
  .btn_area,
  #form_upsell,
  #enq_textarea,
  .checkbox_area,
  .us_btm,
  .btm_btn > .btn,
  .form_btn,
  .video {
    position: relative;
    z-index: 1;
  }
}

.lp_wrapper {
  background-color: var(--ClrWht);
  box-shadow: 0 0 1rem var(--ClrGry);
  overflow-x: hidden;
  letter-spacing: .05em;
  width: 75rem;
  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%;
  margin-bottom: 3rem;

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

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

/*--------------------
  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: blurappear01 2s both ease-out 0s, scaleupdown01 18s infinite linear 4.5s;
    }
  }

  .fv_cnt02 {
    img {
      animation: fadein02 1s both ease-out .5s, scaleupdown01 18s infinite linear 3.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: 26%;
    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 4rem;
  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: 3%;
    width: 100%;
    padding: 0 7.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: 3%;
    left: 0;
    aspect-ratio: 15.25/9;
    width: 100%;
    height: 100%;
  }

  &.video02 {
    .video_cnt {
    }

    iframe {
      aspect-ratio: 16/9;
    }

    .video_cvr {
    }
  }
}

.mv_area {
  width: 100%;

  .mv_area_inner {
    position: relative;
    aspect-ratio: 750 / 548;
    width: 100%;
    padding: 5.474452555% 5.333333333% 10.94890511%;

    .mv___mv {
      position: relative;
      display: block;
      aspect-ratio: 1980 / 1080;
      width: 100%;
    }

    .mv___cover {
      position: absolute;
      display: block;
      cursor: pointer;
      aspect-ratio: 1980 / 1080;
      top: 0;
      left: 0;
      width: 100%;
      padding: 5.474452555% 5.333333333% 10.94890511%;
    }
  }
}

/*------------------------------
  referred block
------------------------------*/
[class^=referred_area_] {
  position: relative;
  overflow: hidden;

  .referred___bg {
    position: relative;
    width: 100%;
  }

  .referred___cnt {
    position: absolute;
  }

  .steam {
    aspect-ratio: 700 / 912;
    overflow: hidden;
    width: 93.33333333%;
    inset: 13% auto auto 3%;

    .steam-pic {
      position: relative;
      animation: stepanm01 5s steps(36) infinite;
      opacity: .6;
      width: 3600%;
    }
  }

  .scroll {
    opacity: 0;
    transform: translate(0, 4rem);
    transition: opacity 1s, transform 1s;

    &.hrztl {
      transform: translate(-4rem, 0);
    }

    &.scaleout {
      transform: translate(0, 0) scale(0);
      transition: opacity 1s, transform 1s cubic-bezier(.2, 1, .8, 1.2);

      &.active {
        opacity: 1;
        transform: translate(0, 0) scale(1);
      }
    }

    &.active {
      opacity: 1;
      transform: translate(0, 0);
    }
  }

  &.referred_area_01_01 {
    .referred___cnt {
      &.cnt01 {
      }

      &.cnt02 {
        top: 6.35%;
        width: 100%;
      }

      &.cnt03 {
        width: 90.5333333333%;
        inset: 30% auto auto 4.7%;
      }

      &.cnt04 {
        width: 26.1333333333%;
        inset: 58.6% 2.15% auto auto;
        animation: scaleupdown02 20s ease-in-out infinite;
      }
    }
  }

  &.referred_area_02_01 {
    .referred___cnt {
      &.cnt01 {
        top: 0;
        width: 90.9333%;
        inset: 12.5% 0 auto;
        margin: 0 auto;
      }
    }
  }

  &.referred_area_02_02 {
    .referred___cnt {
      &.cnt01 {
        top: 0;
        width: 66.5333333333%;
        inset: 30.1% auto auto 0;
      }
    }
  }

  &.referred_area_02_06 {
    .referred___cnt {
      &.cnt01 {
        top: 0;
        width: 23.7333333333%;
        inset: .5% auto auto .9%;
      }
    }
  }
}

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

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

/*------------------------------
  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 {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }
}

/*------------------------------
  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 12rem;

  .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: 3rem;
    width: 20%;
    padding: .5em;
  }

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

.cd_area {
  position: relative;

  h2 {
    position: relative;
  }

  .cd_box_wrap {
    position: absolute;
    top: 31%;
    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: 46.25%;
    }
  }

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

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

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

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

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

.us_btm {
  .cd_box {
    position: absolute;
    top: 28%;
    left: 0;
  }
}

#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);
  }
}

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

/*------------------------------
  Falling leaves
------------------------------*/
@keyframes falling-leaf01 {
  0% {
    opacity: 0;
    top: 0;
    transform: rotate(0);
  }
  10%, 90% {
    opacity: .8;
  }
  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(1080deg);
  }
}

@media screen and (max-width: 599px) {
  @keyframes falling-leaf01 {
    0% {
      opacity: 0;
      top: 0;
      transform: rotate(0) scale(.75);
    }
    10%, 90% {
      opacity: .5;
    }
    100% {
      opacity: 0;
      top: 100vh;
      transform: rotate(1080deg) scale(.75);
    }
  }
}

/*==================================================
  for screen of smart phone
==================================================*/
@media screen and (max-width: 750px) {
  html {
    font-size: 1.3333333333vw;
  }

  .lp_wrapper {
    width: 100%;
  }

  .txt_ss {
    font-size: 2rem;
  }

  .txt_s {
    font-size: 2.4rem;
  }

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

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

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

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

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

  /*------------------------------
    Footer
  ------------------------------*/
  div {
    #footer {
      font-size: 2.8rem;
    }
  }

  #footer {
    nav {
      font-size: 3.2rem;
      float: none;
    }

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

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

  #copy {
    font-size: 2.4rem;
  }

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

    .add_table {
      font-size: 3.6rem;

      td {
        &:nth-of-type(1) {
          width: 30%;
        }

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

    &.us_page {
      .add_table {
        font-size: 2.7rem;

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

  /*------------------------------
    direction notice
  ------------------------------*/
  .us_btm {
    .direction_notice {
      font-size: 3.6rem;
    }
  }

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