html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}
html.is-menuOpen{
    overflow: hidden;
}
body{
    position: relative;
    margin: 0;
    padding-top: 200px;
    width: 100%;
    font-family: "M PLUS 1p", sans-serif;
    background-image: url(/img/up/red/back_dot.webp);
    background-repeat: repeat-y;
    background-size: contain;
    background-color: #fff;
    min-height: 100vh;/*確認用*/
    z-index: -1;
}
body.nopadding {padding: 0;}/*--indexのみ--*/
body.black{
    background: url(/img/up/red/back_black.webp);
    background-position: center;
    background-size: contain;
}

body::after{
    display: block;
    position: absolute;
    bottom: 0;
    content: '';
    width: 100%;
    height: 928px;
    background: url(/img/up/red/back_footer.webp)no-repeat;
    background-size: contain;
    background-position: bottom;
    opacity: .5;
    z-index: -1;
}
.progress{
    position: sticky;
    z-index: 10;
    bottom: 0;
    left: 0;
    height: 5px;
    width: 0;
    background: #C30000;
}
a{
    display: block;
    cursor: pointer;
}
p a{
    display: inline;
    color: #2772FF;
}
img{
    display: block;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.totopbtn{
    width: 6.31vw;
    position: fixed;
    z-index: 998;
    bottom: 2vw;
    right: 4vw;
}


/*フェザーライト部分を普段は見えなくする*/
.popup{
    display: none;
}
.toChat{
    width: 200px;
    height: auto;
    position: fixed;
    z-index: 99;
    right: 7.81vw;
    bottom: 20px;
}
.sp{display: none;}
/*----------セクションごとの上下幅と背景-------------*/
.content{
    padding-top: 100px;
    padding-bottom: 100px;
}
.content.redBack{
    background-image: url(/img/up/red/back_red.webp);
    background-repeat: repeat-y;
    background-size: contain;
}
.content.fullBlack{
    background: #000;
}
.content.blackBack{
    background-color: #000;
    background-image: url(/img/up/red/back_black.webp);
    background-repeat: repeat-y;
    background-size:contain;
}
.content.horseBack{
    background-image:linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)), url(/img/up/red/back_horse.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
/*----------主にサブページの幅------------*/
.mainContentWidth{
    max-width: 1288px;
    margin: 0 auto;
}
.mainTextArea{
    max-width: 1060px;
    margin: 0 auto;
}
.subTextArea{
    padding: 100px 0;
    margin: 0 auto;
}
.textArea{
    margin: 2em 120px;
}
.whiteBox{
    position: relative;
    background: #fff;
    border: 5px solid #000;
    border-radius: 20px;
    padding: 50px;
}
.whiteBoxTitle{
    background: #C30000;
    border: .1em solid #000;
    color: #fff;
    border-radius: 10px;
    text-align: center;
    position: absolute;
    width: 90%;
    top: -1em;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px;
}
.centerImg{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

@media screen and (max-width:1620px){
    body{padding-top: 13.12vw;}
    body::after{height: 72.5vw;}
    .content{
        padding-top: 5.21vw;
        padding-bottom: 5.21vw;
    }
    .mainContentWidth{max-width: 79.51vw;}
    .mainTextArea{width: 85%;}
    .subTextArea{padding: 3.42vw 0;}
    .textArea{margin: 2em 3.42vw;}
    .whiteBox{padding: 3.09vw; border: 3px solid #000;}
    .toChat{width: 14.58vw;}
}
@media screen and (max-width:599px){
    .sp{display: block !important;}
    .pc{display: none !important;}
}
/*------------------------------------------
基本テンプレート
-------------------------------------------*/
/*--------フォント--------*/
.kosugi{
    font-family: "Kosugi Maru", sans-serif;/*タイトル用*/
    font-weight: 400;
    font-style: normal;
}
.noto{
    font-family: "Noto Serif JP", serif;/*明朝体*/
    font-optical-sizing: auto;
    font-style: normal;
}
.sippori{
    font-family: "Shippori Mincho", serif;/*しっぽり明朝体*/
    font-style: normal;
}
.sans{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}
.Bebas{
    font-family: "Bebas Neue", serif;/*縦長ゴシック、数字など*/
    font-weight: 400;
    font-style: normal;
}
/*--------共通使用------------*/
.bigBanner{
    width: 80%;
    margin: 0 auto;
}
.pole{
    margin-top: 100px;
    width: 100%;
    height: 17px;
    background-image: linear-gradient(90deg, rgb(0, 0, 0), rgb(0, 0, 0) 10%, rgba(195, 0, 0, 1) 10%);
}
h1{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 10rem;
    text-align: center;
    margin-bottom: 100px;
}
.title:first-letter{
    color: #C30000;
}
h1 span{
    display: flex;
    align-items: center;
    font-weight: 900;
    font-size: 3rem;
    width: 100%;
    white-space: nowrap;
}
h1 span::before,
h1 span::after{
    display: block;
    content: '';
    width: 100%;
    height: 8px;
    background: #000;
}
/*---h1差分---*/
.content.redBack h1,
.content.horseBack h1,
.content.fullBlack h1,
.content.blackBack h1{color: #fff;}
.content.redBack .title:first-letter{color: #000;}
.content.redBack h1 span::before,
.content.redBack h1 span::after,
.content.horseBack h1 span::before,
.content.horseBack h1 span::after,
.content.fullBlack h1 span::before,
.content.fullBlack h1 span::after,
.content.blackBack h1 span::before,
.content.blackBack h1 span::after
{background: #fff;}

h2{
    font-size: 4rem;
    font-weight: 900;
    position: relative;
    margin-bottom: 1em;
}
h2::after{
    display: block;
    position: absolute;
    content: '';
    width: 100%;
    height: 8px;
    background-image: linear-gradient(90deg, rgb(0, 0, 0), rgb(0, 0, 0) 10%, rgba(195, 0, 0, 1) 10%);
}
h3{
    font-size: 4rem;
    font-weight: 900;
    background: url(/img/up/red/h3_pc.webp) no-repeat;
    background-size: contain;
    width: 100%;
    height: 152px;
    padding: 20px 3em;
    line-height: 1;
}
h4{
    font-size: 4rem;
    font-weight: 900;
}
h4::first-letter{
    font-size: 120%;
    background: #C30000;
    color:#fff;
    padding: 0 .5em;
    margin-right: 10px;
}
.font35{
    font-size: 3.5rem;
    font-weight: 600;
}
.font30{
    font-size: 3rem;
    font-weight: 500;
}
.font25{
    font-size: 2.5rem;
}
.font20{
    font-size: 2rem;
}
h2,h3,.up{
    position: relative;
    transform: translateY(100px);
    opacity: 0;
    transition: .5s;
}
h2.show,
h3.show,
.up.show{
    opacity: 1;
    transform: translateY(0);
}
@media screen and (max-width:1620px){
    h1{font-size: 5.21vw;margin-bottom: 5.21vw;}
    h1 span{font-size: 1.56vw;}
    h1 span::before,h1 span::after{height: 0.42vw;}
    h2{font-size: 2.08vw;}
    h2::after{height: 0.42vw;}
    h3{
        font-size: 2.47vw;
        height: 9.38vw;
        padding: 1.35vw 3em;
    }
    h4{font-size: 2.47vw;}
    .font35{font-size: 2.16vw;}
    .font30{font-size: 1.85vw;}
    .font25{font-size: 1.54vw;}
    .font20{font-size: 1.23vw;}
    .pole{margin-top: 6.17vw;}
}
.subTextList1 li{
    margin-left: 1em;
    list-style:decimal;
    margin-bottom: 1em;
    line-height: 1.8;
}
.subTextList2 li{
    margin-left: 1em;
    list-style:disc;
    margin-bottom: .5em;
    line-height: 1.6;
}
a .bigBanner{
    filter: drop-shadow(4px 4px 0 #767676);
    transition: .3s;
}
@media (hover: hover) and (pointer: fine){
a .bigBanner:hover{
    filter: none;
    transform: translate(4px , 4px);
}
}
.triangle{
    background: #C30000;
    height: calc(60px / 2);
    width: 60px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin: 0 auto;
}
.gridArea{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.flexCenter{
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width:1620px){
    .gridArea{
        gap: 1.85vw;
    }
}
@media screen and (max-width:599px){
    .gridArea{
        display: flex;
        flex-direction: column;
        gap: 2.85vw;
    }
    .flexCenter{
        flex-direction: column;
        align-items: center;
    }
}
.planBtn{
    width: 100%;
    height: 100px;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    text-shadow: 2px 2px 4px #000;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(5px 5px 0 #51515190);
    transition: .3s;
}
.planBtn.red{
    background: url(/img/up/red/btn_red.webp) no-repeat;
    background-size: contain;
    background-position: center;
}
.planBtn.black{
    background: url(/img/up/red/btn_black.webp) no-repeat;
    background-size: contain;
    background-position: center;  
}
.planBtn.black.back{
    background: url(/img/up/red/btn_black.webp) no-repeat;
    background-size: contain;
    background-position: center;  
}
@media (hover: hover) and (pointer: fine){
    .planBtn:hover{
        transform: translate(6px , 6px);
        filter: none;
    }
    .planBtn.red:hover{
        background: url(/img/up/red/btn_red_hover.webp) no-repeat;
        background-size: contain;
        background-position: center;
    }
    .planBtn.black:hover{
        background: url(/img/up/red/btn_black_hover.webp) no-repeat;
        background-size: contain;
        background-position: center;
    }
    .planBtn.black.back:hover{
        background: url(/img/up/red/btn_black_hover2.webp) no-repeat;
        background-size: contain;
        background-position: center;  
    }
}
/*------------------------------------
フォーム
--------------------------------------*/
.contactForm{
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
}
.contactForm label{
    color: #fff;
    background: #000;
    margin-bottom: 10px;
    padding: .2em 1em;
}
.contactMail,
.contactTextarea{
    width: 100%;
    border: .2em solid ;
    padding: 1em;
    margin-bottom: 50px;
    border-radius: 5px;  
}
.contactTextarea{
    resize: vertical;
    min-height: 200px;
}
.submitBtn{
    width: 550px;
    height: 95px;
    font-size: 3.7rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    text-shadow: 4px 4px 4px #000;
    background: url(/img/up/red/btn_red.webp)no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
@media (hover: hover) and (pointer: fine){
    .submitBtn:hover{
        transition: .3s;
        background: url(/img/up/red/btn_red_hover.webp)no-repeat;
        background-size: contain;
    }
}
@media screen and (max-width:1280px){
    .contactMail,
    .contactTextarea{
        margin-bottom: 3.91vw;
    }
    .submitBtn{
        width: 42.97vw;
        height: 7.42vw;
        font-size: 2.89vw;
    }
}
/*------------------------------------
特定商取引法
--------------------------------------*/
.tokutei{
    width: 100%;
    outline: .2em solid;
    border-radius: 10px;
    font-weight: 400;
    background: #7A8AA5;
}
/*-----------------------------------------------
特定商法表記(アコーディオン)
-----------------------------------------------*/
.accordion__summary {
    font-weight: bold;
    position: relative;
    display: block;
    cursor: pointer;
    /*font-size: 1.4rem;*/
    background: #7A8AA5;
    white-space: balance;
    width: 100%;
    color: #fff;
    padding: .5em 1em;
    border-bottom: 1px solid #535d70;
}
.accordion:nth-child(1) .accordion__summary{
    border-radius: 7px 7px 0 0;
}
.accordion:nth-last-child(1) .accordion__summary{
    border-radius: 0 0 7px 7px;
    border-bottom: none;
}
.accordion__summary::after {
    content: "+";
    /*font-size: 1.4rem;*/
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.accordion input:checked ~ .accordion__summary::after {
    content: "-";
}
.accordion input {
    display: none;
}
.accordion__detail {
    display: none;
    background: #f2f4f5;
    padding: .5em 1em;
    width: 100%;
    border-top: none;
    border-bottom: none;
}
.accordion input:checked ~ .accordion__detail {
    display: block;
}
/*------------------------------------
ヘッダー
--------------------------------------*/
.header{
    width: 100%;
    background: #000;
    padding: 20px 0;
    position: fixed;
    top: 0;
    z-index: 99;
}
.headerBox{
    max-width: 1620px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.topRogo{
    height: 100px;
}
.headerLeft{
    display: flex;
    align-items: center;
    gap: 25px;
}
.headerStatus{
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 50px;
    padding: .5em 1.5em;
}
.headerStatus img{
    width: 30px;
}
.headerStatus p{
    font-size: 3rem;
    font-weight: bold;
}
.hamburger{
    line-height: 1;
    font-size: 4.5rem;
    font-weight: 900;
    background: transparent;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: .1em .5em;
    border: 2px solid #fff;
    border-radius: 50px;
    cursor: pointer;
    position: relative;
    z-index: 999;
}
@media (hover: hover) and (pointer: fine){
.hamburger:hover,
.hamburger.index:hover{
    background: #C30000;
    border: 2px solid #C30000;
    color: #000;
}
.hamburger:hover span,
.hamburger:hover span::after,
.hamburger:hover span::before{background: #000;}
.hamburger.active:hover,
.hamburger.active:hover span,
.hamburger.index.is-active:hover span{
    background: #C30000;
}
}
.hamburger span{
    width: 43px;
    height: 5px;
    background: #fff;
    position: relative;
}
.hamburger span::after,
.hamburger span::before{
    display: block;
    position: absolute;
    content: '';
    width: 43px;
    height: 5px;
    background: #fff;
}
.hamburger span::before {
    top: -12px;
}
.hamburger span::after {
    bottom: -12px;
}
@media screen and (max-width:1620px){
    .header{padding: 1vw 0;}
    .headerBox{padding: 0 7.81vw;}
    .topRogo{height: 6.17vw;}
    .headerLeft{gap: 1.54vw;}
    .headerStatus img{width: 2.39vw;}
    .headerStatus p{font-size: 1.35vw;}
    .hamburger{font-size: 2.78vw;}
    .hamburger span,
    .hamburger span::after,
    .hamburger span::before{width: 2.65vw;height: 0.31vw;}
    .hamburger span::before {top: -0.74vw;}
    .hamburger span::after {bottom: -0.74vw;}
}
/*----------------------ログイン前INDEX--------------------------*/
.topMenu.index{
    display: flex;
    justify-content: end;
    max-width: 1620px;
    margin: 50px auto 0;
}
.hamburger.index{
    color: #000;
    border: 2px solid #000;
    background: #fff;
}
.hamburger.index span,
.hamburger.index span::after,
.hamburger.index span::before{
    background: #000;
}
.hamburger.index.is-active span{background: #fff;}
@media screen and (max-width:1620px){
    .topMenu.index{padding: 0 7.81vw;margin: 3.09vw auto 0;}
}
/*--------------------ヘッダーメニュー中身------------------------*/
.menuWindow{
    width: 100%;
    min-height: 100vh;
    height:100vh;
    padding-top: 30px;
    background: url(/img/up/red/back_dot.webp);
    background-repeat: repeat-y;
    background-size: cover;
    background-color: #fff;
    position: absolute;
    top: 0;
    z-index: 998;
    transform: translateY(-100%);
    transition: .3s;
     display: flex;
    justify-content: center;
    align-items: center; 
    overflow-y: scroll;
}
.menuWindow.active{
    transform: translateY(0%);
}
.hamburger.active{
    color: #000;
    border: 2px solid #000;
    background: #fff;
}
.hamburger.active span::after{
    background: #000;
    transform: rotate(-45deg);
    top: 0;
    transition: .3s;
}
.hamburger.active span::before{
    background: #000;
    transform: rotate(45deg);
    top: 0;
    transition: .3s;
}
.menuBox{
    max-width: 1600px;
    margin: 0 auto;
}
.menuBox p{
    font-size: 7rem;
    font-weight: 900;
    text-align: center;
    margin-bottom: 50px;
}
.menuRow1{
    display: flex;
    justify-content: space-between;
    gap: 5%;
    margin-bottom: 50px;
}
.menuRow2{
    display: flex;
    justify-content: center;
    gap: 5%;
    margin-bottom: 50px;
}
.menuItem{
    width: 400px;
}
@media (hover: hover) and (pointer: fine){
    .menuItem img:hover{
        transition: .5s;
        transform: translateX(20px);
        filter: drop-shadow(-10px 5px 0 #000);
    }
}
@media screen and (max-width:1620px){
    .menuBox{width: 85%;}
}
@media screen and (max-width:1280px){
    .menuItem{width:31.25vw;}
    .menuBox p{font-size: 5.47vw;margin-bottom: 3.91vw;}
    .menuRow1,.menuRow2{margin-bottom: 3.13vw;}
}
/*--------------------------------------------
フッター
----------------------------------------------*/
footer.white{
    background: url(/img/up/red/back_dot.webp);
    background-color: #fff;
    position: relative;
}
footer.white::after{
    position: absolute;
    content: '';
    display: inline-block;
    width: 100%;
    height: 40%;
    bottom: 0;
    background: url(/img/up/red/back_footer.webp);
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: contain;
    opacity: .5;
    
}
.footerRogo{
    width: 435px;
    display: block;
    margin: 50px auto;
}
.footerArea{
    max-width: 1620px;
    margin: 0 auto;
}
.footerMenuList{
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
.f_MenuItem{
    width: 529px;
    height: 130px;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    text-shadow: 4px 4px 4px #000;
    background: url(/img/up/red/black_menu.webp)no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
}
@media (hover: hover) and (pointer: fine){
    .f_MenuItem:hover{
        background: url(/img/up/red/black_menu_hover.webp)no-repeat;
        background-size: contain;
    }
}
.toTop{
    margin: 50px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.toTopBtn{
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 8rem;
    font-weight: 900;
    line-height: 1;
}
.toTopBtn::before{
    display: block;
    content: '▲';
    font-size: 85%;
}
.copy{
    text-align: center;
    font-size: 3rem;
    font-weight: 500;
    padding: 1em;
    margin-top: 300px;/*-仮-*/
}
@media screen and (max-width:1620px){
    .footerRogo{width: 22.66vw; margin: 2.6vw auto;}
    .footerArea{width: 85%;}
    .f_MenuItem{
        width: 27.55vw;
        height: 6.77vw;
        font-size: 2vw;
        margin-bottom: 2.6vw;
    }
    .toTopBtn{font-size: 4.17vw;}
    .copy{font-size: 1.56vw;margin-top: 15.63vw;}
}
/*--------------------------------------------
フッター(スマホ用)
----------------------------------------------*/
.spFooter{
    width: 100%;
    background: #000;
    position: fixed;
    bottom: 0;
    z-index: 10;
    transform: translateY(100px);
    opacity: 0;
}
.spFooter.UpMove{
    animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
    from {
    opacity: 0;
    transform: translateY(100px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
}
.spFooter.DownMove{
    animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
    from {
    opacity: 1;
    transform: translateY(0);
    }
    to {
    opacity: 1;
    transform: translateY(100px);
    }
}
.spFooterbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
}
.spFooterbox span{
    display: block;
    height: 70px;
    width: 2px;
    background: #fff;
}
.spFooterItem a{
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    position: relative;
}
.spFooterItem img{
    height: 48px;
}
.spFooterItem p{
    font-size: 15px;
}
.newinfo{
    font-size: 12px;
    padding: .5em;
    position: absolute;
    top: 0;
    right: 0;
    background: #C30000;
    border-radius: 50%;
    line-height: 1.5;
}
/*-----------------------------------
ログイン前FV
-------------------------------------*/
.fv{
    position: relative;
}
.star {
    position: absolute;
    display: block;
    background-color: #fff; /* 星の色 */
    border-radius: 50%;
    box-shadow: 0 0 4px 2px rgba(#fff, 0.2); /* 星の影 */
    opacity: 0.5;
    animation: twinkle 5s infinite;
}
.fvBack{
    width: 100%;
    height: auto;
}
.indexHeader {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 999;
}
.indexRogo{
    position: absolute;
    top: 10px;
    left: 150px;
    width: 526px;
    z-index: 10;
}

.topBadge{
    position: absolute;
    right: 85px;
    top: 50%;
    transform: translateY(-50%);
    width: 378px;
    border-radius: 50%;
    z-index: 10;
}
.topBadge img{
    animation: rogo 1s cubic-bezier(0, 0.02, 0.09, 1.03) forwards;
}
@media screen and (max-width:1920px){
    .indexRogo{width: 27.4vw;left: 7.81vw;}
    .topBadge{width: 19.69vw;right: 4.43vw;}
}
/*------------今週の予想------------------*/
.fvCont{
    position: absolute;
    width: 100%;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.fvTopic{
    position: relative;
    width: fit-content;
    color: #fff;
    border: 2px solid #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3em 3em 2em;
    margin-bottom: 50px;
}
.fvTopicTitle{
    font-weight:800;
    font-size: 3.5rem;
    color: #000;
    background: #fff;
    border-radius: 30px;
    padding: 5px 1em;
    position: absolute;
    top: -1em;
}
.f_t_day{font-size: 3rem;font-weight:600;}
.f_t_race{font-size: 5rem; font-weight:600;line-height: 1.4;}
.f_t_sub{font-size: 2rem;margin-top: .5em;}
@media screen and (max-width:1620px){
    .fvTopic{padding: 2em 2em 1em;margin-bottom: 2.6vw;}
    .fvTopicTitle{font-size: 1.82vw;}
    .f_t_day{font-size: 1.56vw;}
    .f_t_race{font-size: 2.6vw;}
    .f_t_sub{font-size: 1.04vw;}
}
/*------------------新規登録フォーム---------------------------*/
.Entry{
    width: 100%;
    background: #00000090;
    padding: 10px 0 30px;
}
.entryForm{
    max-width: 1288px;
    margin: 0 auto;
}
.touroku{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mailForm{
    width: 644px;
    font-size: 3rem;
    padding: .5em 1em;
    background:#fff;
}
.tourokuBtn{
    width: 622px;
    height: 100px;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    text-shadow: 4px 4px 4px #000;
    background: url(/img/up/red/btn_red.webp)no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
}
.formSubText{
    font-size: 2rem;
    color: #fff;
    text-align: center;
    padding-top: 1em;
}
@media screen and (max-width:1620px){
    .Entry{padding: 0.52vw 0 1.56vw;}
    .entryForm{max-width: 67.08vw;}
    .mailForm{width: 33.54vw;font-size: 1.56vw;}
    .tourokuBtn{
        width: 32.4vw;
        height: 5.21vw;
        font-size: 2.08vw;
    }
    .formSubText{font-size: 1.04vw;}
}
/*------------------------------------------
TOPニュース
--------------------------------------------*/
.newsBox{
    color: #fff;
    border-bottom: 2px solid;
    padding: 3em 0;
}
.newsDay{
    display: flex;
    gap: 1em;
    margin-bottom: 2em;
}
.newsBox:nth-child(1) .newsDay::before{
    display: inline-block;
    content: 'NEW';
    background: #C30000;
    padding: 0 1em;
}
.newsTitle{
    font-weight: 800;
    margin-bottom: .5em;
}
/*------------------------------------------
的中実績
--------------------------------------------*/
.resultBox{
    width: 710px;
    height: 443px;
    background: url(/img/up/red/result_pc.webp)no-repeat;
    background-size: cover;
    outline: 2px solid #fff;
    border-radius: 10px;
    filter: drop-shadow(5px 5px 5px #000);
    display: flex;
    position: relative;
    margin:5px 40px 60px;
}
.resultBox::after{
    display: inline-block;
    content: '';
    position: absolute;
    width: 180px;
    height: 175px;
    background: url(/img/up/red/result_badge.webp) no-repeat;
    background-size: contain;
    bottom: -50px;
    right: -50px;
}
.resultLeft{
    width: 393px;
    height: 100%;
}
.resultLeft img{
    border-radius: 10px 0 0 0;
}
.resultTitle{
    color: #fff;
    font-size: 3.2rem;
    font-weight: 900;
    text-align: center;
    padding:.2em 0;
}
.resultMoney{
    color: #CC0000;
    font-size: 6.5rem;
    font-weight: 600;
    background: #fff;
    width: 100%;
    text-align: center;
    text-shadow: 0px 5px 3px #b2b2b2;
    letter-spacing: -.01em;
    font-family: "Noto Sans JP", serif;
    padding-bottom: .2em;
}
.resultText{
    color: #fff;
    font-size: 2rem;
    margin-left: 1.5em;
    margin-top: 1em;
}
.resultRight{
    flex: 1;
}
.resultSubTitle{
    color: #fff;
    font-size: 2.5rem;
    margin-left: 1em;
    line-height: 2;
}
.resultTextBox{
    width: 95%;
    background: #fff;
    padding: 1em 1em 1em 2em;
}
.resultTextBox p{
    font-size: 1.7rem;
    line-height: 1.6;
}

@media screen and (max-width:1620px){
    .resultBox{
        width: 43.83vw;
        height: 27.35vw;
        margin:0.26vw 2.08vw 3.13vw;
    }
    .resultLeft{width: 24.26vw;}
    .resultTitle{font-size: 1.98vw;}
    .resultMoney{font-size: 4.01vw;}
    .resultText{font-size: 1.23vw;}
    .resultSubTitle{font-size: 1.54vw;}
    .resultTextBox p{font-size: 1.05vw;}
    .resultBox::after{
        width: 9.38vw;
        height: 9.11vw;
        bottom: -2.6vw;
        right: -2.6vw;
    }
}
/*------------スライダードット----------------*/
.slick-dots li button:before{
    font-size: 10px !important;
    content: '■' !important;
    color: #fff !important;
    opacity: 1 !important;
}
.slick-dots li.slick-active button:before{
    color: #000 !important;
}

/*-------実績カード---------*/
.jissekiCardArea{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-bottom: 50px;
}
.jissekiCard{
    display: flex;
    outline: 2px solid;
    /* border: 2px solid; */
    border-radius: 10px;
    box-shadow: 3px 3px 3px #6a6a6a;
}
.jcLeft{
    width: 60.48%;
    background: #606060;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    border-radius: 8px 0px 0 8px;
}
.jcLeft img{
    border-radius: 8px 0 0 0;
}
.jcRight{
    flex: 1;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 0px 8px 8px 0px;
    
}
.jcRight p:nth-child(odd){
    background: #EAE7E7;
    padding: .5em;
    box-shadow: 0px 1px 2px #d0d0d0;
    border-radius: 0px 8px 8px 0px;
}
.jcMoney{
    color: #CC0000;
    font-size: 5rem;
    font-weight: 600;
    background: #fff;
    width: 100%;
    text-shadow: 0px 5px 3px #b2b2b2;
    padding-left: 10px;
}
@media screen and (max-width:1620px){
    .jcMoney{
        font-size: 3.09vw;
    }
}
/*------------------------------------------
無料のコンテンツ
--------------------------------------------*/
.contentSlider{
    display: flex;
    justify-content: space-between;
}
.contCord{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}
.ccImg{
    position: relative;
    width: 426px;
    height: 270px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    transition: .5s;
    transform: translateX(0);
}
.ccImg p{
    display: block;
    z-index: 3;
    position:absolute;
    color: #fff;
    font-size: 5rem;
    text-shadow: 4px 4px 0 #000;
}
.ccText{
    z-index: 1;
    position:absolute;
    top: 0;
    left: 0;
    padding: 1em;
    width: 426px;
    max-height: 250px;
    color: #fff;
    transition: .5s;
    transform: translateX(0);
}
/*----スクロール時------*/
.contCord.show .ccImg{
    transition: .5s;
    transform: translateX(-50%);
}
.contCord.show .ccText{
    transition: .5s;
    transform: translateX(50%);
}
.contCord.reverse.show .ccImg{
    transition: .5s;
    transform: translateX(50%);
}
.contCord.reverse.show .ccText{
    transition: .5s;
    transform: translateX(-50%);
}
@media screen and (max-width:1620px){
    .contCord{
        margin-bottom: 3.09vw;
    }
    .ccImg{
        width: 33.28vw;
        height: auto;
    }
    .ccText{
        width: 33.28vw;
        max-height: 19.53vw;
    }
    .ccImg p{
        font-size: 3.09vw;
    }
}
/*--------------------------------------------------
こんなあなたにおすすめ
---------------------------------------------------*/
.checkList{
    line-height: 2.5;
}
.checkList span{
    position: relative;
}
.checkList span::after{
    display: block;
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    width: 35px;
    height: 20px;
    border-left: 7px solid #C30000;
    border-bottom: 7px solid #C30000;
    transform: rotate(-45deg);
    transition: .1s;
    opacity: 0;
}
.checkList.show span::after{
    transition: .1s;
    opacity: 1;
}
@media screen and (max-width:1620px){
    .checkList span::after{
        width: 2.16vw;
        height: 1.23vw;
        border-left: 5px solid #C30000;
        border-bottom: 5px solid #C30000;
    }
}
/*--------------------------------------------------
当社が優れている点
---------------------------------------------------*/
table.topTable{
    border-collapse: separate;
    width: 100%;
    text-align: center;
}
.topTable tr th{
    border: 3px solid #000;
    border-spacing: 10px 5px;
    padding: .5em;
    vertical-align: middle;
    text-align: center;
}
.topTable tr td{
    border: 3px solid #000;
    border-spacing: 10px 5px;
    padding: .5em;
    text-align: left;
    vertical-align: middle;
}
.topTable tr th.black{
    color: #fff;
    background: #000;
}
.topTable .tableHead{
    background: #7A8AA5;
    color: #fff;
}
.topTable .tableHead.red{
    background: #C30000;
}
.topTable td.red{
    background: #F9E5E5;
    border: 3px solid #C30000;
}
.topTable tr td span{
    font-weight: 600;
}
.topTable tr td span{
    color: #C30000;
}
/*--------------------------------------------------
おすすめポイント
---------------------------------------------------*/
.redBackTitle{
    font-size: 4rem;
    background: #C30000;
    color: #fff;
    font-weight: 500;
    text-align: center;
    line-height: 2;
}
@media screen and (max-width:1620px){
    .redBackTitle{font-size: 2.47vw;}
}
span.markerY {
    background: -webkit-linear-gradient(left, #FFD800 50%, transparent 50%);
    background: -moz-linear-gradient(left, #FFD800 50%, transparent 50%);
    background: linear-gradient(left, #FFD800 50%, transparent 50%);
    background-repeat: no-repeat;
    background-size: 200% .5em; 
    background-position: 100% .8em;
    transition: 2s;
}
 
.markerY.show{
    background-position: 0% .8em;
    transition: all 1s ease;
}
/*--------------------------------------------------
ナビゲーター紹介(後から調整とレスポンシブ)
---------------------------------------------------*/
.flexArea{
    display: flex;
    justify-content: space-between;
    gap: 65px;
}

.naviBox{
    position: relative;
    width :calc(100% / 3);
    height: 100%;
    display: block;
    background: #fff;
    border-radius: 10px 10px 0 0;
    margin-bottom: 20px;
}
.naviImgBox{
    position: relative;
    background: #fff;
    border-radius:10px 10px 0 0;
    width: 100%;
    height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.naviImgBox img{
    width: 223px;
    position: absolute;
    top: -40px;
}
.naviTextBox{
    padding:2em 1em 1em;
}
.naviName{
    position: absolute;
    background: #FFD800;
    width: 340px;
    text-align: center;
    border-radius: 5px;
    filter: drop-shadow(0 3px 6px #000000c0);
    bottom: 0;
    font-weight: 900;
    padding: 5px 0;
}
.readmore {
    position: relative;
    cursor: pointer;
}
.naviBtn{
    font-weight: bold;
    width: 100%;
    padding:.2em 0;
    color: #fff;
    text-align: center;
    background-color: #C30000;
    font-size: 2.5rem;
    border-radius: 0 0 10px 10px;
    position: absolute;
    display: block;
    transition: .5s;
    cursor: pointer;
}
.show-text{
    padding: 1em 1em 0em 1em;
    position: relative;
}

.hide-text1,
.hide-text2,
.hide-text3 {
    display: none;
    padding: 0em 1em 1em 1em;
}



@media (hover: hover) and (pointer: fine){
    .naviBox:hover .naviImgBox img{
        transition: .3s;
        transform-origin:bottom;
        transform: scale(1.1, 1.1);
    }
}
@media screen and (max-width:1620px){
    .naviImgBox{
        height: 16.05vw;
    }
    .naviImgBox img{
        width: 13.77vw;
        top: -2.47vw;
    }
    .naviName{
        width: 22.56vw;
    }
    .readmore-content::before{
        height: 4.32vw;
    }
    .readmore-content {
        height: 12.35vw;
    }
    .readmore label{
        font-size: 1.54vw;
    }
    .naviBtn{
        font-size: 1.23vw;
    }
}
/*--------------------------------------------------
利用者の声
---------------------------------------------------*/
.voicegridArea{
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    gap: 60px;
}
/*--横長の口コミ--*/
.voiceWide{
    display: flex;
    flex-direction: column;
    gap: 70px;
    width: 100%;
    margin: 70px 0;
}
.voiceBox{
    width: 100%;
    border-radius: 10px;
    border: 5px solid #C30000;
    padding: 1em;
    box-shadow: 15px 15px 0 #C30000;
    display: flex;
    flex-direction: column;
}
.voiceBox:nth-child(even){
    border: 5px solid #000000;
    box-shadow: 15px 15px 0 #000000;
}
.voiceBox:nth-child(even) .voiceBoxTop p:nth-child(1){
    border-bottom: 3px solid #000000;
    margin-bottom: .5em;   
}
.voiceBoxTop p:nth-child(1){
    border-bottom: 3px solid #C30000;
    margin-bottom: .5em;
}
.voiceBoxMid{
    color: #fff;
    background: #C30000;
    margin: 1em 0;
    text-align: center;
    border-radius: 5px;
    line-height: 1.8;
}
.voiceBox:nth-child(even) .voiceBoxMid{
    background: #000000;
}

@media screen and (max-width:1620px){
    .voiceWide{
        gap: 4.32vw;
        margin: 4.32vw 0;
    }
    .voicegridArea{gap: 3.7vw;}
    .voiceBox{
        border: 3px solid #C30000;
        box-shadow: 10px 10px 0 #C30000;
    }
    .voiceBox:nth-child(even){
        border: 3px solid #000000;
        box-shadow: 10px 10px 0 #000000;
    }
}
/*------------------------------------------------
簡単な流れ
--------------------------------------------------*/
.stepgridArea{
    display: flex;
    justify-content: center;
    margin-top: 150px;
}
.step{
    position: relative;
    width :330px;
    background: url(/img/up/red/step_001.webp) no-repeat;
    background-size: contain;
    background-position: center;
    height: 580px;
    color: #fff;
}
.step p{
    position: absolute;
    width: 146px;
    left: 2em;
    top: 50%;
    transform: translateY(-50%);
}
.step3 p{
    left: 4.5em;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.step3 p span{
    font-size: 6rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    margin-bottom: 1em;
}
.step:nth-last-child(1){
    background: url(/img/up/red/step_002.webp) no-repeat;
    background-size: contain;
    background-position: center;
}
.step1::after{
    position: absolute;
    content: '';
    display: block;
    width: 232px;
    height: 83px;
    background: url(/img/up/red/step_moji_001.webp)no-repeat;
    background-size: contain;
    top: -85px;
}
.step2::after{
    position: absolute;
    content: '';
    display: block;
    width: 232px;
    height: 83px;
    background: url(/img/up/red/step_moji_002.webp)no-repeat;
    background-size: contain;
    top: -85px;
}
.step3::after{
    position: absolute;
    content: '';
    display: block;
    width: 232px;
    height: 83px;
    background: url(/img/up/red/step_moji_003.webp)no-repeat;
    background-size: contain;
    top: -85px;
}
@media screen and (max-width:1620px){
    .stepgridArea{
        margin-top: 9.26vw;
    }
    .step{
        width :20.37vw;
        height: 35.8vw;
    }
    .step p{
        width: 9.01vw; 
    }
    .step3 p span{
        font-size: 3.7vw;
    }
    .step1::after,.step2::after,.step3::after{
        width: 14.32vw;
        height: 5.12vw;
        top: -5.25vw;
    }
}
/*------------------------------------------------
フッターフォーム
--------------------------------------------------*/
.footerForm{
    width: 100%;
    height: 867px;
    position: relative;
    overflow: hidden;
}
.footerForm::before{
    display: block;
    position: absolute;
    content: '';
    background: url(/img/up/red/top_red_left.webp) no-repeat;
    background-size: cover;
    width:100%;
    height: 867px;
    top: 0;
    z-index: -1;
}
.footerForm::after{
    display: block;
    position: absolute;
    content: '';
    background: url(/img/up/red/top_red_light.webp) no-repeat;
    background-size: cover;
    width:100%;
    height: 867px;
    bottom: 0;
    z-index: -1;
}
.uma{
    position:absolute;
    width: 1350px;
    top: 30px;
    left: -200px;
    filter: drop-shadow(5px 5px 5px #a4a4a4);
    opacity: 0;
}
.f_rogo{
    position: absolute;
    top: 50px;
    left: -100px;
    width: 550px;
}
.f_label{
    position:absolute;
    top: 350px;
    right: -100px;
    width: 460px;
}
.footerForm.show .uma{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    animation-fill-mode:forwards
}
.footerForm.show .f_label{
    opacity: 1;
    animation: rogo 1s cubic-bezier(0, 0.02, 0.09, 1.03) forwards;
    animation-delay: 1s;
}

@media screen and (max-width:1620px){
    .footerForm,
    .footerForm::before,
    .footerForm::after{
        height: 53.52vw;
    }
    .uma{
        width: 83.33vw;
        top: 1.85vw;
        left: -12.35vw;
    }
    .f_rogo{
        width: 27.4vw;
        top: 3.09vw;
        left: -6.17vw;
    }
    .f_label{
        top: 21.6vw;
        right: -6.17vw;
        width: 28.4vw;
    }
}
/*------------------------------------------------
プレゼント
--------------------------------------------------*/
.preflex{
    display: flex;
    justify-content: space-between;
    gap: 50px;
}
.preflex img{
    width: 644px;
    filter: drop-shadow(3px 3px 5px #bfbfbf);
}
.borderRed{
    font-size: 5rem;
    font-weight: 900;
    border-bottom: .1em solid #C30000;
    margin-bottom: .5em;
}
@media screen and (max-width:1620px){
    .preflex{gap: 3.09vw;}
    .preflex img{width: 39.75vw;}
    .borderRed{font-size: 3.09vw;}
}

/*--------------------------------------
選ばれる理由
-----------------------------------------*/
.whiteBox.profe{
    margin: 200px 0;
}
figure {
    float: right;
    margin-left: 1.5em;
    width: 530px;
}
@media screen and (max-width:1620px){
    .whiteBox.profe{margin: 100px 0;}
    figure{width: 31.91vw;}
}
@media screen and (max-width:599px){
    .whiteBox.profe{margin: 50px 0;}
    figure {float: none; width: 100%;margin:0;}
}

/*-------------------------------------------
キャンペーンページ
---------------------------------------------*/
.campList{
    max-width: 1060px;
    margin: 50px auto;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.campBox{
    border: 2px solid;
    border-radius: 10px;
    display: flex;
    position: relative;
    width: 100%;
    margin: 10px 0;
}
.campBox.clear::after{
    position: absolute;
    content: '';
    display: block;
    width: 160px;
    height: 160px;
    background:url(/img/up/red/clear_badge.webp)no-repeat;
    background-size: contain;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%) rotate(45deg);
}
.campBox.clear .campBox1{
    background: #999999;
}
.campBox.clear .campBox2,
.campBox.clear .campBox3{
    filter: invert(50%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%) contrast(93%);
}
.campBox1{
    font-size: 5rem;
    font-weight: 900;
    color: #fff;
    background: #C6041A;
    padding: 0 .5em;
    border-right: 2px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px 0 0 8px;
}
.campBoxR{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    width: 100%;
    background: #fff;
    border-radius: 0 8px 8px 0;
}
.campBox2{
    line-height: 1;
    font-weight: 900;
}
.campBox2 span{
    font-size: 70%;
    font-weight: 600;
}
.campBox3{
    font-size: 5rem;
    font-weight: 900;
}
@media screen and (max-width:1620px){
    .campList{
        gap: 3.09vw;
        margin: 3.09vw auto;
    }
    .campBox1,.campBox3{font-size: 3.09vw}
    .campBox.clear::after{
        width: 9.88vw;
        height: 9.88vw;}
}
/*----------------------------------------------
初心者ガイド
------------------------------------------------*/
.flexcolumns{
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.topRed li{
    line-height: 2;
}
.topRed li::first-letter{
    font-size: 120%;
    background: #C30000;
    color:#fff;
    padding: 0 .5em;
    margin-right: 10px;
}
.username{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 2px solid;
    width: fit-content;
    padding: .1em 1em;
    border-radius: 1em;
    filter: drop-shadow(2px 2px 2px #888888);
    background: #fff;
}
.username img{
    width: 50px;
    height: 50px;
}
.proname{
    display: flex;
    align-items: end;
    gap: 10px;
    margin: 2em 0;
}
.proname img{
    width: 100px;
    height: 100px;
}
.proname p{
    background: #000;
    color: #fff;
    padding: 0 1em;
    border-radius: 5px;
}
.blueFlex{
    width: 100%;
    display: flex;
    border: 2px solid #000;
    border-radius: 10px;
    filter: drop-shadow(3px 3px 3px #888888);
}
.blueFlex div:nth-child(1){
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    background: #7A8AA5;
    color: #fff;
    border-radius: 8px 0 0 8px;
    width: 24%;
}
.blueFlex div:nth-child(2){
    padding: 1em;
    background: #fff;
    flex: 1;
    border-radius:0 8px 8px 0;
}
.blueFlex span{
    color: #C30000;
}
.linkBlack{
    background: #000;
    color: #fff;
    padding: 0 1em;
    line-height: 1.8;
    border-radius: 5px;
}
.linkRed{
    font-size: 5rem;
    font-weight: 900;
    color: #C30000;
}
@media screen and (max-width:1620px){
    .flexcolumns{
        margin-top: 5.17vw;
        gap: 1.85vw;
    }
    .username img{
        width: 3.09vw;
        height: 3.09vw;
    }
    .proname img{
        width: 6.17vw;
        height: 6.17vw;
    }
    .linkRed{
        font-size: 3.09vw;
    }
}
/*------------------------------------
チャット、プロフィール
--------------------------------------*/
.profIcon{
    width: 285px;
    height: 285px;
}
@media screen and (max-width:1620px){
    .profIcon{
        width: 17.59vw;
        height: 17.59vw;
    }
}
/*--------------------------------------
RED指数
----------------------------------------*/
.indexFlex{
    width: 100%;
    margin-bottom: 50px;
}
.indexFlexTop{
    width: 100%;
    display: flex;
}
.indexFlexTop:not(:first-child){
    margin-top: -2px;
}
.face{
    width: 9.5%;
    height: 104px;
    border: 2px solid;
    border-bottom: none !important;
}
.face:not(:first-child){
    border-left: none;
}
.face:nth-child(1){
    background: url(/img/up/red/sakurai_001.webp)no-repeat;
    background-size:cover;
    background-color: #FFC1C1;
}
.face:nth-child(2){
    background: url(/img/up/red/hagiwara_001.webp)no-repeat;
    background-size:cover;
    background-color: #83D883;
}
.face:nth-child(3){
    background: url(/img/up/red/asano_001.webp)no-repeat;
    background-size:cover;
    background-color: #C1E0FF;
}
.indexbox{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1;
    padding: 5px;
    border: 2px solid #000;
}
.indexbox:first-child{width: 50%;}
.indexbox:nth-child(2){width: 12%;}
.indexbox:nth-child(n+3){
    width: 9.5%;
    border: 2px solid #000;
}
.indexbox:not(:first-child){
    border-left: none !important;
}
.indexbox.top:first-child{
    background: #7A8AA5;
    color: #fff;   
}
.indexbox.top:nth-child(2){
    background: #C30000;
    color: #fff;
    font-weight: 600;
}
.indexPlanBox{
    padding: 1em;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.redindex span{
    line-height: 1.6;
}
.indexbox.score{
    font-size: 4.5rem;
    font-weight: 900;
}
.indexbox.lank{
    font-size: 5rem;
    font-weight: 900;
}
.planLabel.redindex{
    justify-content: center;
    gap: 10px;
}
@media screen and (max-width:1620px){
    .indexFlex{margin-bottom: 3.09vw;}
    .face{height: 6.42vw;}
    .indexbox.score{font-size: 2.78vw;}
    .indexbox.lank{font-size: 3.09vw;}
}

/*-------------------------------------
ログインフォーム
----------------------------------------*/
.window{
    max-width: 1160px;
    padding: 50px;
    /*background: url(/img/up/red/back_dot.webp);
    background-size: cover;
    background-color: #fff;
    border: 1px solid #000;
    position: relative;*/
}
/*.window::before{
    position: absolute;
    content: '';
    display: inline-block;
    width: 100%;
    height: 55%;
    bottom: 0;
    left: 0;
    background: url(/img/up/red/back_footer.webp);
    background-repeat: repeat-x;
    background-position: top;
    background-size: cover;
    opacity: .5;
}*/
.login_form{
    position: relative;
}
.login_form input{
	width: 100%;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 0 1em;
	line-height: 2;
	margin-bottom: 1em;
    background: #fff;
}
@media screen and (max-width:1620px){
    .window{padding: 3.09vw;}
}
@media screen and (max-width:599px){
    .window{padding: 0 3.09vw 5.09vw;}
}
/*-------------------------------------
登録フォーム
----------------------------------------*/
.tourokuForm{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 50px 0;
    gap: 30px;
}
.tourokuForm .planBtn{
    font-size: 3.5rem !important;
}
.tourokuForm .mailForm{
    width: 100%;
    border: 2px solid #000;
    border-radius: 5px;
}
@media screen and (max-width:1620px){
    .tourokuForm .planBtn{font-size: 2.16vw !important;}
    .tourokuForm{
        margin: 3.09vw 0;
        gap: 1.85vw;
    }
}
@media screen and (max-width:599px){
    .tourokuForm .planBtn{font-size: 4.56vw !important;}
}

/*------------------------------------------------
ユーザーレビュー
--------------------------------------------------*/
.reviewCardArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 90px;
    margin-bottom: 100px;
}
.voiceBox.reviewCard{
    padding: 0;
}
.reviewCard .voiceBoxTop,
.reviewCard .voiceBoxBottom{
    padding: 1em .5em;
}
.reviewCard .voiceBoxMid{
    margin: 0 1em;
}
.voiceBoxTitle{
    color: #fff;
    text-align: center;
    font-weight: 900;
    background: #C30000;
    line-height: 2;
}
.voiceBox:nth-child(even) .voiceBoxTitle{
    background: #000000;
}
.voiceBox img{
    width: 100%;
}
@media screen and (max-width:1620px){
    .reviewCardArea{
        gap: 5.56vw;
        margin-bottom: 6.17vw;
    }
}