@charset "utf-8";

#primary { padding: 0; }
#main {min-height:0;}
#main .breadcrumb {display:none;}

#rp-2024 * {
    margin:0;
    padding:0;
    line-height:1;
}
#rp-2024 {
    width:100%;
    background:#000;
}
#rp-2024 section {
    max-width:750px;
    margin:0 auto;
    background:#FFF;
    color:#000;
}
#rp-2024 picture,
#rp-2024 img {
    display:block;
}
#rp-2024 li {
    list-style:none;
}
#rp-2024 .txt-en {
    font-size:120%;
    line-height:1;
}
#rp-2024 .txt-en.kakko {
    font-size:110%;
    vertical-align: -1%;
}
#rp-2024 .txt-link {
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:6px;
}
@media screen and (max-width:750px) {
    #rp-2024 .txt-link {
        text-underline-offset:0.8vw;
    }
}
#rp-2024 .yugo {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-feature-settings: "palt";
}
#rp-2024 .section-title {
    max-width: 750px;
    margin: 0 auto;
    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;
    font-size: 44px;
    text-align: center;
    line-height: calc(53 / 44);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-title {
        font-size: calc((44 / 750) * 100vw);
    }
}
#rp-2024 .section-sub-title {
    position: relative;
    margin-bottom: 24px;
    padding-left: 36px;
    font-size: 32px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    line-height: calc(49 / 32);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-sub-title {
        margin-bottom: calc((24 / 750) * 100vw);
        padding-left: calc((36 / 750) * 100vw);
        font-size: calc((32 / 750) * 100vw);
    }
}
#rp-2024 .section-sub-title:before {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background: #000;
    content: "";
}
@media screen and (max-width:750px) {
    #rp-2024 .section-sub-title:before {
        width: calc((26 / 750) * 100vw);
        height: calc((26 / 750) * 100vw);
    }
}

/* Section head ----------------------------------------------------*/
#rp-2024 .section-head *,
#rp-2024 .section-footer * {
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
}
#rp-2024 .section-head {
    background:#000;
    color:#FFF;
    text-align:center;
}
#rp-2024 .section-head h1 {
    margin-top: 64px;
    font-size: 34px;
    line-height: calc(46 / 34);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 {
        margin-top:calc((64 / 750) * 100vw);
        font-size: calc((34 / 750) * 100vw);
    }
}
#rp-2024 .section-head h1 + p {
    margin-top: 17px;
    margin-bottom: 71px;
    font-size: 64px;
    line-height: calc(91 / 64);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 + p {
        margin-top: calc((17 / 750) * 100vw);
        margin-bottom: calc((71 / 750) * 100vw);
        font-size: calc((64 / 750) * 100vw);
    }
}
#rp-2024 .section-head h1 + p .txt-en {
    margin-left: 10px;
    margin-right: 13px;
    font-size: 120px;
    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;
	letter-spacing: -0.07em;
    vertical-align: -0.03em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 + p .txt-en {
        margin-left: calc((10 / 750) * 100vw);
        margin-right: calc((21 / 750) * 100vw);
        font-size: calc((120 / 750) * 100vw);
    }
}
#rp-2024 .section-head .annotation{
	font-size: 22px;
    line-height: 2.091;
    margin: auto;
    margin-bottom: 63px;
	letter-spacing: 0.05em;
}
#rp-2024 .section-head .annotation::before {
	content:'*';
    margin-left: 8px;
    line-height: 1.538;
	white-space: nowrap;
}
@media screen and (max-width:750px) {
	#rp-2024 .section-head .annotation{
		font-size: 2.933vw;
		margin-bottom: 8.4vw;
	}
	#rp-2024 .section-head .annotation::before {
		margin-left: 1.0666vw;
	}
}
#rp-2024 .section-head a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 430px;
    height: 102px;
    margin: 0 auto;
    margin-bottom: 20px;
    padding-right: 58px;
    box-sizing: border-box;
    border: 1px solid #FFF;
    background: #000;
    color: #FFF;
    font-size: 26px;
    line-height: calc(32 / 26);
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a {
        width: calc((430 / 750) * 100vw);
        height: calc((102 / 750) * 100vw);
        margin-bottom: calc((20 / 750) * 100vw);
        padding-right: calc((58 / 750) * 100vw);
        font-size: calc((26 / 750) * 100vw);
    }
}
#rp-2024 .section-head a:last-of-type {
    margin-bottom: 78px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a:last-of-type {
        margin-bottom: calc((78 / 750) * 100vw);
    }
}
#rp-2024 .section-head a span {
    display: block;
}
#rp-2024 .section-head a::before {
    position:absolute;
    top:50%;
    right:34px;
    width: 18px;
    height: 18px;
    margin-top:-12px;
    border-top: solid 2px #FFF;
    border-right: solid 2px #FFF;
    transform: rotate(135deg);
    content: "";
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a::before {
        right:4.533vw;
        width: 2.4vw;
        height: 2.4vw;
        margin-top:-1.6vw;
    }
}
@media screen and (min-width:751px) {
    #rp-2024 .section-head a:hover {
        background:#FFF;
        color:#000;
    }
    #rp-2024 .section-head a:hover::before {
        border-top: solid 2px #000;
        border-right: solid 2px #000;
    }
}

