@charset "utf-8";
/* CSS Document */

a img {
    transition: 0.4s;
}
a:hover img {
    opacity: 0.75;
}

/*--------------------------------------
全体調整 / 共通パーツ
--------------------------------------*/
body {
    counter-reset: number 0;
}
figure{
    margin: 0;
}

.u-text--body :is(h2,h3,h4,p,span,a){
    /*font-family: "Shippori Mincho B1", serif;*/
    font-weight: 400;
    margin: 0;
}
.u-text--body :is(h2,h3,h4){
    font-weight: 400;
}
/* 共通h1無効 */
main #top h1 {
    position: absolute;
    left: -200%;
    z-index: -100;
}
.p-page_header__inner .img {
    display: none! important;
}
/* 全体の左右を全面に拡げる */
.p-page_content__inner {
    width: 100%;
    max-width: 100%;
}
/* 全体の左右余白を削除 */
.p-page_content{
    padding:0;
}
/* footer上の余白を削除 */
.page_main {
    font-weight: 500;
    margin-bottom: 0;
}



/*--------------------------------------
ページ共通パーツ
--------------------------------------*/
/* 共通コンテンツ幅 */
.content_wrapper{
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 0 min(calc(20* 100vw / 1000), 20px);
}
@media screen and (max-width: 750px) {
    .content_wrapper{
        padding: 0 15px;
    }
}

/*--------------------------------------
セクション共通見出しエリア
--------------------------------------*/
.content_wrapper .content_read {
    text-align: center;
}
@media screen and (max-width: 750px) {
    .content_wrapper .content_read p {
        text-align: left;
    }
}
/* 共通h2見出し */
.content_wrapper h2 {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 700;
    font-size: min(calc(32 * 100vw / 1000), 32px) !important;
    line-height: 1.5;
    margin: 0 auto min(calc(56 * 100vw / 1000), 56px);
    text-align: center;
}
@media screen and (max-width: 750px) {
    .content_wrapper h2 {
        font-size: calc(50 * 100vw / 750) !important;
        margin: 0 auto calc(96 * 100vw / 750);
    }
}
/* 共通h2見出し下部テキスト */
.content_read p {
    line-height: 2;
    text-align: center;
    margin-bottom: min(calc(64 * 100vw / 1000), 64px);
}
@media screen and (max-width: 750px) {
    .content_read p {
        margin-bottom: calc(96 * 100vw / 750);
    }
}

/* 基本テキスト */
.content_wrapper p {
    font-size: min(calc(16 * 100vw / 1000), 16px);
    font-weight: 400;
}
@media screen and (max-width: 750px) {
    .content_wrapper p {
        font-size: calc(28 * 100vw / 750);
    }
}

/*--------------------------------------
セクション共通ボタン
--------------------------------------*/
.cp_btn {
    padding: 0;
    max-width: min(calc(360* 100vw / 1000), 360px);
    margin: auto;
    position: relative;
}
.cp_btn a {
    position: relative;
    display: flex;
    justify-content: center;
    font-size: min(calc(20* 100vw / 1000), 20px);
    font-weight: 500;
    background: #222222;
    color: #FFFFFF;
    line-height: 0.9;
    letter-spacing: 0.05em;
    text-decoration: none;
    border-radius: 50px;
    padding: min(calc(24* 100vw / 1000), 24px) 0;
    margin: 0 auto;
    box-sizing: border-box;
    transition: opacity .4s;
}
.cp_btn::after {
    content: '';
    width: min(calc(8* 100vw / 1000), 8px);
    height: min(calc(8* 100vw / 1000), 8px);
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    position: absolute;
    margin: auto;
    right: min(calc(25* 100vw / 1000), 25px);;
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
}
.cp_btn a:hover {
    opacity: 0.7;
}
@media screen and (max-width: 750px) {
    .cp_btn {
        max-width: inherit;
    }
    .cp_btn a {
        font-size: calc(40* 100vw / 750);
        border-radius: 50px;
        padding: calc(45* 100vw / 750) 0;
    }
    .cp_btn::after {
        content: '';
        width: calc(15* 100vw / 750);
        height: calc(15* 100vw / 750);
        right: calc(48* 100vw / 750);
    }
}


