@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:118%;
    line-height:1;
    vertical-align: -3%;
}
#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:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    font-size:44px;
    text-align:center;
    letter-spacing:0.02em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-title {
        padding-top:8.933vw;
        font-size:5.867vw;
    }
}
#rp-2024 .section-sub-title {
    position:relative;
    margin-bottom:31px;
    padding-left:36px;
    font-size:32px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-sub-title {
        margin-bottom:4.133vw;
        padding-left:4.8vw;
        font-size:4.267vw;
    }
}
#rp-2024 .section-sub-title:before {
    display:block;
    position:absolute;
    top:2px;
    left:0;
    width:26px;
    height:26px;
    background:#000;
    content:"";
}
@media screen and (max-width:750px) {
    #rp-2024 .section-sub-title:before {
        top:0.267vw;
        width:3.467vw;
        height:3.467vw;
    }
}

/* Section head ----------------------------------------------------*/
#rp-2024 .section-head *,
#rp-2024 .section-footer * {
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
}
#rp-2024 .section-head {
    background:#000;
    color:#FFF;
    text-align:center;
}
#rp-2024 .section-head h1 {
    margin-top:67px;
    font-size:34px;
    line-height:1.35;
    letter-spacing:0.05em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 {
        margin-top:calc((67 / 750) * 100vw);
        font-size:4.533vw;
    }
}
#rp-2024 .section-head h1 + p {
    margin-top:14px;
    margin-bottom:71px;
    font-size:65px;
	letter-spacing: 0.02em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 + p {
        margin-top:calc((14 / 750) * 100vw);
        margin-bottom:calc((71 / 750) * 100vw);
        font-size:8.666vw;
    }
}
#rp-2024 .section-head h1 + p .txt-en {
    margin-left:8px;
    margin-right:21px;
    font-size:120px;
	letter-spacing: -0.07em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head h1 + p .txt-en {
        margin-left:calc((8 / 750) * 100vw);
        margin-right:calc((21 / 750) * 100vw);
        font-size:16vw;
    }
}
#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:block;
    /*display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    align-items: center;
    gap:0 22px;*/
    width:420px;
    height:102px;
    margin:0 auto;
    box-sizing: border-box;
    border:1px solid #FFF;
    background:#000;
    color:#FFF;
    font-size:26px;
    line-height:1.307;
    letter-spacing: 0.05em;
    text-align:left;
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a {
        gap:0 2.933vw;
        width:56vw;
        height:13.6vw;
        font-size:3.466vw;
    }
}
#rp-2024 .section-head a[href="#acpn"] {
    padding-top:35px;
    padding-left:52px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a[href="#acpn"] {
        padding-top:4.666vw;
        padding-left:6.933vw;
    }
}
#rp-2024 .section-head a[href="#apoint"] {
    margin:22px auto;
    padding-top:18px;
    padding-left:26px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a[href="#apoint"] {
        margin:2.933vw auto;
        padding-top:2.4vw;
        padding-left:3.466vw;
    }
}
#rp-2024 .section-head a[href="#apoint"] .txt-online {
    margin-left:14px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a[href="#apoint"] .txt-online {
        margin-left:1.866vw;
    }
}
#rp-2024 .section-head a[href="#apoint"] .txt-detail {
    display:block;
    margin-top:3px;
    padding-left:104px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a[href="#apoint"] .txt-detail {
        margin-top:0.4vw;
        padding-left:13.866vw;
    }
}
#rp-2024 .section-head a[href="#aitem"] {
    height:auto;
    margin-bottom:77px;
    padding:33px 0 33px 115px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a[href="#aitem"] {
        margin-bottom:10.266vw;
        padding:calc((33 / 750) * 100vw) 0 calc((33 / 750) * 100vw) calc((115 / 750) * 100vw);
    }
}
#rp-2024 .section-head a[href="#aitem"] span {
    display:block;
    line-height:1;
}