/* Section campaign -------------------------------------------------------*/
#rp-2024 .section-campaign {
    padding: 128px 44px 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign {
        padding: calc((128 / 750) * 100vw) calc((44 / 750) * 100vw) 0;
    }
}
#rp-2024 .section-campaign p,
#rp-2024 .section-campaign li {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-feature-settings: "palt";
    font-size: 30px;
    line-height: calc(46 / 30);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign p,
    #rp-2024 .section-campaign li {
        font-size: calc((30 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .ol {
    padding-left:min(calc((30 / 750) * 100vw), 30px);
    text-indent:max(calc((-30 / 750) * 100vw), -30px);
}
#rp-2024 .section-campaign .ol.mb {
    margin-bottom:46px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .ol.mb {
        margin-bottom:6.133vw;
    }
}
#rp-2024 .section-campaign .cpn-period {
    padding-top: 37px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-period {
        padding-top: calc((37 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-benefits {
    padding-top: 68px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-benefits {
        padding-top: calc((68 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point {
    padding-top: 62px;
    padding-bottom: 80px;
    text-align: center;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point {
        padding-top: calc((62 / 750) *100vw);
        padding-bottom: calc((80 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point h4 {
    margin-bottom: 54px;
    font-family: "HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    font-size: 34px;
    line-height: calc(46 / 34);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point h4 {
        margin-bottom: calc((54 / 750) * 100vw);
        font-size: calc((34 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexboxx {
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    margin-bottom:20px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexboxx {
        margin-bottom:2.666vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexboxx p {
    padding: 4px 0;
    color: #FFF;
    font-size: 20px;
    text-align: center;
    line-height: calc(30 / 20);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexboxx p {
        padding: calc((4 / 750) * 100vw) 0;
        font-size: calc((20 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexboxx .online {
    width:418px;
    background:#000;
    letter-spacing: 0.1em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexboxx .online {
        width:55.733vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexboxx .pay {
    width:175px;
    background:#434343;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexboxx .pay {
        width:23.333vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox {
    display:flex;
    flex-wrap:nowrap;
    justify-content: center;
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox {
    width:175px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox {
        width:23.333vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 159px;
    font-size: 26px;
    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: calc(30 / 26);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div {
        height: calc((159 / 750) * 100vw);
        font-size: calc((26 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div {
    margin-top: 9px;
    font-size: 40px;
    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;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div {
        margin-top: calc((9 / 750) * 100vw);
        font-size: calc((40 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div span {
    font-size: 53px;
    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;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div span {
        font-size: calc((53 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div .helvetica-roman span,
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div .helvetica-roman em {
    font-family:"Helvetica Neue LT W01_55 Roman", "Helvetica Neue LT W05 55 Roman", sans-serif !important;
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div sup {
    top: -32%;
    left: -5%;
    font-size: min(calc((35 / 750) * 100vw), 35px);
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    letter-spacing: min(calc((-8 / 750) * 100vw), -8px);
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .bg-e5e5e7 {
    background:#e5e5e7;
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .bg-e5e5e7 .txt-shadow {
    text-shadow: .2px .2px 0 #000, -.2px .2px 0 #000, .2px -.2px 0 #000, -.2px -.2px 0 #000;
/*    text-shadow: 0px 0px 1px rgba(0, 0, 0, 1);*/
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .border {
    border:1px solid #000;
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .outbox-text {
    display:block;
    margin-top: 5px;
    font-size: 22px;
    line-height: calc(30 / 22);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .outbox-text {
        margin-top: calc((5 / 750) * 100vw);
        font-size: calc((22 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .symbol {
    width:69px;
    padding-top:40px;
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
    font-size:70px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .symbol {
        width:9.2vw;
        padding-top:5.333vw;
        font-size:9.333vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .down-arrow {
    position:relative;
    width:100%;
    height:1px;
    margin-left:-45px;
    transform:rotate(-45deg);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .down-arrow {
        margin-left:-6vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .down-arrow::after {
    position:absolute;
    top:0;
    left:50%;
    width: 67px;
    height: 67px;
    border-left: solid 1px #000;
    border-bottom: solid 1px #000;
    transform: skew(7deg, 7deg);
    content: "";
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .down-arrow::after {
        width: 8.933vw;
        height: 8.933vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .arrow-top {
    margin-top:12px;
    margin-bottom:23px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .arrow-top {
        margin-top:1.6vw;
        margin-bottom:3.066vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .arrow-bottom {
    margin-bottom: 66px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .arrow-bottom {
        margin-bottom: calc((66 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant,
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant span {
    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;
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #000;
    font-size: 32px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant {
        margin-bottom: calc((24 / 750) *100vw);
        padding-bottom: calc((24 / 750) * 100vw);
        font-size: calc((32 / 750) * 100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span1 {
    font-size:44px;
    line-height: calc(53 / 44);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span1 {
        font-size: calc((44 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span2 {
    display:inline-block;
    margin-inline: 8px;
    vertical-align: -5%;
    font-family: "Helvetica Neue LT W01_55 Roman", "Helvetica Neue LT W05 55 Roman", sans-serif !important;
    font-size: 78px;
    line-height: calc(60 / 78);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span2 {
        margin-inline: calc((8 / 750) *100vw);
        font-size: calc((78 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span3 {
    vertical-align: -5%;
    font-family: "Helvetica Neue LT W01_55 Roman", "Helvetica Neue LT W05 55 Roman", sans-serif !important;
    font-size: 62px;
    line-height: calc(50 / 62);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span3 {
        font-size: calc((62 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .sup-note {
    margin-bottom: min(calc((69 / 750)* 100vw), 69px);
}
#rp-2024 .section-campaign .cpn-rakuten-point .sup-note li {
    position: relative;
    padding-left: min(calc((23 / 750) * 100vw), 23px);
    font-size: min(calc((23 / 750) * 100vw), 23px);
    line-height: calc(33 / 23);
    text-align: left;
    text-indent: 0;
}
#rp-2024 .section-campaign .cpn-rakuten-point .sup-note li::before {
    position: absolute;
    left: 0;
    content: "＊" !important;
}
#rp-2024 .section-campaign .cpn-rakuten-point a {
    display: block;
    width: 460px;
    margin: 0 auto;
    padding: 18px 0;
    box-sizing: border-box;
    border: 1px solid #000;
    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;
    font-size: 26px;
    line-height: calc(34 / 26);
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point a {
        width: calc((460 / 750) *100vw);
        padding: calc((18 / 750) *100vw) 0;
        font-size: calc((26 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point a span {
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif !important;
}
@media screen and (min-width:751px) {
    #rp-2024 .section-campaign .cpn-rakuten-point a:hover {
        background:#000;
        color:#FFF;
    }
}
#rp-2024 .section-campaign li {
    padding-left: 30px;
    text-indent: -30px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign li {
        padding-left: calc((30 / 750) *100vw);
        text-indent: calc((-30 / 750) *100vw);
    }
}
#rp-2024 .section-campaign li:not(:last-child) {
    margin-bottom:5px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign li:not(:last-child) {
        margin-bottom:0.667vw;
    }
}
#rp-2024 .section-campaign li:before {
    content:"※";
}
#rp-2024 .section-campaign li a {
    text-decoration-thickness:1px;
    text-underline-offset:5px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign li a {
        text-underline-offset:0.666vw;
    }
}
#rp-2024 .section-campaign .ltd-list {
    margin: 38px 0 120px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .ltd-list {
        margin: calc((38 / 750) *100vw) 0 calc((120 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .notes-list {
    margin-bottom: 36px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .notes-list {
        margin-bottom: calc((36 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .notes-list + p {
    margin-left: 15px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .notes-list + p {
        margin-left: calc((15 / 750) *100vw);
    }
}
#rp-2024 .section-campaign .notes-list + p a {
    text-decoration-thickness:1px;
    text-underline-offset:5px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .notes-list + p a {
        text-underline-offset:0.666vw;
    }
}


/* Section point ----------------------------------------------------*/
#rp-2024 .section-point {
    padding: 180px 44px 126px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point {
        padding: calc((180 / 750) *100vw) calc((44 / 750) *100vw) calc((126 / 750) *100vw);
    }
}
#rp-2024 .section-point p,
#rp-2024 .section-point li {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-feature-settings: "palt";
    font-size: 30px;
    line-height: calc(46 / 30);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point p,
    #rp-2024 .section-point li {
        font-size: calc((30 / 750) *100vw);
    }
}
#rp-2024 .section-point .point-grant {
    margin: 42px 0 74px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-grant {
        margin: calc((42 / 750) *100vw) 0 calc((74 / 750) *100vw);
    }
}
#rp-2024 .section-point .point-alignment .step2 {
    margin: 44px 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-alignment .step2 {
        margin: calc((44 / 750) *100vw) 0;
    }
}
#rp-2024 .section-point .point-alignment ul {
    margin: 51px 0 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-alignment ul {
        margin: calc((51 / 750) *100vw) 0 0;
    }
}
#rp-2024 .section-point li {
    padding-left: 30px;
    text-indent: -30px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point li {
        padding-left: calc((30 / 750) *100vw);
        text-indent: calc((-30 / 750) *100vw);
    }
}
#rp-2024 .section-point li:not(:last-child) {
    margin-bottom:5px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point li:not(:last-child) {
        margin-bottom:0.667vw;
    }
}
#rp-2024 .section-point li:before {
    content:"※";
}
#rp-2024 .section-point li a {
    text-decoration-thickness:1px;
    text-underline-offset:5px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point li a {
        text-underline-offset:0.666vw;
    }
}

/* Section recommendation ---------------------------------------*/
#rp-2024 .section-recommendation * {
    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;
}
#rp-2024 .section-recommendation {
    padding-top: 64px;
    padding-bottom: 200px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation {
        padding-top: calc((64 / 750) *100vw);
        padding-bottom: calc((200 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .recommend-wrap {
    margin-top: 64px;
    margin-bottom: 68px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-wrap {
        margin-top: calc((67 / 750) *100vw);
        margin-bottom: calc((68 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .recommend-wrap .slick-list {
    display:grid;
}
#rp-2024 .section-recommendation .recommend-item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding:0 24px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-item {
        padding:0 3.2vw;
    }
}
#rp-2024 .section-recommendation .recommend-item .recommend-top {
    padding-bottom: 31px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-item .recommend-top {
        padding-bottom: calc((31 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .item-name {
    margin: 17px 0 8px;
    font-size: 28px;
    line-height: calc(36 / 28);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .item-name {
        margin: calc((17 / 750) *100vw) 0 calc((8 / 750) *100vw);
        font-size: calc((28 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .item-discription {
    font-size: 22px;
    line-height: calc(30 / 22);
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .item-discription {
        font-size: calc((22 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .recommend-bottom a {
    display: block;
    width: 100%;
    padding: 22px 0;
    border: 1px solid #000;
    font-size: 20px;
    text-align: center;
    line-height: calc(26 / 20);
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-bottom a {
        padding: calc((22 / 750) *100vw) 0;
        font-size: calc((20 / 750) *100vw) ;
    }
}
@media screen and (min-width:751px) {
    #rp-2024 .section-recommendation .recommend-bottom a:hover {
        background:#000;
        color:#FFF;
    }
}
#rp-2024 .section-recommendation .slick-dots {
    margin-top: 50px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .slick-dots {
        margin-top: calc((50 / 750) *100vw);
    }
}
#rp-2024 .section-recommendation .slick-dots li,
#rp-2024 .section-recommendation .slick-dots li button,
#rp-2024 .section-recommendation .slick-dots li button::before {
    width:14px;
    height:14px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .slick-dots li,
    #rp-2024 .section-recommendation .slick-dots li button,
    #rp-2024 .section-recommendation .slick-dots li button::before {
        width:1.866vw;
        height:1.866vw;
    }
}
#rp-2024 .section-recommendation .slick-dots li {margin:0 9px;}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .slick-dots li {margin:0 1.2vw;}
}
#rp-2024 .section-recommendation .recommend-ohter-btn {
    display: block;
    width: 460px;
    margin: 0 auto;
    padding: 20px 0;
    border: 1px solid #000;
    font-size: 26px;
    text-align: center;
    line-height: calc(32 / 26);
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-ohter-btn {
        width: calc((460 / 750) *100vw);
        padding: calc((20 / 750) *100vw) 0;
        font-size: calc((26 / 750) *100vw);
    }
}
@media screen and (min-width:751px) {
    #rp-2024 .section-recommendation .recommend-ohter-btn:hover {
        background:#000;
        color:#FFF;
    }
}
