@charset "utf-8";

#primary { padding: 0; }
#main {min-height:0;}
#main .breadcrumb {display:none;}

#rpd-2023 * {
    margin:0;
    padding:0;
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    line-height:1;
}
#rpd-2023 {
    width:100%;
    background:#000;
}
#rpd-2023 section {
    max-width:750px;
    margin:0 auto;
}
#rpd-2023 picture,
#rpd-2023 img {
    display:block;
}
#rpd-2023 li {
    list-style:none;
}
#rpd-2023 .lp-button {
    display: block;
    width: 430px;
    margin: 0 auto;
    padding: 12px 0;
    box-sizing: border-box;
    font-size: 26px;
    text-align: center;
    line-height: calc(44 / 26);
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rpd-2023 .lp-button {
        width: calc((430 / 750) * 100vw);
        padding: calc((12 / 750) * 100vw) 0;
        font-size: calc((26 / 750) * 100vw);
    }
}
#rpd-2023 .lp-button.bg-white {
    border:1px solid #FFF;
    background:#FFF;
    color:#000;
}
#rpd-2023 .lp-button.bg-black {
    border:1px solid #000;
    background:#000;
    color:#FFF;
}
@media screen and (min-width:751px) {
    #rpd-2023 .lp-button.bg-white:hover {
        background:#000;
        color:#FFF;
    }
    #rpd-2023 .lp-button.bg-black:hover {
        background:#FFF;
        color:#000;
    }
}
#rpd-2023 .txt-en {
    font-size: 113%;
    line-height:1;
}
#rpd-2023 .txt-link {
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:6px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .txt-link {
        text-underline-offset:0.8vw;
    }
}

/* Section head ----------------------------------------------------*/
#rpd-2023 .section-head {
    padding-top:72px;
    background:#000;
    color:#FFF;
    text-align:center;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head {
        padding-top:9.6vw;
    }
}
#rpd-2023 .section-head h1 {
    font-size: 34px;
    line-height: calc(46 / 34);
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head h1 {
        font-size: calc((34 / 750) * 100vw);
    }
}
#rpd-2023 .section-head h1 + p {
    margin-top: 16px;
    margin-bottom: 29px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head h1 + p {
        margin-top:calc((16 / 750) * 100vw);
        margin-bottom: calc((29 / 750) * 100vw);
    }
}
#rpd-2023 .section-head .txt-small {
    display: inline-block;
    margin-right: 10px;
    font-size: 64px;
    letter-spacing: 0.04em;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head .txt-small {
        margin-right: calc((10 / 750) * 100vw);
        font-size: calc((64 / 750) * 100vw);
    }
}
#rpd-2023 .section-head .txt-large {
    font-size: 64px;
    letter-spacing: 0;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head .txt-large {
        font-size: calc((64 / 750) * 100vw);
    }
}
#rpd-2023 .section-head .txt-large .txt-en {
    margin-right: 13px;
    font-size: 120px;
    letter-spacing: -0.07em;
    vertical-align: -4%;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head .txt-large .txt-en {
        margin-right: calc((13 / 750) * 100vw);
        font-size: calc((120 / 750) * 100vw);
    }
}
#rpd-2023 .section-head .lp-button + p {
    margin-top: 40px;
    font-size: 28px;
    line-height: calc(40 / 28);
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head .lp-button + p {
        margin-top: calc((40 / 750) * 100vw);
        font-size: calc((28 / 750) * 100vw);
    }
}
#rpd-2023 .section-head img {
    width: 100%;
    margin-top: 76px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-head img {
        margin-top: calc((76 / 750) * 100vw);
    }
}

#rpd-2023 h2 {
    max-width: 750px;
    margin: 0 auto;
    padding-top: 128px;
    background: #FFF;
    color: #000;
    font-size: 44px;
    text-align: center;
    line-height: calc(53 / 44);
}
@media screen and (max-width:750px) {
    #rpd-2023 h2 {
        padding-top: calc((128 / 750) * 100vw);
        font-size: calc((44 / 750) * 100vw);
    }
}

