@charset "UTF-8";

.wrp-vis .img_protect img{
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: auto;
}

.only-sp-inline{
    display: inline;
}
section{
    font-family: 'Noto Sans JP', sans-serif;
    word-break: break-all;
}
.ta-l{
    text-align: left !important;
}
.campaignBtn_wrap,.organizerBtn_wrap{
    max-width: 700px;
    margin: 0 auto;
    padding-top: 6%;
    padding-bottom: 6%;
}
.section .campaignBtn_wrap{
    padding-top: 0;
    padding-bottom: 0;
}
.termsBtn_wrap{
	max-width: 67vw;
    margin: 0 auto;
    padding-top: 6%;
}
section h2{
    border-bottom: 5px solid #CC0033;
    text-align: center;
    font-weight: bold;
    font-size: clamp(26px, 6vw, 44px);
    padding-bottom: 12px;
    margin-bottom: 20px;
}
.section,.section01,.section02,.section03,.section04,.section05,.section06{
    padding-top: 10%;
    padding-left: 6%;
    padding-right: 6%;
}
.section06{
    padding-bottom: 6%;
}
.section01 p,.section02 p,.section03 p,.section04 p,.section05 p,.section06 p{
    font-size: clamp(14px, 4vw, 22px);
}
.sec01_priceWrap{
    display: flex;
    flex-direction: row;
    margin-top: 20px;
    margin-bottom: 20px;
}
.section02 .list_caution01{
    margin-top: 10px;
}
.list_caution01 li {
    font-size: clamp(14px, 3.8vw, 20px);
    padding-left: 1em;
    position: relative;
}
.list_caution01 li::before {
    position: absolute;
    left: 0px;
    content: "※";
    font-size: clamp(14px, 3.8vw, 20px);
}
.list_caution02 {
    text-align: center;
}
.list_caution02 li {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.2em;
    font-size: clamp(14px, 3.8vw, 20px);
}
.list_caution02 li::before {
    content: "※";
    font-size: clamp(14px, 3.8vw, 20px);
    flex-shrink: 0;
}
.list_num{
    counter-reset: number;
}
.list_num li{
    position: relative;
    padding-left: 2em;
    font-size: clamp(14px, 3.8vw, 20px);
    counter-increment: number;
}
.list_num li::before {
    content: "※" counter(number);
    position: absolute;
    left: 0;
    top: 0;
    font-size: clamp(14px, 3.8vw, 20px);
}
.ta-c{
    text-align: center;
}

.sp_ta-l{
    text-align: left;
}

/*sec03*/
.product-description01 p,.product-description02 p{
    color: #0A51AB;
    font-size: clamp(23px, 5vw, 40px) !important;
    font-weight: bold;
    margin-bottom: 20px;
}
.product-description01 sup,.product-description02 sup{
    color: #000000;
}
.section03 .img_wrap{
    max-width: 674px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
}
/*sec03*/

/*sec04*/
.step01,.step02,.step03,.step04{
    border: 2px solid #FFD8D2;
    text-align: center;
}
.step02,.step03,.step04{
    margin-top: 20px;
}
.step_count{
    background-color: #FFD8D2;
    font-weight: bold;
    font-size: clamp(22px, 4.5vw, 36px);
    padding: 7px;
}
.step01_content,.step02_content,.step03_content,.step04_content{
    padding: 15px;
}
.step_title{
    font-size: clamp(22px, 5vw, 40px) !important;
    font-weight: bold;
    color: #A40029;
}
.section04 .img_wrap{
    margin: 17px auto;
}
.section04 .step01 .img_wrap{
    max-width: 66px;
}
.section04 .step03 .img_wrap{
    max-width: 284px;
}
.section04 .step04 .img_wrap{
    max-width: 100px;
}
.section04 .step04 .img_wrap+p{
    margin-bottom: 10px;
}
/*sec04*/

@media screen and (min-width: 641px) {
    .only-sp-inline{
        display: none;
    }
    .section01 p,.section02 p,.section03 p,.section04 p,.section05 p,.section06 p{
        font-size: 22px;
    }
    section h2{
        font-size: 44px;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }
    .list_caution01 li,.list_caution01 li::before,.list_caution02 li,.list_caution02 li::before,.list_num li,.list_num li::before{
        font-size: 20px;
    }

    .sp_ta-l{
        text-align: center;
    }

    /*sec01*/
    .sec01_priceWrap{
        margin-top: 30px;
        margin-bottom: 30px;
    }
    /*sec01*/

    /*sec02*/
    .section02 .list_caution01{
        margin-top: 20px;
    }
    /*sec02*/

    /*sec03*/
    .product-description01 p,.product-description02 p{
        font-size: 40px !important;
    }
    .product-description01{
        margin-bottom: 40px;
    }
    .product-description02{
        margin-bottom: 30px;
    }
    .section03 .img_wrap{
        gap: 40px;
        margin-top: 40px;
    }
    /*sec03*/

    /*sec04*/
    .step_count{
        font-size: 36px;
        padding: 10px;
    }
    .step02,.step03,.step04{
        margin-top: 40px;
    }
    .step01_content,.step02_content,.step03_content,.step04_content{
        padding: 30px;
    }
    .step_title{
        font-size: 40px !important;
    }
    .section04 .img_wrap{
        margin: 30px auto;
    }
    .section04 .step01 .img_wrap{
        max-width: 86px;
    }
    .section04 .step03 .img_wrap{
        max-width: 524px;
    }
    .section04 .step04 .img_wrap{
        max-width: 154px;
    }
    .section04 .step04 .img_wrap+p{
        margin-bottom: 20px;
    }
    /*sec04*/

    /*sec05*/
	.termsBtn_wrap{
    max-width: 500px;
	}
    /*sec05*/
}
