@charset "utf8";

/* point */
.fPoint {
    background: url(../images/pointContentBg.webp) repeat-y;
    background-size: 100% 100%;
    position: relative;
    padding: 16rem 0 10rem 0;
    z-index: 6;
}

.fPointTtl {
    font-size: 6.5rem;
    font-weight: 900;
    line-height: 2;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 60rem;
}

.fPoint img {
    width: 57rem;
    display: block;
    margin: 0 auto;
}

.fPointLine{
    width: 53.1rem;
    height: .3rem;
    background: linear-gradient(to right, #FF7633 20%, #FF483F 40%, #FF0B4D 70%);
    margin: 3rem 0 0 auto;
}

.fPointNote{
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.2;
    margin-left: 4.5rem;
    margin-right: 2rem;
}

.fpointItem01{
    background: url(../images/fPoint01.webp) no-repeat center;
    background-size: 100% 100%;
    position: relative;
    width: 72.3rem;
    margin: 6rem auto 0 0;
    padding-bottom: 4rem;
}

.fpointItem02{
    background: url(../images/fPoint02.webp) no-repeat center;
    background-size: 100% 100%;
    position: relative;
    width: 72.3rem;
    margin: 2.5rem auto 0 0;
    padding-bottom: 3.5rem;
}


.fpointItem03{
    background: url(../images/fPoint03.webp) no-repeat center;
    background-size: 100% 100%;
    position: relative;
    width: 72.3rem;
    margin: 2.5rem auto 0 0;
    padding-bottom: 8rem;
}

.fpointItem04{
    background: url(../images/fPoint04.webp) repeat-y;
    background-size: 100%;
    position: relative;
    width: 72.3rem;
    margin: 2.5rem auto 0 0;
    padding-bottom: 8rem;
}

.fpointItem05{
    background: url(../images/fPoint05.webp) no-repeat center;
    background-size: 100% 100%;
    position: relative;
    width: 72.3rem;
    margin: 2.5rem auto 0 0;
    padding-bottom: 3rem;
}

.fPointItemTtl{
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    text-align: center;
    padding-top: 15rem;
    position: relative;
}

.fpointItem01 .fPointItemTtl::after{
    content: '※';
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #e60020;
    position: absolute;
    right: 10rem;
    top: 17rem;
}

.fpointItem01 .fPointItemTtl{
    text-align: left;
    margin-left: 7rem;
}


.fpointItem02 .fPointItemTtl{
    text-align: left;
    margin-left: 7rem;
}

.fpointItem02 .fPointItemTtl::after{
    content: '';
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #e60020;
    position: absolute;
    right: 31.5rem;
    top: 15rem;
}

.fpointItem02 .fPointLine{
    margin-top: 7rem;
}

.fpointItem03 .fPointItemTtl{
    text-align: left;
    margin-left: 7rem;
}

.fpointItem03 .fPointItemContent{
    margin-bottom: 7rem;
}


.fpointItem04 .fPointItemTtl{
    text-align: left;
    margin-left: 7rem;
}

.fpointItem05 .fPointItemTtl{
    text-align: left;
    margin-left: 7rem;
}

.fPoint img.pointArrow{
    width: 17.7rem;
    display: block;
    position: absolute;
    right: 6rem;
    top: 21.8rem;
}

.fPoint img.pointClock{
    width: 18.6rem;
    display: block;
    position: absolute;
    right: 10rem;
    top: 11rem;
}

.fPoint img.pointHand{
    width: 16.5rem;
    display: block;
    position: absolute;
    right: 6.5rem;
    top: 11rem;
}

.fPoint img.pointHouse{
    width: 28.4rem;
    display: block;
    position: absolute;
    right: 2.5rem;
    top: 16.7rem;
}

.fPoint img.pointPhone{
    width: 20rem;
    display: block;
    position: absolute;
    right: 2.5rem;
    top: 6.5rem;
}

.fPoint img.pointLaying{
    width: 17rem;
    display: block;
    position: absolute;
    right: 2rem;
    top: 12rem;
}

.fPoint img.pointGraph{
    width: 19rem;
    display: block;
    position: absolute;
    right: 2.5rem;
    top: 11rem;
}

.fPoint img.pointBeginner{
    width: 19rem;
    display: block;
    position: absolute;
    right: 2rem;
    top: 6.5rem;
}

.fPoint img.pointShakehand{
    width: 20rem;
    display: block;
    position: absolute;
    right: 2.5rem;
    top: 11rem;
}

.fPoint img.pointCheck{
    width: 20rem;
    display: block;
    position: absolute;
    right: 2.5rem;
    top: 14rem;
}

.fPointItemTtl span{
    color: #e60020;
}

.fPointItemContent{
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1a1a1a;
    margin: 5rem 3.5rem 2.5rem 5.5rem;
}

.pointAccordTtl{
    width: 63rem;
    height: 12rem;
    text-align: center;
    border-radius: 2.3rem;
    background: rgb(252, 113, 47);
    background: linear-gradient(to right, #FF7633 20%, #FF483F 40%, #FF0B4D 70%);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 1.5rem ;
    z-index: 5;
    cursor: pointer;
}

.pointAccordTtl::after{
    content: "";
    display: block;
    background: url(../images/pointAccorD.webp) no-repeat;
    background-size: 100% 100%;
    border-radius: 0.2rem;
    position: absolute;
    width: 3.1rem;
    height: 1.8rem;
    top: 50%;
    transform: translate(0, -50%);
    right: 3.5rem;
    cursor: pointer;
}

.pointAccordTtl.close::after{
    background: url(../images/pointAccorU.webp) no-repeat center top;
    background-size: contain;
    width: 3.1rem;
    height: 1.8rem;
}

.pointAccordTtl p{
    width: 55rem;
    color: #fff;
    font-size: 4rem;
    font-weight: 700;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.pointAccordContent{
    width: 63rem;
    height: auto;
    position: relative;
    display: none;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 1.5rem ;
    margin-top: -2rem;
    padding: 5rem 3rem 9rem 3.5rem;
    background-color: transparent;
    border: .1rem solid #e60020;
    border-radius: 0 0 1.6rem 1.6rem;
    z-index: 3;
}

.pointAccordContent .pointAccordClose{
    width: 10.7rem;
    height: 3rem;
    bottom: 2.5rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
}
/* end point */
/* step */
.step {
    background: url(../images/stepBg.webp) no-repeat center;
    background-size: 100% 100%;
    padding-bottom: 8rem;
}

.stepTtl {
    font-size: 6.8rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #e60020;
}

.stepNumber {
    position: relative;
    font-size: 10.5rem;
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
    background: linear-gradient(to right, #FF7633 20%, #FF483F 40%, #FF0B4D 70%);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 5rem;
}

.stepNumber::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: -0.3rem;
    width: 70%;
    height: 0.5rem;
    background: linear-gradient(to right, #FF7633 20%, #FF483F 40%, #FF0B4D 70%);
}

.stepNumber span {
    font-size: 12.5rem;
    font-weight: 900;
    line-height: 1.35;
    text-align: center;
    font-style: italic;
}

.stepNumber {
    position: relative;
}

.stepNumberBox {
    position: relative;
}

.stepNumberBox .step01 {
    width: 33rem;
    height: auto;
    display: block;
    margin: 0 auto 0 11rem;
}

.stepNumberBox .step02 {
    width: 40.5rem;
    height: auto;
    display: block;
    margin: 15.5rem auto 0 4rem;
}

.stepNumberBox .step03 {
    width: 40.3rem;
    height: auto;
    display: block;
    margin: 15.5rem auto 0 4.5rem;
}

.stepNumberBox .step03 {
    margin-bottom: 3.5rem;
}

.stepNumberBox .stepNumberTxt {
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #4d4d4d;
    position: absolute;
    top: 6.5rem;
    left: 24rem;
}

.stepItemContent {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    background: rgb(252, 113, 47);
    background: linear-gradient(to right, #FF7633 20%, #FF483F 40%, #FF0B4D 70%);
    margin: 0 3rem;
    margin-top: .5rem;
    padding: 2rem 7rem;
    border-radius: 20rem;
    position: relative;
}

.stepItemContent::after {
    content: '';
    position: absolute;
    width: .1rem;
    height: 12.2rem;
    background: rgb(252, 113, 47);
    background: linear-gradient(to right, #FF7633 10%, #FF2B46 20%, #FF0B4D 30%);
    left: 50%;
    transform: translate(-50%, 50%);
}

.stepItem:last-child .stepItemContent::after {
    content: unset;
}

.stepItemTxt {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.3;
    color: #e60020;
    text-align: center;
    margin: 2.5rem 5.5rem;
    border: .2rem solid #e60020;
    border-radius: 2rem;
}

/* end step */

/* member */
.member {
    background: url(../images/memberBg.webp) no-repeat center;
    background-size: 100% 100%;
    padding: 5rem 0;
    z-index: 5;
}

.member02{
    margin-top: -8rem;
    background-size: 104% 100%;
    background-position-y: 1.8rem;
}

.memberTtl {
    font-size: 5.2rem;
    font-weight: 900;
    line-height: 1.22;
    color: #fff;
    text-align: center;
    padding-top: 1rem;
}

.memberTtl span {
    font-size: 3.4rem;
    font-weight: 700;
    padding: 0 4rem;
    background: url(../images/clippathBorder.webp) no-repeat center;
    background-size: contain;
    background-position-y: 0.6rem;
}

.memberTxt {
    font-size: 6.6rem;
    font-weight: 900;
    line-height: 1.25;
    color: #fff;
    text-align: center;
}

.memberTxt span {
    position: relative;
    font-size: 8.213rem;
    font-weight: 900;
    line-height: 1.2;
}

.memberTxt span::before {
    position: absolute;
    content: "";
    width: .4rem;
    height: 6.7rem;
    background-color: #fff;
    transform: skew(30deg);
    left: -4rem;
    top: 3.5rem;
}

.memberTxt span::after {
    position: absolute;
    content: "";
    width: .4rem;
    height: 6.7rem;
    background-color: #fff;
    transform: skew(-30deg);
    right: -4rem;
    top: 3.5rem;
}

.memberContent {
    position: relative;
    background: url(../images/memberContentBg.webp) no-repeat center;
    background-size: 100% 100%;
    padding: 4rem 3rem 5rem 3rem;
    margin: 0 1.5rem;
    margin-top: 3rem;
}

.memberContentTxt {
    font-size: 5.225rem;
    font-weight: 900;
    line-height: 1.2;
    color: #e60020;
    text-align: center;
}

.memberContentTxt span {
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0 2rem;
    padding-bottom: .3rem;
    background-color: #e60020;
    color: #fff;
    text-align: center;
    border-radius: 1rem;
    margin-left: 1rem;
}

.memberContentTxt strong {
    font-size: 4.7rem;
    font-weight: 900;
    line-height: 1.5;
    color: #e60020;
}

.memberPrice {
    width: 60.8rem;
    display: block;
    margin: 2rem auto 0 auto;
}

.memberContentTxt02 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 2.25;
    color: #1a1a1a;
    text-align: center;
    position: relative;
}

.memberContentTxt02::before {
    content: "";
    position: absolute;
    width: 23rem;
    height: .1rem;
    background: linear-gradient(to right, #FF7633 20%, #FF2B46 30%, #FF0B4D 70%);
    top: 50%;
    transform: translate(0, -50%);
    left: 2rem;
}

.memberContentTxt02::after {
    content: "";
    position: absolute;
    width: 23rem;
    height: .1rem;
    background: linear-gradient(to right, #FF7633 20%, #FF2B46 30%, #FF0B4D 70%);
    top: 50%;
    transform: translate(0, -50%);
    right: 2rem;
}

.memberContentDate {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.memberContentDate p {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 1rem 2rem;
    color: #fff;
    background-color: #e60020;
    border-radius: 2.6rem;
}

.memberContentDate p:first-child {
    margin-right: 1rem;
}

.memberContentDate p:last-child {
    margin-left: 1rem;
}

.memberContentNote {
    font-size: 1.66rem;
    font-weight: 400;
    line-height: 1.55;
    margin: 2rem 2rem 0 2rem;
    color: #4d4d4d;
}

/* end member */
/* qa */
.qa {
    background: #fff;
    background-size: 100%;
    background-repeat: repeat-y;
    padding: 5rem 0 6rem 0;
}

.qaTtl {
    font-family: 'Roboto', sans-serif;
    display: block;
    position: relative;
    text-align: center;
    font-size: 7.3rem;
    font-weight: 900;
    line-height: 1.75;
    font-style: italic;
    background: linear-gradient(to right, rgba(252, 113, 47, 1) 20%, rgba(252, 112, 47, 1) 30%, rgba(231, 3, 32, 1) 70%);
    -webkit-background-clip: text;
    color: transparent;
}

.styleTT {
    position: relative;
    font-size: 6rem;
    font-weight: 900;
    line-height: 1.5;
    text-align: center;
    color: #4d4d4d;
    margin-bottom: 4rem;
}

.styleTT span {
    position: relative;
    font-size: 5.2rem;
    font-weight: 700;
}

.styleTT span::before {
    content: "";
    position: absolute;
    width: 10.7rem;
    height: .2rem;
    background: linear-gradient(to right, rgba(252, 113, 47, 1) 20%, rgba(252, 112, 47, 1) 30%, rgba(231, 3, 32, 1) 70%);
    top: 50%;
    transform: translate(0, -50%);
    left: -12rem;
}

.styleTT span::after {
    content: "";
    position: absolute;
    width: 10.7rem;
    height: .2rem;
    background: linear-gradient(to right, rgba(252, 113, 47, 1) 20%, rgba(252, 112, 47, 1) 30%, rgba(231, 3, 32, 1) 70%);
    top: 50%;
    transform: translate(0, -50%);
    right: -12rem;
}

.qaBox {
    margin: 0 6rem 0 6rem;
}

.qaItem {
    cursor: pointer;
    margin-bottom: 3.5rem;
}

.qa_q {
    position: relative;
    z-index: 5;
    font-size: 3.1rem;
    font-weight: 700;
    line-height: 1.33;
    color: #fff;
    padding: 4.5rem 7rem 4.5rem 8.5rem;
    background: #e60020;
    border-radius: 2.3rem;
    background-size: 100% 100%;
}

.qa_q::before {
    content: '';
    position: absolute;
    width: 3.9rem;
    height: 4.1rem;
    background: url(../images/q.webp) no-repeat center;
    background-size: 100% 100%;
    left: 2rem;
    top: 50%;
    transform: translate(0, -50%);
}

.qa_q::after {
    content: "";
    display: block;
    background: url(../images/arrDown.webp) no-repeat;
    background-size: 100% 100%;
    border-radius: 0.2rem;
    position: absolute;
    width: 2.1rem;
    height: 1.8rem;
    top: 50%;
    transform: translate(0, -50%);
    right: 3.5rem;
}

.qa_q.close::after {
    background: url(../images/arrUp.webp) no-repeat center top;
    background-size: contain;
}

.qa_a {
    margin-top: -2rem;
    z-index: 3;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.75;
    color: #000000;
    background: #ececec;
    padding: 5rem 2.5rem 6.5rem 8rem;
    border-radius: 0 0 2.9rem 2.9rem;
    display: none;
    position: relative;
}

.qa_a::before {
    content: '';
    position: absolute;
    width: 4.3rem;
    height: 3.5rem;
    background: url(../images/a.webp) no-repeat center;
    background-size: 100% 100%;
    left: 2rem;
    top: 7.5rem;
    transform: translate(0, -50%);
}

/* end qa */

/* footer */
footer {
    position: relative;
    background: rgb(252, 113, 47);
    background: linear-gradient(to right, rgba(252, 113, 47, 1) 0%, rgba(252, 112, 47, 1) 15%, rgba(231, 3, 32, 1) 70%);
    padding: 6.5rem 3.5rem 1.5rem 3.5rem;
}

.footerTtl {
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-align: center;
}

.companyInfo {
    margin-top: 6rem;
    margin-bottom: 7rem;
    color: #fff;
}

.companyInfo ul {
    margin-bottom: 5rem;
}

.companyItem {
    display: flex;
    justify-content: flex-start;
    border-bottom: .1rem solid #fff;
}

.companyItem p {
    font-weight: 500;
    line-height: 2;
    margin-left: 1rem;
}

.companyItem p:first-child {
    width: 23rem;
}

.companyItem a {
    text-decoration: none;
    color: #fff;
    font-weight: 500;
    line-height: 2;
}

/* end footer */