/*--------------------------------------
キービジュアル
--------------------------------------*/
.kv_wrap {
    max-width: 1000px;
    margin: auto;
    width:100%;
}
@media screen and (max-width: 750px){
    .kv_wrap {
        max-width: inherit;
    }
}

/*--------------------------------------
Wキャンペーンリンク
--------------------------------------*/
#cp-link {
    padding: min(calc(25* 100vw / 1000), 25px) 0;
}
#cp-link ul {
    display: flex;
    justify-content: space-between;
    align-items: top;
    max-width: 1000px;
    margin: auto;
}
#cp-link ul li {
    width: 31.7%;
}
#cp-link ul li a {
    display: block;
    width: 100%;
}
@media screen and (max-width: 750px) {
    #cp-link {
        padding: calc(40 * 100vw / 750) 0;
    }
    #cp-link ul {
        max-width: inherit;
        width: 100%;
    }
    #cp-link ul li {
    width: 33.3%;
    }
}


/*--------------------------------------
導入
--------------------------------------*/
#main_lead {
    text-align: center;
    margin-top: calc(40 * 100vw / 750);
}
#main_lead p {
    font-size: min(calc(24* 100vw / 1000), 24px);
    font-weight: 500;
    text-align: center;
}
#main_lead p + p {
    margin-top: min(calc(8* 100vw / 1000), 8px);
}
#main_lead p strong {
    font-weight: 600;
    color: #AB0114;
}
@media screen and (max-width: 750px){
    #main_lead {
        margin-top: calc(160 * 100vw / 750);
    }
    #main_lead p {
        font-size: calc(36 * 100vw / 750);
    }
    #main_lead p + p {
        margin-top: calc(16 * 100vw / 750);
    }
}


