html{ font-size: 16px; color: #000;}
#widewrapper{width: 100%; position: relative; clear: both; font-family: "RakutenSansJP_W";}
.ss-container{ margin: 40px 0 0; border-radius: 0 !important;}
a:hover { opacity: 0.8; text-decoration: none !important; }
.kv h1 img{ width: 100%;}

.navi{ position: fixed; right: 10px; bottom: 10px;}

nav{ margin: 0px auto 0;}
nav dl{ overflow: hidden; display: flex; justify-content: center; flex-wrap: wrap; }
.ttl{ font-size: 32px; font-weight: bold; line-height: 1.2; text-align: center; width: 100%;}
.ttl span{ font-size: 40px; color: #FF008E;}
.ttl span b{ font-size: 52px;}
.ttl span.yb{background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 0%, rgba(255, 255, 0, 0) 50%, rgba(2255, 255, 0, 1) 50%, rgba(255, 255, 0, 1) 80%, rgba(255, 255, 0, 0) 80%, rgba(2255, 255, 0, 0) 100%);}
nav dl dd{ width: 330px; padding-bottom: 20px; display: flex; flex-direction: column; margin: 0px 12px 0;}
nav dl dd a{ display: block; border: 2px solid #FF008E; position: relative;}
nav dl dd a::after{ content: ""; display: block; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 12px solid #FF008E; position: absolute; bottom: -12px; left: 50%; transform: translateX(-50%); }
.date{ font-size: 16px; font-weight: bold; text-align: center; background: #FF008E; color: #fff; display: flex; align-items: center;}
.date b{ font-size: 20px;}
.date span{ display: block; text-align: center; width: 100%;}
.date span.bk{ font-size: 14px; background: #000; padding: 4px; width: 60px;}
.photo img{ width: 100%;}
.name{ font-size: 18px; font-weight: bold; min-height: 60px; display: flex; justify-content: center; align-items: center; color: #000; text-align: center;}

.wn{ font-size: 12px; text-align: center; margin: 24px auto 0;}
.weekBox + .wn{ text-align: left; margin: 16px auto 0;}

.weekBox{ margin: 64px auto 0; background: rgba(255, 0, 142, 0.05);}
.weekBox h2{ font-size: 28px;}
.weekBox h2 b{ font-size: 36px;}
.weekBox h2 span.bk{ font-size: 32px; width: 240px;}
.weekBox h2 span.bk b{ font-size: 44px;}
.weekBox h3{ margin: 40px auto 0; text-align: center; font-size: 36px;}

/* coupon */
.couponBox{ margin: 32px 48px 0; padding-bottom: 40px; border-bottom: 1px solid #ccc;}
.cpttl{ text-align: center; font-size: 24px; font-weight: bold;}
.couponOneClick{ margin: 24px auto 0; box-shadow: none;}

.htl{ margin: 40px auto 0; display: flex; justify-content: center; padding-bottom: 40px;}
.htl .photo { width: 420px; text-align: center;}
.htl div{ width: 420px; margin-left: 24px;}
.htl .name{ font-size: 20px; font-weight: bold;}
.htl .pr{ font-size: 14px; margin-top: 8px; line-height: 1.6;}
.htl .btn{ margin: 16px auto 0;}
.htl .btn a{ display: block; padding: 16px 0; background: #000; color: #fff; text-align: center; border-radius: 50px; font-size: 18px; position: relative;}
.htl .btn a::after{ content: ""; display: block; border-bottom: 6px solid transparent; border-left: 10px solid #fff; border-top: 6px solid transparent; position: absolute; top: 50%; right: 15px; transform: translateY(-50%); }

.bnrBox{ margin: 80px auto 0; padding: 80px 0; background: #FFFEE7;}
.bnrBox ul{ display: flex; justify-content: center;  margin: 40px auto 0; padding-bottom: 40px;}
.bnrBox ul li{ margin: 40px 20px 0; text-align: center;}
.bnrBox ul li span{ display: table; margin: 0 auto; background: #FF008E; color: #fff; font-weight: bold; font-size: 42px; padding: 8px 16px 4px; border-radius: 0 0 15px 15px;}
.bnrBox .btn{ margin: 40px auto 0;width: 500px;}
.bnrBox .btn a{ display: block; padding: 24px 0 16px; background: #FF008E; color: #fff; font-weight: bold; text-align: center; font-size: 28px; position: relative;border-radius: 50px;}
/* .bnrBox .btn a::after{ content: ""; display: block; border-bottom: 10px solid transparent; border-left: 12px solid #fff; border-top: 10px solid transparent; position: absolute; top: 50%; right: 15px; transform: translateY(-50%); } */

.campBox{ margin: 80px auto 0; padding: 0 0 110px;}
.campBox .ttls{ font-size: 32px; text-align: center;}
.campBox ul{ display: flex; justify-content: center;}
.campBox ul li{ margin: 40px 12px 0;}
.coupon__box__holder { padding: 0;}
@media screen and (min-width: 721px){
.bnr_h3 { font-size: 32px; margin: auto ; text-align: center;}
.bnrTxt { font-size: 12px; text-align: center; margin: 25px auto 45px auto;}
.cpn_h3 { font-size: 22px; text-align: center; margin: auto auto 4px auto; color: #333;}
.coupon__box__holder { justify-content: center; width: auto;}
.couponOneClick { margin: 12px 20px 0 20px; width: 328px;}
.couponOneClick .cpttl { margin-bottom: 20px; font-size: 18px;}
.weekBox{ max-width: 1200px;}
.bnrBox ul{ width: 1200px;}
.weekBox + .wn{ width: 1040px;}
.top1 { height:267px ; width: 100%; background: #FF008E url(https://img.travel.rakuten.co.jp/select/mobile/202509/images/kv_pc1.png) center top no-repeat;}
.top3 { background: #FF008E url(https://img.travel.rakuten.co.jp/select/mobile/202503/images/kv_pc2.png) center bottom no-repeat; height: 80px;}
.top2 { height: 213px;  background-image: url(https://img.travel.rakuten.co.jp/select/mobile/202503/images/topBgImg.jpg); background-repeat: repeat-x;    background-size: cover;   background-position: left center;  animation: slideBackground1 30s linear infinite; }
.pg_h2 { text-align: center; margin: auto auto 40px auto; font-size: 32px;}
.conBox { margin: 60px auto auto auto; width: 1200px;}
.navBox .jdsTabNav { display: flex; justify-content: space-between; align-items: flex-end;}
.navBox .jdsTabNav>li { font-size: 26px; font-weight: bold; color: #fff; background: #000; border-radius: 12px 12px 0 0; width: 33%; text-align: center; padding: 15px 0 12px 0;}
.navBox .jdsTabNav>li:hover { cursor: pointer;}
.navBox .jdsTabNav>li.active { background: #FF008E; padding: 16px 0 12px 0; font-size: 20px;}
.navBox .jdsTabNav>li>b { font-size:26px ;}
.navBox .jdsTabNav>li>span { font-size:28px ; margin-right: 10px;}
.navBox .jdsTabNav>li>small { font-size: 18px;}
.navBox .jdsTabNav>li.active>b { font-size:32px ;}
.navBox .jdsTabNav>li.active>span { font-size:36px ; margin-right: 10px;}
.navBox .jdsTabNav>li.active>small { font-size: 22px;}
.priod { text-align: center; color: #fff; background: #FF008E; padding:20px 0 16px 0; font-size: 26px; margin-bottom: 30px;}
.priod small { font-size: 24px;}
.priod b { font-size: 36px;}
.date1 { background: #FFD9EE; text-align: center; padding: 16px 0 12px 0; font-size: 32px; color: #FF008E;}
.htl-btn { width: 820px; margin: auto; display: flex; justify-content: space-between;}
.htl-btn .btn { width: 48%; margin:0 ;}
.htl-btn .btn>span { display: block; text-align: center; margin: auto auto 12px auto; font-size: 18px;}
.price { color: #fff; background: #FF008E; text-align: center; font-size: 26px; padding:8px 0 4px 0; letter-spacing: 1px; font-weight: bold;}
.kv_txt { text-align: center; font-size: 14px; margin: 25px auto 0 auto;}
/*.bnrBox .ttl { font-size: 20px;}*/
.bnrBox .ttl span { font-size: 26px;}
.btn2 { margin: auto; text-align: center; margin-top: 30px;}
}
.name { background: #FFF2F9;}
.htl .name { background: none;}
@media screen and (max-width: 1320px) and (min-width: 721px){
.top1 { height:267px ; width: 100%; background: #FF008E url(https://img.travel.rakuten.co.jp/select/mobile/202509/images/kv_pc1.png) center top no-repeat; background-size: 1500px; height: 205px;}
}
@media screen and (max-width: 1280px) and (min-width: 721px){

.top3 { height: 70px; background-size: 1500px;}
}
@keyframes slideBackground1 {
    0% {
        background-position: left center; 
    }
    100% {
        background-position: -1920px center;
    }
}
@keyframes slideBackground2 {
    0% {
        background-position: left center; 
    }
    100% {
        background-position: -500px center;
    }
}
.wn, .htl .pr{ font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;}
@media screen and (max-width: 720px){
.cpn_h3 { font-size: 16px; text-align: center; margin: 24px auto 0 auto; color: #333;}
.bnr_h3 { font-size: 18px; margin: auto 16px; text-align: center;}
.bnrTxt { font-size: 12px; text-align: left; margin: 16px 16px 32px 16px;}
.btn2 { width: 90%; margin: 20px auto 0 auto;}
.btn2 img { width: 100%;}
.kv_txt { text-align: left; font-size: 13px; margin: 12px 16px 0 16px; line-height: 1.5;}
.price { color: #fff; background: #FF008E; text-align: center; font-size: 15px; padding:5px 0 2px 0; letter-spacing: 1px; font-weight: bold;}
.htl.htl-btn { margin-top: 0; text-align: center;}
.btn > span { display: block; margin-bottom: 6px; font-size: 14px;}
.htl .btn a { font-size: 14px;}
.couponOneClick .cpttl { margin-bottom: 12px;}
.date1 { background: #FFD9EE; text-align: center; padding: 12px 0 10px 0; font-size: 16px; color: #FF008E;}
.top2 { height: 120px;   background-repeat: repeat-x;    background-size: cover;   background-position: left center;  animation: slideBackground2 18s linear infinite; }
.pg_h2 { text-align: center; margin: auto auto 16px auto; font-size: 16px;}
.conBox { margin: 32px auto auto auto;}
.navBox .jdsTabNav { display: flex; justify-content: space-between; align-items: flex-end;}
.navBox .jdsTabNav>li { font-size: 10px; font-weight: bold; color: #fff; background: #000; border-radius: 6px 6px 0 0; width: 33%; text-align: center; padding: 10px 0 8px 0;}
.navBox .jdsTabNav>li:hover { cursor: pointer;}
.navBox .jdsTabNav>li.active { background: #FF008E; padding: 15px 0 12px 0;}
.navBox .jdsTabNav>li>b { font-size: 13px;}
.navBox .jdsTabNav>li>span { font-size: 13px; margin-right: 4px;}
.priod { text-align: center; color: #fff; background: #FF008E; padding:10px 0 8px 0; font-size: 13px; margin-top: -1px;}
.priod small { font-size: 12px;}
.priod b { font-size: 18px;}
.navi { width: 50px;}
.navi img{ width: 100%;}
.ttl{ font-size: 16px;}
.ttl span{ font-size: 20px;}
.ttl span b{ font-size: 26px;}
nav{ margin:0px 8px 0;}
nav dl dd{ width: calc(100% / 3 - 8px); margin: 16px 4px 0;}
nav .date{ flex-direction: column; font-size: 12px; letter-spacing: -1px;}
nav .date span{ font-size: 10px;}
nav .date span b{ font-size: 16px;}
nav .date span.bk{ width: 100%; box-sizing: border-box;}
.name{ min-height: 40px; font-size: 10px; }
.weekBox{ margin-top: 32px;}
.weekBox h2{ font-size: 14px;}
.weekBox h2.date1 { font-size: 16px;}
.weekBox h2 b{ font-size: 18px;}
.weekBox h2 span.bk{ font-size: 16px; width: 80px;}
.weekBox h2 span.bk b{ font-size: 22px;}
.weekBox h3{ font-size: 16px; margin-top: 24px;}
.couponBox{ margin: 8px 16px 0; padding-bottom: 24px;}
.cpttl{ font-size: 14px;}
.couponOneClick{ margin-top: 16px; width: 90%;}
.htl{ margin: 24px 16px 0; padding-bottom: 24px; flex-direction: column;}
.htl .photo{ width: 80%; margin: 0 auto;}
.htl div{ width: auto; margin: 16px 0 0;}
.htl .name{ font-size: 16px;}
.htl .btn{ margin: 16px 16px 0;}
.bnrBox{ margin: 0 0 0; padding: 32px 0;background: #FFFEE7; }
.bnrBox ul{ margin: 0 8px 0; padding-bottom: 16px;flex-direction: column;}
.bnrBox ul li span{ font-size: 13px; padding: 4px 8px;}
.bnrBox ul li img{ width: 100%;}
.bnrBox ul li { margin-top: 30px;}
.bnrBox .btn{ margin: 16px 32px 0;width: auto;}
.bnrBox .btn a{ font-size: 16px; padding: 12px 0;}
.campBox{ margin-top: 40px; padding-bottom: 40px;}
.campBox .ttls{ font-size: 16px;}
.campBox ul{ margin: 0 8px;}
.campBox ul li{ margin: 16px 4px 0;}
.campBox ul li img{ width: 100%;}
.wn{  text-align: left; margin: 8px 8px 0; font-weight: normal;font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;}
.weekBox + .wn{ margin: 8px 8px 0;}
.htl .photo img { max-width: 260px!important;}
}

.cpLinkwindow{width: 280px;margin: 16px auto ;
display: flex;justify-content: space-evenly;
}
.cpLinkwindow a.arr-green-windowA {margin: 0 5px;
    background-color: #cacaca;
    position: relative;
    border-radius: 5px;
    font-weight: normal;
    padding: 5px 6px;

    color: #333333;
    text-decoration: none;
    font-size: 12px;
}
.cpLinkwindow a.arr-green-windowB:after {
    background: url(https://img.travel.rakuten.co.jp/special/sales/template/html/images/Linkwindow.svg) center center no-repeat;
    background-size: auto;
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    right: -20px;
    top: 50%;
    margin-top: -8px;
    background-size: 16px;
}


