@charset "UTF-8";
.sp{display:none !important;}
.ss-container{border-radius:15px;}
#topBnr{overflow:hidden; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);}
#topBnr h1 img{display: block; margin: 0 auto; width: 100%;}
.ss-center{font-family:'Noto Sans JP', sans-serif; max-width: none;}
.ss-center a { transition: all 0.25s ease;}
.ss-center a:hover { transition: all 0.25s ease; opacity: .8;}
.ss-contents{background:#ffffff;overflow: hidden;position: relative;}
.ss-container{border: none; padding: 0; max-width: 1280px; width: 100%; margin: 0 auto;}

.contents { max-width: 1280px; width: 80%; margin: 0 auto; padding: 64px 0; }
.contents h3 { font-size: 18px; }
.pinkBg { background: #FFF2F9; }
.ttlIcon { font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: 700; font-size: 32px; color: #FF008C; text-align: center; margin-bottom: 40px; }
.ttlIcon::before { content: ""; display: block; width: 40px; height: 40px; background: url(../images/icon_s.png) no-repeat 0 0/auto 40px; margin: 0 auto 8px; }
.noticeIcon::before { background-position: -53px 0; }
.pointList { display: flex; align-items: center; justify-content: center; column-gap: 24px; }
.pointList li { width: calc((100% - 48px) / 3); }
.pointList li img { width: 100%; aspect-ratio: 331 / 326; }
.campBoxLink { width: fit-content; margin: 0 auto; }
.campBoxLink a { display: block; border-radius: 4px; border: 1px solid #CCC; text-align: center; font-size: 14px; padding: 8px; color: #333; }
.campBoxLink a::after { content: url(https://img.travel.rakuten.co.jp/camp/mobile/202207/images/iconOpen.png); display: inline-block; margin-left: 8px; }
.campaignList { display: flex; justify-content: center; column-gap: 24px; margin: 24px auto; position: relative; padding-bottom: 50px; }
.campaignList li { width: 50%; box-sizing: border-box; background: #F5F5F5; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 24px; }
.campaignList li:first-of-type .campItem {width: 100%;box-sizing: border-box;}
.campaignList li .campItem { color: #333; line-height: 1.5; padding: 24px 0 24px 96px; }
.campaignList li .campItem h3 { font-size: 18px; color: #333; }
.campaignList li .campItem b { font-size: 14px; margin: 12px 0; font-weight: 600; display: block; }
.campaignList li .campItem a { color: #1D54A7; text-decoration: underline; cursor: pointer; }
.campaignList li .campItem small { font-size: 12px; }
.campaignList::before { content: ""; width: 48px; height: 48px; background: url(../images/plus.svg) no-repeat 0 0/auto 48px; position: absolute; top: 50%; right: 50%; transform: translate(50%, -50%); }
.campaignList::after { content: ""; width: 70px; height: 16px; background: url(../images/Polygon.svg) no-repeat 0 0/auto 16px; position: absolute; bottom: 0px; left: 50%; transform: translateX(-50%); }
.pinkFont { color: #FF008C; }
.greenFont { color: #00B900 !important; }
.greenFont span { color: #333; }
.withIcon { padding-left: 96px; position: relative; }
.withIcon::before { content: ""; position: absolute; display: block; top: 24px; left: 0; width: 80px; height: 80px; background: url(../images/icon_l.png) no-repeat 0 0/auto 80px; }
.qrCodeIcon::before { background-position: -160px 0; }
.hotelIcon::before { background-position: -80px 0; }
.pointIconL::before { background-position: -240px 0; }
.pointSection { border-radius: 8px; background: #FFFBDE; position: relative; padding: 24px 0; margin-bottom: 64px; }
.pointSection section { padding-left: 104px; width: fit-content; margin: 0 auto; min-height: 80px; display: flex; justify-content: center; flex-direction: column; }
.pointSection section small { font-size: 12px; margin-top: 12px; }
.pointSection .withIcon::before { top: 0; }
.bnrBox h3 { margin-bottom: 24px; text-align: center; }
.bnrBox a { display: block; width: fit-content; margin: 0 auto; }
.tableholder { position: relative; max-width: 998px; margin: 0 auto; overflow: auto;  z-index: 10; overflow: hidden; }
.detailholder table { background-color: #fff; border-left: 1px solid #b4b4b4; border-top: 1px solid #b4b4b4; font-size: 13px; line-height: 1.6; display: block; margin: 0 auto 0 auto; }
.detailholder table td { border-right: 1px solid #b4b4b4; padding: 8px; border-bottom: 1px solid #b4b4b4; }
.detailholder table tr:first-child { color: #fff; }
.detailholder table tr:first-child td { text-align: center !important; background-color: #333 !important; }
.detailholder table tr td:first-child { background-color: #e1e1e1; text-align: left; width: 200px; font-weight: 700; }

#cpDetail, #shopDetail { height: auto !important; }
.popUpplanCP, .popUpShops { font-family: "Noto Sans JP", sans-serif; z-index: 99999999; width: 1000px; left: calc(50% - 500px); position: fixed; top: 12%; }
.popUpplanCP .detailholder, .popUpShops .detailholder { max-height: 620px; overflow: auto; }
.popUpplanCP .closedetails, .popUpShops .closedetails { z-index: 10000; position: absolute; cursor: pointer; font-size: 0; height: 34px; width: 34px; top: 2px; right: 20px; background: #333 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAFVBMVEUAAAD///////////////////////9Iz20EAAAABnRSTlMAQF+foGCwwWJQAAAAg0lEQVR42u3VBQ6EQBTA0PH7H3njCzSkuP84vOISvtl34syVqeVxn1vCJlr7F/StYR+lW9AXLGVB7wU9C/Ms1LOglwJeC3gt4LWA1wJeC3gr4KVQz/vb8iyPwnwpUvD5QSEehXgU4lGoZ+GehXsW9Df+XkX5XvFjXLueRZ39Q/lm1/kBvUEF19SMEPsAAAAASUVORK5CYII=) 0 0 / 100% 100% no-repeat; }
.popUpShops .closedetails { background-color: #FF008C; right: 10px; }
.popUpplanCP #shopDetail, .popUpShops #shopDetail { height: auto; background: #fff; }
.popUpplanCP #shopDetail .detailholder, .popUpShops #shopDetail .detailholder { padding: 24px; max-height: 500px; }
.popUpplanCP #shopDetail h2, .popUpShops #shopDetail h2 { font-weight: 700; font-size: 20px; background: #FF008C; color: #fff; text-align: center; padding: 12px 0; }
.popUpplanCP #shopDetail a, .popUpShops #shopDetail a { width: 40%; display: block; font-size: 18px; color: #000; font-weight: 500; margin: 0 auto 16px; }
.popUpplanCP #shopDetail a:hover, .popUpShops #shopDetail a:hover { opacity: 0.8; }
#shopDetail a {text-decoration: underline;}
.pagetop{width: 80px; margin: 0 10px 10px 0;}
.pagetop a{height: 80px; background: #FF008C; border-radius: 100rem;}