@charset "utf-8";

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

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

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

hr {
    display: block;
    height: 0.1rem;
    border: 0;
    border-top: 0.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: 0.5em;
}

.smaller {
    font-size: 0.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: 0.2rem 0.2rem 0.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: 0.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: 0.8em;
}

.super {
    vertical-align: super;
    font-size: 0.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: 0.1em;
}

.ls_50 {
    letter-spacing: 0.05em;
}

.ls_25 {
    letter-spacing: 0.025em;
}

.ls_0 {
    letter-spacing: 0;
}

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

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

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

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

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

.prs_r {
    letter-spacing: -0.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: 0.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 0.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 0.5s, shrink01 9s infinite linear 3.5s;
}

.fv_area .fv_cnt04 img {
    opacity: 1;
    animation: blurappear01 2s ease-in-out 0.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: 0.06em;
}

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

#copy {
    background-color: var(--Clr04);
    font-size: 1.8rem;
    padding: 0.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: 0.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: -0.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 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: 0.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: 0.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: -0.05em;
    margin: 0 1% 2% 1%;
    padding: 0.5em 0.5em 0.5em 0.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: 0.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: 0.01em;
    width: 100%;
    padding: 0;
}

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

.today_area .today .small {
    font-size: 0.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(0.9);
}

.scroll.scrollin {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: all 0.5s cubic-bezier(0, 0.55, 0.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: 0.5rem !important;
}

.mt7 {
    margin-top: 0.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: 0.5rem !important;
}

.mr7 {
    margin-right: 0.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: 0.5rem !important;
}

.mb7 {
    margin-bottom: 0.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: 0.5rem !important;
}

.ml7 {
    margin-left: 0.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: 0.5rem !important;
}

.pt7 {
    padding-top: 0.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: 0.5rem !important;
}

.pr7 {
    padding-right: 0.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: 0.5rem !important;
}

.pb7 {
    padding-bottom: 0.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: 0.5rem !important;
}

.pl7 {
    padding-left: 0.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(-0.78125deg, -0.78125deg);
    }

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

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

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

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

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

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

    5%,
    15%,
    25%,
    35%,
    45%,
    55%,
    65%,
    74%,
    80%,
    92%,
    97% {
        transform: scale(0.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, -0.8rem) rotate(0deg);
    }
}

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

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

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

    75% {
        transform: translate(0, -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(0.25rem, 0) rotate(0deg);
    }
}

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

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

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

    75% {
        transform: translate(-0.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(0.95);
    }
}

@keyframes shrink02 {

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

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

@keyframes shrink03 {

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

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

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

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

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

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

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

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

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

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

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

    45% {
        transform: skew(0.05deg, 0.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%;
    }
}