/*--------------------------------------
全体調整 / CPコンテンツ共通パーツ
--------------------------------------*/
.cp_content {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding-top: min(calc(170* 100vw / 1000), 170px);
    position: relative;
}
.cp_content::before {
    content: "";
    display: block;
    width: min(calc(147* 100vw / 1000), 147px);
    height: min(calc(147* 100vw / 1000), 147px);
    position: absolute;
    margin: auto;
    top: min(calc(90* 100vw / 1000), 90px);
    right: 0;
    left: 0;
}
.cp_content h2.ttl {
    text-align: center;
    margin: 0 auto min(calc(80* 100vw / 1000), 80px);
}
.cp_content .cp_wrapper {
    background: #fff;
    border-radius: 12px;
    padding: min(calc(80* 100vw / 1000), 80px);
}
.cp_content .cp_bg {
    padding: min(calc(104* 100vw / 1000), 104px) min(calc(38* 100vw / 1000), 38px) 0;
}
.cp_content .cp_text {
    text-align: center;
}
.cp_content .cp_read .cp_text p {
    font-size: min(calc(16* 100vw / 1000), 16px);
    font-weight: 500;
    letter-spacing: -.0001em;
}
.cp_content .cp_read .cp_text p + p {
    margin-top: min(calc(16* 100vw / 1000), 16px);
}
.cp_content .cp_read .cp_text strong {
    font-weight: 600;
    color: #AB0114;
}
.cp_content .cp_benefits {
    margin-top: min(calc(40* 100vw / 1000), 40px);
}
.cp_content .cp_benefits h3 {
    font-weight: 700;
    font-size: min(calc(24* 100vw / 1000), 24px);
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    display: flex;
    align-items: center;
}
.cp_content .cp_benefits h3::before, .cp_content .cp_benefits h3::after {
    content: "";
    height: 2px;
    flex-grow: 1;
}
.cp_content .cp_benefits h3::before {
    margin-right: .5em;
}
.cp_content .cp_benefits h3::after {
    margin-left: .5em;
}
.cp_content .cp_benefits ul {
    display: flex;
    justify-content: space-around;
    padding: min(calc(16* 100vw / 1000), 16px) 0 min(calc(32* 100vw / 1000), 32px);
}
.cp_content .cp_benefits ul li {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 33%;
    font-size: min(calc(16* 100vw / 1000), 16px);
    text-align: center;
}
.cp_content .cp_benefits ul li p {
    font-weight: 500;
}
.cp_content .cp_benefits ul li p strong {
    font-weight: 600;
}
.cp_content .cp_benefits ul li::before {
    content: "";
    display: block;
    margin-bottom: min(calc(10* 100vw / 1000), 10px);
}
.cp_action {
    margin-top: min(calc(40* 100vw / 1000), 40px);
}
.cp_action .cp_action_ttl {
    font-size: min(calc(24* 100vw / 1000), 24px);
    font-weight: 600;
    text-align: center;
    position: relative;
}
.cp_action .cp_action_ttl::before,
.cp_action .cp_action_ttl::after {
    content: "│";
    display: inline-block;
    transform-origin: center center;
}
.cp_action .cp_action_ttl::before {
    transform: rotate(-35deg);
}
.cp_action .cp_action_ttl::after {
    transform: rotate(35deg);
}
.cp_action .cp_action_btn {
    width: min(calc(500* 100vw / 1000), 500px);
    margin: auto;
}
.cp_action .cp_caution {
    width: min(calc(500* 100vw / 1000), 500px);
    margin: min(calc(32* 100vw / 1000), 32px) auto 0;
}
.cp_action .cp_caution dl {
    background: #F6F4EF;
}
@media screen and (max-width: 750px){
    .cp_content {
        max-width: inherit;
        padding-top: calc(280 * 100vw / 750);
    }
    .cp_content::before {
        width: calc(207 * 100vw / 750);
        height: calc(207 * 100vw / 750);
        top: calc(180 * 100vw / 750);
    }
    .cp_content h2.ttl {
        margin: 0 auto calc(74 * 100vw / 750);
    }
    .cp_content .cp_wrapper {
        padding: calc(80 * 100vw / 750) calc(30 * 100vw / 750);
    }
    .cp_content .cp_bg {
        padding: calc(128 * 100vw / 750) calc(35 * 100vw / 750) 0;
    }
    .cp_content .cp_read .cp_text p {
        font-size: calc(32 * 100vw / 750);
    }
    .cp_content .cp_read .cp_text p + p {
        margin-top: calc(16 * 100vw / 750);
    }
    .cp_content .cp_benefits {
        margin-top: calc(80 * 100vw / 750);
    }
    .cp_content .cp_benefits h3 {
        font-size: calc(43 * 100vw / 750);
    }
    .cp_content .cp_benefits ul {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: calc(43 * 100vw / 750) 0 calc(43 * 100vw / 750);
    }
    .cp_content .cp_benefits ul li {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: calc(43 * 100vw / 750);
        width: 100%;
        font-size: calc(35 * 100vw / 750);
        text-align: left;
    }
    .cp_content .cp_benefits ul li::before {
        margin-bottom: 0;
        margin-left: calc(24 * 100vw / 750);
    }
    .cp_action {
        margin-top: calc(80 * 100vw / 750);
    }
    .cp_action .cp_action_ttl {
        font-size: calc(40 * 100vw / 750);
        letter-spacing: -.0001em;
    }
    .cp_action .cp_action_btn {
        width: 100%;
    }
    .cp_action .cp_caution {
        width: 100%;
        margin: calc(56 * 100vw / 750) 0;
    }
}

