@charset "utf-8";

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

:root {
  --Clr01: #fff3f2;/*bodyの色1,*/
  --Clr02: #fff3f2;/*フォームのラベルの色*/
  --Clr03: #ff8d84;/*フォームのタイトルの色*/
  --Clr04: #ff5d54;/*フォームのタイトルの色2*/
  --Clr05: #999;/*フォームのタイトルのテキストの影の色*/
  --Clr06: #ff8d84;/*リンクの色1*/
  --Clr07: #ff5d54;/*リンクの色2*/
  --Clr08: #ff5d54;/*質問項目の色1*/
  --Clr09: #ff8d84;/*質問項目の色2*/
  --Clr10: #999;/*ボーダーの色*/
  --Clr11: #ff8d84;/*その他の色1,アンケートLPの外枠の色1*/
  --Clr12: #ff5d54;/*その他の色2,アンケートLPの外枠の色2*/
  --Clr13: #fff3f2;/*その他の色3,ブロックの背景色*/
  --Clr14: #fff3f2;/*その他の色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: #ff5d54;/*フォーム項目フォーカス時のボーダー色*/
  --Clr25: #fff3f2;/*フォーム項目フォーカス時のbgの色*/
  --LgClr01: #838b98;/*ロゴの色1*/
  --LgClr02: #838b98;/*ロゴの色2*/
  --BGC01: #fff3f2;/*特商法の文言部分の色1 背景*/
  --BGC02: #ff5d54;/*特商法の文言部分の色2 線・タイトルの背景色*/
  --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: bold;
}

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;
  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,
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: bold;
}

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

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

.bold {
  font-weight: bold;
}

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

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

.bigger {
  font-size: 1.3333em;
}

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

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

.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: bold;
  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: bold;
  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: bold;
  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: bold;
  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: url(../img/r2e_bg.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
*/
}

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

#landing_wrapper img {
  width: 100%;
  max-width: 100%;
}

#wrapper {
  margin: 1rem;
}

/*------------------------------
  Header
------------------------------*/
#header {
  width: 100%;
  margin-bottom: 3rem;
}

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

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

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

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

#header .logo {
  position: absolute;
  display: flex;
  width: 100%;
  top: 11%;
}

#header .logo img {
  height: 7rem;
  width: auto;
  margin: 0 auto;
}

/*------------------------------
  FV
------------------------------*/
.fv_area,
.fv_area h1 {
  position: relative;
}

.fv_area {
  overflow: hidden;
}

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

.fv_area [class^=fv_cnt] img {
  opacity: 0;
}

.fv_area .fv_cnt01 img {
  animation: fadein02 .5s both ease-out 1s, purun01 3s infinite linear 3.5s;
}

.fv_area .fv_cnt02 img {
  animation: fadein03 2s both linear 0s, shrink01 9s infinite linear 3.5s;
}

.fv_area .fv_cnt03 img {
  opacity: 1;
  animation: fadein03 2s both linear .5s, shrink01 9s infinite linear 3.5s;
}

.fv_area .fv_cnt04 img {
  opacity: 1;
  animation: blurappear01 2s ease-in-out .5s 1 both;
}

.fv_cta_area,
.purun {
  overflow: hidden;
}

.fv_cta_area img,
.purun img.showMovement {
  animation: purun01 3s 0s infinite;
}

/*------------------------------
  Section
------------------------------*/
section {
  margin-top: 4rem;
}

/* section p {
  margin-bottom: 4rem;
} */

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

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

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

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

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

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

#footer nav a,
#footer nav a:visited:hover {
  color: var(--Clr06) !important;;
  text-decoration: underline;
}

#footer nav a:hover,
#footer nav a:visited {
  color: var(--Clr07) !important;;
}

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

#footer-inner .coinfo {
  margin: 4rem auto 0;
}

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

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

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

.cta .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_area .insta_ttl {
  margin: 0;
}

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

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -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-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 {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 2rem auto 8rem;
}

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

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

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

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

.video_area .video_cnt {
  position: absolute;
  top: 35.5%;
  left: 0;
  width: 100%;
  padding: 0 5.5rem;
  z-index: 1;
}

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

.video_area.area02 .video_cnt {
  top: 49%;
}

.video_area.area02 .video_cvr {
  top: 49%;
}

.video_area video {
  width: 100%;
  height: auto;
  z-index: 2;
}

.video_area iframe {
  width: 100%;
  height: 36rem;
  z-index: 2;
}

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

.usp_part .usp {
  margin: 0 auto 8rem;
}

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

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

.company_part p {
  margin-bottom: 0;
}

.company_part .company_part__top {
}

.company_part .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 .company_part_inner .company_part__logo {
  width: 50%;
  margin: -2rem auto 0;
}

.company_part .company_part_inner .text {
  padding: 4rem 0;
}

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

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

.company_part .company_part_inner .text dl.text_cnt dt {
  width: 25%;
}

.company_part .company_part_inner .text dl.text_cnt dd {
  width: 75%;
  letter-spacing: -.025em;
}

.company_part .company_part_inner .text ul.text_cnt {
  width: 100%;
  margin: 0;
  padding: 0 0 0 1.5em;
}

.company_part .company_part_inner .text ul.text_cnt li {
  list-style-type: disc;
  line-height: 1.3;
  padding: 0 0 .5em;
}

.company_part .company_part__btm {
  line-height: 1;
}

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

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

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

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

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

.faq_part .faq_box dt.faq_q {
  background: url(../img/icon_q.png) no-repeat 3.5% 50%;
  background-size: 16% auto;
  background-color: var(--ClrWht);
  font-weight: bold;
  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;
}

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

.faq_part .faq_box dd.faq_a .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_part .faq_box dd.faq_a .faq_a_txt {
  padding: 1% 3% 3%;
  margin-bottom: 0;
  font-size: .8em;
  text-align: justify;
}

.faq_part .faq_box dd.faq_a .faq_a_img {
  padding: 0 2% 4%;
  margin-bottom: 0;
}

.faq_part .faq_box dd.faq_a .anno {
  letter-spacing: 0;
  margin-bottom: 0;
}

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

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

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

.caution_area .caution_img 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;
}

.easy_to_get .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: var(--FontSSS);
  line-height: 1.3;
  letter-spacing: -.05em;
  margin: 0 1% 2% 1%;
  padding: .5em .5em .5em .5em;
}

/* #no_scalping.box_c p {
  color: var(--ClrRed);
  padding: 0 0 0 1em;
  text-indent: -1em;
  margin: 0;
}

#no_scalping.box_c p:before {
  content: '\25A0';
} */

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

.us_btm {
  text-align: center
}

.us_btm .direction_notice {
/*
  font-size: 2.4rem;
*/
  font-size: var(--FontM);
  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%;
}

.us_btm_btn h2 {
  position: relative;
}

.us_btm_btn .btn_cnt {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

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

.logo_h 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: bold;
}

.today_area,
.today_area .bg_img {
  position: relative;
}

.today_area .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;
}

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

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

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

.coupon.slope {
  margin: 0 auto 4rem;
}

.slope 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;
}

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

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

.scroll.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(.96);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 74%, 80%, 92%, 97% {
    transform: scale(.98);
  }
  87% {
    transform: scale(1);
  }
}

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

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

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

  #landing_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: bold;
  }

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

  #footer .logo {
    text-align: center;
    width: 40%;
    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 0 4rem;
  }

  .btm_btn {
    padding: 0;
  }

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

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