/* Section contents --------------------------------------------------------*/
/*▼共通*/
#rpd-2023 .section-contents * {
    font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-feature-settings:"palt";
}
#rpd-2023 .section-contents {
    padding:0 44px;
    background:#FFF;
    color:#000;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents {
        padding:0 5.867vw;
    }
}
#rpd-2023 .section-contents h3 {
    position: relative;
    margin-bottom: 24px;
    padding-left: 36px;
    font-size: 32px;
    line-height: calc(49 / 32);
    font-feature-settings: normal;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents h3 {
        margin-bottom: calc((24 / 750) * 100vw);
        padding-left: calc((36 / 750) * 100vw);
        font-size: calc((32 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents h3:before {
    display: block;
    position: absolute;
    top: 9px;
    left: 0;
    width: 26px;
    height: 26px;
    background: #000;
    content: "";
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents h3:before {
        top: calc((9 / 750) * 100vw);
        width: calc((26 / 750) * 100vw);
        height: calc((26 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents p,
#rpd-2023 .section-contents .cpn-list li {
    font-size: 30px;
    line-height: calc(46 / 30);
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents p,
    #rpd-2023 .section-contents .cpn-list li {
        font-size: calc((30 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-list li {
    padding-left:33px;
    text-indent:-32px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-list li {
        padding-left:4.4vw;
        text-indent:-4.267vw;
    }
}
#rpd-2023 .section-contents .cpn-list li:not(:last-child) {
    margin-bottom:5px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-list li:not(:last-child) {
        margin-bottom:0.667vw;
    }
}
#rpd-2023 .section-contents .cpn-list li:before {
    content:"※";
}

/*▲共通*/

#rpd-2023 .section-contents .cpn-period {
    padding-top: 37px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-period {
        padding-top: calc((37 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-entry {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-entry {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-entry h3:after {
    display: block;
    position: absolute;
    top: 5px;
    left: 226px;
    width: 80px;
    padding: 4px 0;
    background: #e6001e;
    color: #FFF;
    font-size: 24px;
    text-align: center;
    line-height: calc(32 / 24);
    content: "必要";
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-entry h3:after {
        top: calc((5 / 750) * 100vw);
        left: calc((226 / 750) * 100vw);
        width: calc((80 / 750) * 100vw);
        padding:calc((4 / 750) * 100vw) 0;
        font-size: calc((24 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-entry .cpn-list li {
    font-feature-settings: 'halt';
}
#rpd-2023 .section-contents .cpn-benefits {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-benefits {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-benefits-ex {
    width: 664px;
    margin: 40px auto;
    padding: 50px 44px 34px;
    background: #e5e5e7;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-benefits-ex {
        width: calc((664 / 750) * 100vw);
        margin: calc((40 / 750) * 100vw) auto;
        padding: calc((50 / 750) * 100vw) calc((44 / 750) * 100vw) calc((34 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-benefits-ex h4 {
    margin-bottom: 13px;
    font-size: 30px;
    text-align: center;
    line-height: calc(46 / 30);
    font-feature-settings: normal;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-benefits-ex h4 {
        margin-bottom: calc((13 / 750) * 100vw);
        font-size: calc((30 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-benefits-ex li {
    margin-left: 30px;
    padding-bottom:10px;
    font-size: 30px;
    line-height: calc(46 / 30);
    text-indent:-30px;
    font-feature-settings: 'halt';
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-benefits-ex li {
        margin-left: calc((30 / 750) * 100vw);
        padding-bottom: calc((10 / 750) * 100vw);
        font-size: calc((30 / 750) * 100vw);
        text-indent: calc((-30 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-benefits-ex li:last-child {
    padding-bottom: 0;
}
#rpd-2023 .section-contents .cpn-present {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-present {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-present .cpn-list {
    padding-top: 16px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-present .cpn-list {
        padding-top: calc((16 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-use {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-use {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-limit {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-limit {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-website {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-website {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-website h3 + a {
    display:inline-block;
    margin-block: 6px 63px;
    font-size: 30px;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 12px;
    font-feature-settings: normal;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-website h3 + a {
        margin-block: calc((6 / 750) * 100vw) calc((63 / 750) * 100vw);
        font-size: calc((30 / 750) * 100vw);
        text-underline-offset: calc((12 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-point {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-point {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-point h3 + p {
    margin-bottom:35px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-point h3 + p {
        margin-bottom:4.667vw;
    }
}
#rpd-2023 .section-contents .cpn-point h3:after {
    display: block;
    position: absolute;
    top: 5px;
    left: 194px;
    width: 227px;
    padding: 2px 0;
    border: 2px solid #000;
    font-size: 24px;
    line-height: calc(32 / 24);
    text-align: center;
    content: "期間限定ポイント";
    
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-point h3:after {
        top: calc((5 / 750) * 100vw);
        left: calc((194 / 750) * 100vw);
        width: calc((227 / 750) * 100vw);
        padding: calc((2 / 750) * 100vw) 0;
        border: calc((2 / 750) * 100vw) solid #000;
        font-size: calc((24 / 750) * 100vw);
    }
}
#rpd-2023 .section-contents .cpn-remarks {
    padding-top:86px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-remarks {
        padding-top:11.467vw;
    }
}
#rpd-2023 .section-contents .cpn-remarks h3 + p {
    margin-bottom:42px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-remarks h3 + p {
        margin-bottom:5.6vw;
    }
}
#rpd-2023 .section-contents .cpn-sponsor {
    padding-top: 80px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-contents .cpn-sponsor {
        padding-top: calc((80 / 750) * 100vw);
    }
}
#rpd-2023 .section-footer {
    padding-top: 57px;
    padding-bottom: 120px;
    background: #FFF;
    color: #000;
    text-align: center;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-footer {
        padding-top: calc((57 / 750) * 100vw);
        padding-bottom: calc((120 / 750) * 100vw);
    }
}
#rpd-2023 .section-footer a:nth-of-type(1) {
    margin-bottom: 20px;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-footer a:nth-of-type(1) {
        margin-bottom: calc((20 / 750) * 100vw);
    }
}
#rpd-2023 .section-footer a:nth-last-of-type(1) {
    padding: 12px 0;
}
@media screen and (max-width:750px) {
    #rpd-2023 .section-footer a:nth-last-of-type(1) {
        padding: calc((12 / 750) * 100vw) 0;
    }
}
#rpd-2023 .section-footer a .txt-en {
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
}