/*--------------------------------------
キャンペーンについての注意事項
--------------------------------------*/
.content_toggle {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: min(calc(40* 100vw / 1000), 40px);
}
.content_toggle dl {
    font-size: min(calc(20* 100vw / 1000), 20px);
    line-height: 2;
    position: relative;
    cursor: pointer;
    transition: 0.4s;
    width: 100%;
}
/* .content_toggle dl + dl {
    margin-top: min(calc(43* 100vw / 1000), 43px);
} */
.content_toggle dl dt {
    padding: min(calc(20* 100vw / 1000), 20px) min(calc(20* 100vw / 1000), 20px);
}
.content_toggle dl dt p {
    font-size: min(calc(20* 100vw / 1000), 20px);
    font-weight: 500;
    line-height: 1.5;
}
.content_toggle dl dd {
    display: none;
    font-size: min(calc(16* 100vw / 1000), 16px);
    line-height: 2;
    position: relative;
    padding: 0 min(calc(20* 100vw / 1000), 20px) min(calc(20* 100vw / 1000), 20px);
}
.content_toggle dl dd p {
    font-size: min(calc(14* 100vw / 1000), 14px);
    line-height: 1.5;
}
.content_toggle dl dd span {
    display: inline-block;
    font-size: min(calc(12* 100vw / 1000), 12px);
    line-height: 1.5;
    margin-top: min(calc(20* 100vw / 1000), 20px);
}
.content_toggle dl dd span + span {
    margin-top: 0;
}
.content_toggle dl dd ul li {
    font-size: min(calc(14* 100vw / 1000), 14px);
    font-weight: 500;
    letter-spacing: -.0001em;
    line-height: 2;
    text-indent: -1em;
    padding-left: 1em;
}
.content_toggle dl dd ul li + li {
    margin-top: min(calc(8* 100vw / 1000), 8px);
}

/*トグルアイコン*/
.content_toggle dl dt .u-icon--plus,
.content_toggle dl dt .u-icon--minus {
    color: #C6C6C6;
    font-size: min(calc(30* 100vw / 1000), 30px);
    position: absolute;
    right: min(calc(20* 100vw / 1000), 20px);
    top: min(calc(20* 100vw / 1000), 20px);
    transition: 0.4s;
}
.content_toggle dl dt .u-icon--minus {
    opacity: 0;
    transform: scale(0);
}
.content_toggle dl dt.is-open .u-icon--plus {
    opacity: 0;
    transform: scale(0);
}
.content_toggle dl dt.is-open .u-icon--minus {
    opacity: 1;
    transform: scale(1);
}
@media screen and (max-width: 750px){
    .content_toggle {
        flex-direction: column;
        gap: calc(30* 100vw / 750);
    }
    .content_toggle dl {
        border-top: 0;
        font-size: calc(40* 100vw / 750);
        width: 100%;
    }
    /* .content_toggle dl + dl {
    } */
    .content_toggle dl dt {
        padding: calc(40* 100vw / 750);
    }
    .content_toggle dl dt p {
        font-size: calc(30* 100vw / 750);
    }
    .content_toggle dl dd {
        font-size: calc(30* 100vw / 750);
        padding: 0 calc(40* 100vw / 750) calc(40* 100vw / 750);
    }
    .content_toggle dl dd p {
        font-size: calc(24* 100vw / 750);
    }
    .content_toggle dl dd span {
        font-size: calc(22* 100vw / 750);
        margin-top: calc(22* 100vw / 750);
    }
    .content_toggle dl dd span + span {
        margin-top: 0;
    }
    .content_toggle dl dd ul li {
        font-size: calc(24* 100vw / 750);
    }
    .content_toggle dl dd ul li + li {
        margin-top: calc(8* 100vw / 750);
    }

    /*トグルアイコン*/
    .content_toggle dl dt .u-icon--plus,
    .content_toggle dl dt .u-icon--minus {
        font-size: calc(64* 100vw / 750);
        right: calc(8* 100vw / 750);
        top: calc(28* 100vw / 750);
    }
}

