@charset "utf-8";

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

:root {
  --Clr01: #ffeba6;/*bodyの色1,*/
  --Clr02: #fffbec;/*フォームのラベルの色*/
  --Clr03: #fa8419;/*フォームのタイトルの色*/
  --Clr04: #eb6001;/*フォームのタイトルの色2*/
  --Clr05: #999;/*フォームのタイトルのテキストの影の色*/
  --Clr06: #fa8419;/*リンクの色1*/
  --Clr07: #eb6001;/*リンクの色2*/
  --Clr08: #eb6001;/*質問項目の色1*/
  --Clr09: #fa8419;/*質問項目の色2*/
  --Clr10: #999;/*ボーダーの色*/
  --Clr11: #fa8419;/*その他の色1,アンケートLPの外枠の色1*/
  --Clr12: #eb6001;/*その他の色2,アンケートLPの外枠の色2*/
  --Clr13: #ffeba6;/*その他の色3,ブロックの背景色*/
  --Clr14: #eb6001;/*その他の色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: #fa8419;/*フォーム項目フォーカス時のボーダー色*/
  --Clr25: #ffeba6;/*フォーム項目フォーカス時のbgの色*/
  --Clr26: #f9f2ec;/*FAQ用 色1*/
  --Clr27: #311305;/*FAQ用 色2*/
  --Clr28: #4b2420;/*FAQ用 色3*/
  --LgClr01: #231815;/*ロゴの色1*/
  --LgClr02: #f19000;/*ロゴの色2*/
  --LgClr03: #231815;/*ロゴの色2*/
  --LgClr04: #ea8654;/*ロゴの色2*/
  --BGC01: #ffeba6;/*特商法の文言部分の色1 背景*/
  --BGC02: #fa8419;/*特商法の文言部分の色2 線・タイトルの背景色*/
  --ClrAmzn01: #fcad55;/*Amazonpay用の色1*/
  --ClrAmzn02: #f1d5d6;/*Amazonpay用の色2*/
  --ClrAmzn03: #66350e;/*Amazonpay用の色3*/
  --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: 'Noto Sans JP', sans-serif;
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Helvetica Neue', 'Helvetica', Verdana, Meiryo, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, sans-serif;
*/
  font-family: 'Kosugi Maru', sans-serif;
  line-height: 1.5;
  color: var(--ClrBlk);
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-weight: 400;
}

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 {
  color: var(--Clr06);
  text-decoration: underline;

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

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

.br-sp {
  display: none;
}

.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 {
  width: 100%;
  font-size: 110%;
  margin: 0 0 2rem 0;
  font-weight: 700;
  text-align: center;
  color: var(--ClrRed);
/*
  text-shadow:
  -.1rem -.1rem 0 var(--ClrWht),
  .1rem -.1rem 0 var(--ClrWht),
  .1rem .1rem 0 var(--ClrWht),
  -.1rem .1rem 0 var(--ClrWht),
  .1rem .2rem .3rem rgba(0, 0, 0, .6);
*/
  font-feature-settings: 'palt' 1;
}

.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);
  background-image: linear-gradient( to bottom, var(--Clr01) 0%, var(--Clr01) 100% );
}

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

/*
  div,
  h1,
  h2,
  h3,
  a,
  p {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
*/

  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;

  h1 {
    position: relative;
  }

  [class^=fv_cnt] {
    position: absolute;
    top: 0;
    height: 0;
    animation: fuwafuwa01 9s infinite linear 0s;

    &.fv_cnt02 {
      img {
        animation: shrink01 9s infinite linear 0s;
      }
    }
  }

  &.fv02 {
    [class^=fv_cnt] {
      &.fv_cnt02 {
        img {
          animation: shrink02 9s infinite linear 0s;
        }
      }
    }
  }
}