#rp-2024 .section-head a::after {
    width:1px;
    height:1px;
    content:"";
}
@media screen and (max-width:750px) {
    #rp-2024 .section-head a::after {
        width:0.133vw;
        height:0.133vw;
    }
}
#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:67px 44px 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign {
        padding:8.933vw 5.866vw 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:1.533;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign p,
    #rp-2024 .section-campaign li {
        font-size:4vw;
    }
}
#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:50px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-period {
        padding-top:6.667vw;
    }
}
#rp-2024 .section-campaign .cpn-benefits {
    padding-top:78px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-benefits {
        padding-top:10.4vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point {
    padding-top:62px;
    padding-bottom:88px;
    text-align:center;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point {
        padding-top:8.266vw;
        padding-bottom:11.733vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point h4 {
    margin-bottom:53px;
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    font-size:34px;
    line-height:1.353;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point h4 {
        margin-bottom:7.066vw;
        font-size:4.533vw;
    }
}
#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:3px 0 5px;
    color:#FFF;
    font-size:20px;
    text-align:center;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexboxx p {
        padding:0.4vw 0 0.666vw;
        font-size:2.666vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexboxx .online {
    width:418px;
    background:#000;
}
@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-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    font-size:26px;
    line-height:1.154;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div {
        height:21.2vw;
        font-size:3.466vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div {
    margin-top:10px;
    font-size:40px;
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", "RodinCattleyaPro-L{pm}", sans-serif !important;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div {
        margin-top:1.333vw;
        font-size:5.333vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div span {
    font-size:53px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox > div div span {
        font-size:7.066vw;
    }
}
#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 {
    font-family:"RodinCattleyaPro-L{pm}", sans-serif !important;
    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);*/
}
#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:6px;
    font-size:22px;
    line-height:1.363;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .flexbox .outbox .outbox-text {
        margin-top:0.8vw;
        font-size:2.933vw;
    }
}
#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", "RodinCattleyaPro-L{pm}", 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:56px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .arrow-bottom {
        margin-bottom:7.466vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant,
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant span {
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    line-height:1;
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant {
    margin-bottom: min(calc((24 / 750) *100vw), 24px);
    padding-bottom:19px;
    border-bottom:1px solid #000;
    font-size:32px;
    letter-spacing: 0.08em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant {
        padding-bottom:2.533vw;
        font-size:4.266vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span1 {
    font-size:44px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span1 {
        font-size:5.866vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span2 {
    display:inline-block;
    margin-left:4px;
    margin-right:13px;
    vertical-align: -5%;
/*    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", sans-serif !important;*/
    font-family:"Helvetica Neue LT W01_55 Roman", "Helvetica Neue LT W05 55 Roman", sans-serif !important;
    font-size:78px;
    letter-spacing: -0.02em;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span2 {
        margin-left:0.533vw;
        margin-right:1.733vw;
        font-size:10.4vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span3 {
    vertical-align: -5%;
/*    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", sans-serif !important;*/
    font-family:"Helvetica Neue LT W01_55 Roman", "Helvetica Neue LT W05 55 Roman", sans-serif !important;
    font-size:62px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point .text-grant .span3 {
        font-size:8.266vw;
    }
}
#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:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    font-size:26px;
    line-height:1.3;
    text-decoration: none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .cpn-rakuten-point a {
        width:61.333vw;
        padding:2.4vw 0;
        font-size:3.466vw;
    }
}
#rp-2024 .section-campaign .cpn-rakuten-point a span {
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", 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:33px;
    text-indent:-32px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign li {
        padding-left:4.4vw;
        text-indent:-4.267vw;
    }
}
#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;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign li a {
        text-underline-offset:0.666vw;
    }
}
#rp-2024 .section-campaign .ltd-list {
    margin:39px 0 131px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .ltd-list {
        margin:5.2vw 0 17.466vw;
    }
}
#rp-2024 .section-campaign .notes-list {
    margin-bottom:34px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .notes-list {
        margin-bottom:4.533vw;
    }
}
#rp-2024 .section-campaign .notes-list + p {
    margin-left:20px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-campaign .notes-list + p {
        margin-left:2.666vw;
    }
}
#rp-2024 .section-campaign .notes-list + p a {
    text-decoration-thickness:1px;
    text-underline-offset:5px;
}
@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:119px 44px 63px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point {
        padding:15.866vw 5.866vw 8.4vw;
    }
}
#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:1.533;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point p,
    #rp-2024 .section-point li {
        font-size:4vw;
    }
}
#rp-2024 .section-point .point-grant {
    margin:59px 0 83px;;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-grant {
        margin:7.466vw 0 11.066vw;
    }
}
#rp-2024 .section-point .point-alignment .step2 {
    margin:47px 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-alignment .step2 {
        margin:6.266vw 0;
    }
}
#rp-2024 .section-point .point-alignment ul {
    margin:48px 0 0;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point .point-alignment ul {
        margin:6.4vw 0 0;
    }
}
#rp-2024 .section-point li {
    padding-left:33px;
    text-indent:-32px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-point li {
        padding-left:4.4vw;
        text-indent:-4.267vw;
    }
}
#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;
}
@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:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
}
#rp-2024 .section-recommendation {
    padding-top:64px;
    padding-bottom:210px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation {
        padding-top:8.533vw;
        padding-bottom:28vw;
    }
}
#rp-2024 .section-recommendation .recommend-wrap {
    margin-top:66px;
    margin-bottom:67px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-wrap {
        margin-top:8.8vw;
        margin-bottom:8.933vw;
    }
}
#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:29px;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-item .recommend-top {
        padding-bottom:3.866vw;
    }
}
#rp-2024 .section-recommendation .item-name {
    margin:17px 0 8px;
    font-size:28px;
    line-height:1.25;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .item-name {
        margin:2.266vw 0 1.066vw;
        font-size:3.733vw;
    }
}
#rp-2024 .section-recommendation .item-discription {
    font-size:28px;
    line-height:1.15;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .item-discription {
        font-size:3.733vw;
    }
}
#rp-2024 .section-recommendation .recommend-bottom a {
    display:block;
    width:100%;
    padding:24px 0;
    border:1px solid #000;
    font-size:20px;
    text-align:center;
    text-decoration:none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-bottom a {
        padding:3.2vw 0;
        font-size:2.666vw;
    }
}
@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:39px;}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .slick-dots {margin-top:5.2vw;}
}
#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:23px 0;
    border:1px solid #000;
    font-size:26px;
    text-align:center;
    text-decoration:none;
    transition: background 0.3s;
}
@media screen and (max-width:750px) {
    #rp-2024 .section-recommendation .recommend-ohter-btn {
        width:61.333vw;
        padding:3.066vw 0;
        font-size:3.466vw;
    }
}
@media screen and (min-width:751px) {
    #rp-2024 .section-recommendation .recommend-ohter-btn:hover {
        background:#000;
        color:#FFF;
    }
}