/*--------------------------------------
会員登録CP
--------------------------------------*/
.cp_content#cp-account::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp01.svg) 0 0 / contain;
    background-repeat: no-repeat;
}
#cp-account .cp_bg {
    background: #AB0114;
}
#cp-account h2.ttl {
    width: min(calc(574* 100vw / 1000), 574px);
}
#cp-account .cp_read {
    display: flex;
}
#cp-account .cp_img {
    margin-right: min(calc(40* 100vw / 1000), 40px);
    width: min(calc(267* 100vw / 1000), 267px);
}
#cp-account .cp_text {
    text-align: left;
}
#cp-account .cp_benefits {
    border-bottom: 2px solid #AB0114;
}
#cp-account .cp_benefits h3 {
    color: #AB0114;
}
#cp-account .cp_benefits h3::before, #cp-account .cp_benefits h3::after {
    background-color: #AB0114;
}
#cp-account .cp_benefits ul li strong {
    background: linear-gradient(transparent 70%, #EECDD0 70%);
}
#cp-account .cp_benefits ul li.point::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp01_point.svg) no-repeat right bottom / cover;
    width: min(calc(87* 100vw / 1000), 87px);
    height: min(calc(87* 100vw / 1000), 87px);
}
#cp-account .cp_benefits ul li.mail::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp01_mail.svg) no-repeat right bottom / cover;
    width: min(calc(87* 100vw / 1000), 87px);
    height: min(calc(87* 100vw / 1000), 87px);
}
#cp-account .cp_benefits ul li.present::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp01_present.svg) no-repeat right bottom / cover;
    width: min(calc(87* 100vw / 1000), 87px);
    height: min(calc(87* 100vw / 1000), 87px);
}
@media screen and (max-width: 750px){
    #cp-account h2.ttl {
        width: 100%;
    }
    #cp-account .cp_read {
        display: block;
    }
    #cp-account .cp_img {
        margin: calc(40* 100vw / 750) 0;
        width: 100%;
    }
    #cp-account .cp_text {
        text-align: center;
    }
    #cp-account .cp_benefits ul li.point::before {
        width: calc(139* 100vw / 750);
        height: calc(139* 100vw / 750);
    }
    #cp-account .cp_benefits ul li.mail::before {
        width: calc(139* 100vw / 750);
        height: calc(139* 100vw / 750);
    }
    #cp-account .cp_benefits ul li.present::before {
        width: calc(139* 100vw / 750);
        height: calc(139* 100vw / 750);
    }
}



/*--------------------------------------
LINEキャンペーン
--------------------------------------*/
.cp_content#cp-line::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp02.svg) 0 0 / contain;
    background-repeat: no-repeat;
}
#cp-line {
    background: #AB0114;
}
#cp-line .cp_bg {
    background: #00B54A;
}
#cp-line h2.ttl {
    width: min(calc(624* 100vw / 1000), 574px);
}
#cp-line .cp_benefits {
    border-bottom: 2px solid #00B54A;
}
#cp-line .cp_benefits h3 {
    color: #00B54A;
}
#cp-line .cp_benefits h3::before, #cp-line .cp_benefits h3::after {
    background-color: #00B54A;
}
.cp_content .cp_benefits ul {
    justify-content: center;
}
#cp-line .cp_benefits ul li strong {
    background: linear-gradient(transparent 70%, #B3E9C9 70%);
}
#cp-line .cp_benefits ul li.mail::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp02_mail.svg) no-repeat right bottom / cover;
    width: min(calc(87* 100vw / 1000), 87px);
    height: min(calc(87* 100vw / 1000), 87px);
}
#cp-line .cp_benefits ul li.present::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp02_present.svg) no-repeat right bottom / cover;
    width: min(calc(87* 100vw / 1000), 87px);
    height: min(calc(87* 100vw / 1000), 87px);
}
@media screen and (max-width: 750px){
    #cp-line h2.ttl {
        width: 100%;
    }
    .cp_content .cp_benefits ul {
        justify-content: flex-start;
    }
    #cp-line .cp_benefits ul li.mail::before {
        width: calc(139* 100vw / 750);
        height: calc(139* 100vw / 750);
    }
    #cp-line .cp_benefits ul li.present::before {
        width: calc(139* 100vw / 750);
        height: calc(139* 100vw / 750);
    }
}