.fv_cta_area,
.purun {
  overflow: hidden;

  img {
    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;

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

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

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

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

    img,
    svg, {
      width: 100%;
    }
  }

  .svg_logo {
    .st0 {
      fill: var(--LgClr01);
    }

    .st1 {
      fill: var(--LgClr02);
    }

    .cls-1 {
      fill: var(--LgClr03);
    }

    .cls-2 {
      fill: var(--LgClr04);
    }
  }
}

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

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

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

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

  p {
    color: var(--ClrWht);
    text-align: center;
    font-weight: 700;
  }
}

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

  .anno {
    margin: 0;
  }

  &_l {
    padding: 1rem 0 1rem 0;
  }
}


/*------------------------------
  insta area Swiper
------------------------------*/
.insta_area {
  position: relative;
  overflow: hidden;
  z-index: 1;
  margin: 4rem auto 4rem;

  .insta_ttl {
    margin: 0;
  }

  [class^=swiper-container] {
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: var(--Clr13);
    margin: 0 auto;
    padding: 1.6rem;
  }

  .swiper-slide {
    opacity: 1;
  }
}

/*------------------------------
  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: 0;
  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 8rem;
}

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


[class^=swiper-button-] {
  position: absolute;
  display: block;
  cursor: pointer;
  z-index: 1;
  opacity: 1;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .3s;

  &:hover {
    opacity: .8;
  }
}

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

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

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

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

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

.video_area {
  position: relative;

  .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 {
    }
  }
}

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

    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: 2.8rem;
    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 wrap
------------------------------*/
.faq-wrap {
  background-color: var(--Clr13);
  background-image: linear-gradient( to bottom, var(--Clr26) 0%, var(--Clr13) 100% );
  font-size: 1em;
  padding: 0 0 4rem;

  .faq-box {
    background-color: var(--ClrWht);
    border: var(--Clr27) .1rem solid;
    border-radius: .8rem;
    width: 92%;
    margin: 0 auto 2rem;

    dt {
      display: block;
      cursor: pointer;
      color: var(--Clr28);
      background: var(--ClrWht) url(../img/qa_off.png) no-repeat right 1.4rem center/.8rem auto;
      background-size: 3.2rem;
      border-radius: .8rem;
      font-size: .8em;
      line-height: 1.6;
      padding: 1em 2em 1em 1em;

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

    dd {
      display: none;
      background-color: var(--ClrWht);
      border-top-width: .1rem;
      border-top-style: dashed;
      border-radius: 0 0 .8rem .8rem;
      text-align: justify;
      font-size: .7em;
      line-height: 1.6;
      padding: 1.2em 1.5em 1.2em;

      strong {
        font-weight: 700;
        color: var(--ClrRed);
      }
    }
  }
}

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

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

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

/*------------------------------
  Watchmates Area
------------------------------*/
.watchmates_part {
  background-color: var(--Clr01);
  background-image: url(../img/wm_bg.jpg);
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: center top;
  width: 100%;
}

.watchmates_ttl {
  background-color: transparent;
  width: 100%;
}

.watchmates_area {
  padding: 0 0 3rem;

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

  .slider {
    .swiper-wrapper {
      .swiper-slide {
        opacity: .5;

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

    &.swiper-3d {
      perspective: 1200px;

      .swiper-wrapper,
      .swiper-slide,
      .swiper-slide-shadow-left,
      .swiper-slide-shadow-right {
        transform-style: preserve-3d;
      }

      .swiper-slide-shadow-left,
      .swiper-slide-shadow-right {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10;
      }

      .swiper-slide-shadow-left {
        background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
      }

      .swiper-slide-shadow-right {
        background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
      }
    }
  }

  .wm-pagination {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 1%;
    transform: translate3d(0, 0, 0);
    transition: .3s opacity;
    z-index: 10;
    bottom: 2rem;
    left: 0;
    text-align: center;
    width: 100%;
    padding: 0 12rem;
  }

  .swiper-pagination-bullet {
    aspect-ratio: 1 / 1;
    width: 8%;
    height: auto;
    display: inline-block;
    border-radius: 50%;
    background-color: var(--ClrMkr);
    opacity: .5;

    .swiper-pagination-bullet-active {
      background-color: var(--Clr29);
      opacity: 1;
    }
  }

  .wm-thumbnail--slider {
    --WM-Thumb-Padding: 4;
    --LPWidth: calc( ( 75 - var(--WM-Thumb-Padding) * 2 ) * 1rem );
    width: 100%;
    padding: 0  calc( var(--WM-Thumb-Padding) * 1rem ) 4rem;

    .swiper-wrapper {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 0;

      .swiper-slide {
        border: solid .2rem transparent;
        opacity: .5;
        width: calc( var(--LPWidth) / 7 );
        margin: 0;

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

  [class^=wm-button-] {
    position: absolute;
    display: block;
    cursor: pointer;
    z-index: 1;
    opacity: 1;
    top: 30%;
    width: 10%;

    svg {
      width: 100%;

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

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

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

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

  .wm-button-prev {
    left: 10%;
  }

  .wm-button-next {
    right: 10%;
  }

  .wm_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: justify;
    font-size: .8em;
    line-height: 1;
    width: 100%;

    .thumbnail {
      width: 100%;
      margin-bottom: 2rem;
    }

    .name {
      font-size: 1em;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    .e-name {
      color: var(--Clr29);
      font-size: .7em;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    .role {
      font-size: .7em;
      font-weight: 600;
      line-height: 1.5;
    }

    .favorite {
      font-size: .7em;
      font-weight: 600;
      margin: 2rem 0 0;

      .label {
        color: var(--Clr30);
        font-size: .8em;
        margin-bottom: 1rem;
      }

      .answer {
        font-size: 1em;
        line-height: 1.5;
      }
    }
  }
}

/*------------------------------
  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: 2rem;
*/
    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);
*/
    background-color: transparent;
    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;
*/
  font-family: 'Kosugi Maru', 'Noto Sans JP', sans-serif;
  display: flex;
  justify-content: space-evenly;
  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: 34%;
    left: 0;
    width: 100%;
    padding: 0 10% 0 40%;

    .cd_box {
      padding: 10% 6%;

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

      .countTimer {
        font-size: 4.5rem;
        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%;
      }
    }
  }
}

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

/*------------------------------
  Loading
------------------------------*/
#loadingOverlay {
  --font-size: 1.6rem;
  --innerWidth: 40rem;
  --BdrClr01: #f3f3f3;
  --BdrClr02: #f39c12;

  display: none;
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  font-size: var(--font-size);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .4);
  transition: opacity .3s;
  z-index: 9999;

  .loadingOverlay-inner {
    position: absolute;
    background-color: var(--ClrWht);
    border-radius: 1.2em;
    box-shadow: 0 .6em 2em rgba(0, 0, 0, .3);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    text-align: center;
    width: var(--innerWidth);
    padding: 3rem 5rem;
    animation: fadein04 .3s ease-out;

    .spinner {
      width: 4.8em;
      height: 4.8em;
      border: .5em solid var(--BdrClr01);
      border-top-color: var(--BdrClr02);
      border-radius: 50%;
      animation: spin01 1s linear infinite;
      margin: 0 auto 2rem;
    }

    .loading-txt {
      font-size: 1em;
      font-weight: 700;
      color: var(--ClrBlk);
    }
  }

  &.on {
    display: block;
    opacity: 1;
  }
}

@media screen and (max-width: 750px) {
  #loadingOverlay {
    --font-size: 3.2rem;
    --innerWidth: 80%;
  }
}

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

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

@keyframes fadein04 {
  from {
    opacity: 0;
    transform: translate(-50%, -40%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

/*------------------------------
  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(-4rem, -1rem) scale(.8);
  }
}

@keyframes shrink02 {
  0%, 20%, 40%, 60%, 80%, 100% {
    transform: scale(1);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate(5rem, -8rem) scale(.8);
  }
}

@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%)
  }
}

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

/*------------------------------
  Spin
------------------------------*/
@keyframes spin01 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

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

  .lp_wrapper {
    width: 100%;
  }

  .br-sp {
    display: inline;
  }

  .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
  ------------------------------*/
  #footer-inner {
    text-align: center;
    font-size: 2.8rem;
  }

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

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

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