/*--------------------------------------
レビューキャンペーン
--------------------------------------*/
.cp_content#cp-review::before {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_cp03.svg) 0 0 / contain;
    background-repeat: no-repeat;
}
#cp-review {
    background: #00B54A;
}
#cp-review .cp_bg {
    background: #FFEA4E;
    padding-bottom: min(calc(160* 100vw / 1000), 160px);
}
#cp-review h2.ttl {
    width: min(calc(534* 100vw / 1000), 534px);
}
#cp-review .cp_flow {
    background: #F5F5F5;
    margin-top: min(calc(90* 100vw / 1000), 90px);
}
#cp-review .cp_flow .cp_flow_copy {
    font-size: min(calc(24* 100vw / 1000), 24px);
    font-weight: 600;
    text-align: center;
    padding-top: min(calc(24* 100vw / 1000), 24px);
}
#cp-review .cp_flow ol {
    display: flex;
    justify-content: space-evenly;
    margin: 0 auto min(calc(56* 100vw / 1000), 56px);
}
#cp-review .cp_flow ol li {
    padding: min(calc(25* 100vw / 1000), 25px) min(calc(8* 100vw / 1000), 8px);
    position: relative;
    text-align: center;
    width: 33.3%;
}
#cp-review .cp_flow ol li.mail {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_mail.svg) top center no-repeat;
    background-size: min(calc(96* 100vw / 1000), 96px) min(calc(98* 100vw / 1000), 98px);
    background-position: top min(calc(15* 100vw / 1000), 15px) center;
}
#cp-review .cp_flow ol li.review {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_review.svg) top center no-repeat;
    background-size: min(calc(96* 100vw / 1000), 96px) min(calc(98* 100vw / 1000), 98px);
    background-position: top min(calc(15* 100vw / 1000), 15px) center;
}
#cp-review .cp_flow ol li.point {
    background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_point.svg) top center no-repeat;
    background-size: min(calc(96* 100vw / 1000), 96px) min(calc(98* 100vw / 1000), 98px);
    background-position: top min(calc(15* 100vw / 1000), 15px) center;
}
#cp-review .cp_flow ol li::after {
    content: '';
    width: min(calc(12* 100vw / 1000), 12px);
    height: min(calc(12* 100vw / 1000), 12px);
    border-top: solid 2px #AFAFAF;
    border-right: solid 2px #AFAFAF;
    position: absolute;
    margin: auto;
    right: 0;
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
    transition: 0.4s;
}
#cp-review .cp_flow ol li:last-child::after {
    content: none;
}
#cp-review .cp_flow ol li dl {
    padding-top: min(calc(120* 100vw / 1000), 120px);
}
#cp-review .cp_flow ol li dl dt {
    font-size: min(calc(20* 100vw / 1000), 20px);
    font-weight: 500;
}
#cp-review .cp_flow ol li dl dd {
    font-size: min(calc(16* 100vw / 1000), 16px);
    line-height: 1.7;
    letter-spacing: -.005em;
    margin-top: min(calc(20* 100vw / 1000), 20px);
    text-align: center;
}
#cp-review .cp_flow ol li dl dd .caution {
    display: block;
    font-size: min(calc(11* 100vw / 1000), 11px);
    margin: min(calc(12* 100vw / 1000), 12px) min(calc(12* 100vw / 1000), 12px) 0;
    text-align: left;
}
@media screen and (max-width: 750px) {
    #cp-review .cp_bg {
        padding-bottom: calc(160 * 100vw / 750);
    }
    #cp-review h2.ttl {
        width: 100%;
    }
    #cp-review .cp_flow {
        margin-top: calc(90 * 100vw / 750);
    }
    #cp-review .cp_flow .cp_flow_copy {
        font-size: calc(48 * 100vw / 750);
        padding-top: calc(48 * 100vw / 750);
    }
    #cp-review .cp_flow ol {
        display: block;
        max-width: inherit;
        margin: calc(40 * 100vw / 750) auto calc(40 * 100vw / 750);
    }
    #cp-review .cp_flow ol li {
        padding: calc(40 * 100vw / 750) calc(40 * 100vw / 750);
        width: 100%;
    }
    #cp-review .cp_flow ol li + li {
        margin-top: calc(16 * 100vw / 750);
    }
    #cp-review .cp_flow ol li.mail {
        background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_mail.svg) top center no-repeat;
        background-size: calc(150 * 100vw / 750) calc(150 * 100vw / 750);
        background-position: center left calc(40 * 100vw / 750);
    }
    #cp-review .cp_flow ol li.review {
        background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_review.svg) top center no-repeat;
        background-size: calc(150 * 100vw / 750) calc(150 * 100vw / 750);
        background-position: center left calc(40 * 100vw / 750);
    }
    #cp-review .cp_flow ol li.point {
        background: url(https://d2w53g1q050m78.cloudfront.net/misaranoaru/uploads/pages/newmember_cp01/2025tcp/images/ico_point.svg) top center no-repeat;
        background-size: calc(150 * 100vw / 750) calc(150 * 100vw / 750);
        background-position: center left calc(40 * 100vw / 750);
    }
    #cp-review .cp_flow ol li::after {
        content: '';
        width: calc(30 * 100vw / 750);
        height: calc(30 * 100vw / 750);
        margin: auto;
        right: 0;
        left: 0;
        top: auto;
        bottom: calc(-16 * 100vw / 750);
        transform: rotate(135deg);
    }
    #cp-review .cp_flow ol li dl {
        padding: 0 0 0 calc(200 * 100vw / 750);
    }
    #cp-review .cp_flow ol li dl dt {
        font-size: calc(32 * 100vw / 750);
        padding-top: 0;
        text-align: left;
    }
    #cp-review .cp_flow ol li dl dd {
        font-size: calc(24 * 100vw / 750);
        margin-top: calc(16 * 100vw / 750);
        text-align: left;
    }
    #cp-review .cp_flow ol li dl dd .caution {
        font-size: calc(20 * 100vw / 750);
        margin: calc(20 * 100vw / 750) 0 0;
    }
}

/*--------------------------------------
お問い合わせ
--------------------------------------*/
.contact {
    text-align: center;
    padding: min(calc(160* 100vw / 1000), 160px) 0;
}
.contact_dl_dt {
    font-size: min(calc(30* 100vw / 1000), 30px);
    font-weight: 500;
}
.contact_dl_dd {
    font-size: min(calc(18* 100vw / 1000), 18px);
    font-weight: 500;
    line-height: 2;
    margin-top: min(calc(32* 100vw / 1000), 32px);
}
.u-caution {
    color: #9C0000;
    font-weight: 600 !important;
}
.contact_dl_dd + .contact_dl_dd {
    margin-top: min(calc(48* 100vw / 1000), 48px);
}
@media screen and (max-width: 750px) {
    .caution_list_li {
        font-size: calc(32 * 100vw / 750);
    }
    .contact_dl_dt {
        font-size: calc(50 * 100vw / 750);
        margin-top: calc(160 * 100vw / 750);
    }
    .contact_dl_dd {
        font-size: calc(32 * 100vw / 750);
        line-height: 2;
        margin-top: calc(40 * 100vw / 750);
        text-align: left;
    }
    .contact_dl_dd + .contact_dl_dd {
        margin-top: calc(80 * 100vw / 750);
    }
}

@media screen and (min-width: 751px) {
    #cp_float {
        display: none !important;
    }
}
@media screen and (max-width: 750px) {
    #cp_float {
        background: #FFF;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 30;
        transform: translateY(100%); /* 初期状態では非表示 */
        transition: transform 0.3s ease;
    }
    #cp_float.show {
        transform: translateY(0); /* 表示状態 */
    }
    #cp_float.hide {
        transform: translateY(100%); /* 非表示状態 */
    }
    #cp_float ul {
        display: flex;
        justify-content: space-between;
        align-items: bottom;
        margin: auto;
        width: 100%;
    }
    #cp_float ul li {
        width: 33.3%;
    }
    #cp_float ul li a {
        display: block;
        width: 100%;
    }
    #cp_float ul li a:hover {
        opacity: 1;
    }
}