@charset "utf-8";

/*
* ★★CSS for smartphone
* @date 2021.4
*/
.pc {
    display: none!important;
}

#widewrapper,
#contentsArea {
    width: 100%;
    overflow: hidden;
    background: none;
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans Jp', sans-serif;
}

ul.navi li a:hover,
ul.areas li a:hover,
ul.types li a:hover,
.column1 #search-box p.searchSubmit a:hover,
a.dtlbtn:hover,
a.cpnbtn:hover {
    text-decoration: none !important;
}

img {
    max-width: 100% !important;
    width: auto;
}

.fltL {
    float: left;
}

.fltR {
    float: right;
}


#keyVisual {
    width: 100%;
    margin: 0;
    margin-bottom: 0;
    border-top: 10px solid #bf0000;
}

#keyVisual h1 {
    width: 90%;
    max-width: 630px;
    margin: 0 auto;
    text-indent: 0;
    text-align: center;
    font-size: 0;
    padding: 3% 5%;
}

ul.navi {
    /*display: none;*/
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}

ul.navi li {
    padding: 0 5px;
    border-right: 1px solid #c4c4c4;
}

ul.navi li a {
    display: block;
    position: relative;
    padding: 30px 5px 0;
    line-height: 18px;
    font-size: 12px;
    color: #626262;
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
}

ul.navi li a:before {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -12px;
    top: 0;
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(https://img.travel.rakuten.co.jp/coupon/images/icon.png);
    background-repeat: no-repeat;
    background-size: 72px 48px;
}

ul.navi li a.campain:before {
    background-position: -24px -24px;
}

ul.navi li a.coupon:before {
    background-position: -24px 0;
}

ul.navi li a.search:before {
    background-position: -48px -24px;
}

ul.navi li a.area:before {
    background-position: 0 0;
}

ul.navi li a.first:before {
    background-position: -48px 0;
}

ul.navi li:last-child {
    border-right: 0;
}


#contents.column1 {
    width: 100%;
    overflow: hidden;
    margin: 2% 0 0;
    padding: 0;
    background: #f0f2f8;
}

.rcBox {
    width: calc(100% - 32px);
    margin: 24px auto 24px;
    background: #fff;
    padding: 16px;
}

.rcBox h2 {
    display: block;
    height: 24px;
    line-height: 24px;
    font-size: 19px;
    color: #333;
    padding-left: 32px;
    position: relative;
}

.rcBox h2:before {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(https://img.travel.rakuten.co.jp/coupon/images/icon.png);
    background-repeat: no-repeat;
    background-size: 72px 48px;
}

.rcBox h2.campain:before {
    background-position: -24px -24px;
}

.rcBox h2.coupon:before {
    background-position: -24px 0;
}

.rcBox h2.search:before {
    background-position: -48px -24px;
}

.rcBox h2.area:before {
    background-position: 0 0;
}

.rcBox h2.first:before {
    background-position: -48px 0;
}

.rcBox h2.hotels:before {
    background-position: 0 -24px;
}


.swiper-container.jdsSwiper1 {
    width: 100%;
    margin: 0 !important;
    padding: 16px 0 16px 5px;
}

.swiper-container.jdsSwiper1 .swiper-slide {
    width: 80%;
    max-width: 300px;
}

.swiper-container.jdsSwiper1 .swiper-slide a {
    display: block;
    padding: 0 5px 5px;
}

.swiper-container.jdsSwiper1 .swiper-slide img {
    display: block;
    box-shadow: 0 1px 3px #999;
}


p.rearrange {
    font-size: 13px;
    color: #666;
    line-height: 24px;
    margin-top: 16px;
}

p.rearrange span {
    display: inline-block;
    padding: 5px 0;
    color: #1D54A7;
    margin: 0 0 0 8px;
}

p.rearrange span.on {
    background: #E6752B;
    color: #fff;
    padding: 5px 10px;
}

/* 2511 
#CPN {
    padding-top: 16px;
    margin-bottom: 16px;
}
    */

.column1 .hotels.swiper-wrapper {
    width: auto;
    margin: 16px 0 0;
    padding-bottom: 20px;
}

.hotels div.box.swiper-slide {
    width: 70%;
    max-width: 190px;
    margin-right: 16px;
    border: 1px solid #C3C3C3;
    border-radius: 5px;
    box-shadow: 1px 1px 3px #DDD;
    background: #fff;
}

.hotels div.box a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 106px;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
}

.hotels div.box a img {
    height: 100%;
    flex-shrink: 1;
}

.hotels div.box p.area {
    font-size: 13px;
    color: #777;
    padding: 10px 5px;
}

.hotels div.box p.hotelname {
    font-weight: bold;
    font-size: 13px;
    color: #333;
    padding: 0 10px;
}

.hotels div.box p.price {
    font-size: 13px;
    color: #333;
    padding: 10px;
}

.hotels div.box p.price span {
    display: block;
    color: #bf0000;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-top: 5px;
}

.hotels div.box p.price span em {
    font-style: normal;
    font-size: 18px;
}

a.dtlbtn {
    display: block;
    width: 90%;
    height: auto !important;
    margin: 0 auto;
    background: #0DBD0D;
    border-radius: 3px !important;
    box-shadow: 1px 1px 2px #BBB;
    color: #fff !important;
    font-weight: bold;
    font-size: 14px;
    padding: 10px 0;
    text-align: center;
}

a.cpnbtn {
    display: block;
    width: 80%;
    height: auto !important;
    margin: 10px auto 15px;
    border: 1px solid #ccc;
    border-radius: 3px !important;
    box-shadow: 1px 1px 3px #EEE;
    color: #333;
    font-weight: bold;
    font-size: 12px;
    padding: 8px 0;
    text-align: center;
}


p.notice {
    display: none;
    font-size: 13px;
    color: #747674;
    padding: 6px 6px 6px 24px;
    border: 1px solid #CCD4DC;
    border-radius: 3px;
    background: url(https://img.travel.rakuten.co.jp/coupon/images/inform.png) no-repeat 6px 50%;
    margin: 8px 0;
}

.column1 #search-box {
    width: 100%;
    margin: 24px 0 0;
    border: none;
    padding: 16px 0;
}

.column1 #search-box h2 {
    margin: 0 16px;
}

.hasDatepicker,
#search-box .inputDate {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    min-height: 32px !important;
}

#search-box .structure.structure2 {
    width: calc(49% - 30px);
    margin: 0 0 16px;
    background: url(https://img.travel.rakuten.co.jp/coupon/images/calendar.png) no-repeat 5% 50% #fff;
    border-radius: 5px;
    padding-left: 30px;
    text-align: center;
}

.column1 #search-box .structure dt.date {
    width: 100%;
    font-size: 12px;
    color: #666;
    padding-top: 10px;
}

.column1 #search-box .structure dd.date {
    width: 100%;
    margin: 0;
    padding: 0 0 5px;
    min-height: 32px !important;
}

.column1 #search-box .structure dd.date input {
    text-align: center;
    font-size: 16px;
    padding: 0;
    min-height: 0;
    outline: none;
    font-weight: bold;
    line-height: 1.6;
}

.column1 #search-box p.searchSubmit a {
    display: block;
    clear: both;
    text-indent: 0;
    width: 240px;
    height: 46px;
    margin: 0 auto 8px;
    border-radius: 5px;
    background: url(https://img.travel.rakuten.co.jp/coupon/images/search_arr.png) no-repeat 95% 50% #bf0000;
    padding: 0;
    border: 0;
    font-size: 17px;
    line-height: 46px;
    color: #fff;
    font-weight: bold;
    box-shadow: none;
    text-shadow: none;
}

#search-box-body {
    display: block;
    background: #D3D2D2;
    margin-top: 16px;
    overflow: hidden;
}

#search-box #domestic-search-box {
    padding: 16px 16px 8px;
}

#keyWord form {
    margin: 16px 0;
    overflow: hidden;
}

#keyWord form input.keyword {
    display: block;
    width: calc(100% - 42px);
    height: 44px;
    border: 1px solid #333;
    border-radius: 5px;
    padding: 0 10px 4px;
    font-size: 16px !important;
}

#keyWord form input.kyButton {
    display: block;
    width: 110px;
    margin: 16px auto;
    height: 46px;
    border-radius: 5px;
    background: #bf0000;
    border: 0;
    font-size: 17px;
    line-height: 46px;
    color: #fff;
    font-weight: bold;
}

ul.areas {
    width: 99%;
    padding-left: 1%;
    margin: 16px 0 0;
    overflow: hidden;
}

ul.areas li {
    width: 32%;
    min-height: 100px;
    float: left;
    margin-right: 1%;
    margin-bottom: 1%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    border-radius: 5px;
}

ul.areas li a {
    display: block;
    height: 100px;
    font-size: 16px;
    font-weight: bold;
    text-shadow: 0 1px 2px #333;
    padding: 6%;
    color: #fff !important;
}

ul.areas li:last-child {
    background-color: #A1ACCD;
    background-size: auto;
    background-position: 90% 50%;
}

ul.types {
    width: 99%;
    padding-left: 1%;
    margin: 16px 0 0;
    overflow: hidden;
}

ul.types li {
    width: 32%;
    float: left;
    margin-right: 1%;
    text-align: center;
}

ul.types li span {
    display: block;
    min-height: 100px;
    margin-bottom: 8px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    border-radius: 5px;
}

ul.types li em {
    font-style: normal;
    white-space: nowrap;
}

ul.types li a {
    display: block;
    font-size: 14px;
    color: #333;
}

ul.types li img {
    max-width: 297px !important;
    width: 100%;
    margin-bottom: 16px;
}


.ustep {
    max-width: 360px;
    margin: 20px auto 0;
    overflow: hidden;
}

.ustep li {
    width: 100%;
    text-align: center;
}

.ustep li p {
    display: block;
    font-size: 14px;
    text-align: left;
    color: #333;
    font-weight: bold;
    padding-left: 44px;
    height: 36px;
    line-height: 36px;
    margin: 10px 0;
}

.ustep li p.lazybg {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 36px 36px;
}

.ustep li img {
    width: 100%;
    max-width: 297px !important;
}

p.note {
    margin: 20px 0;
    background: #f7f7f8;
    padding: 20px 16px;
    font-size: 12px;
    line-height: 24px;
}

.other {
    display: block;
    margin: 40px 0;
}

.other h3 {
    display: block;
    max-width: 350px;
    margin: 0 auto 16px;
    color: #404965;
    font-size: 16px;
    padding: 0 2%;
}

.other ul.bnr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 360px;
    margin: 0 auto;
    overflow: hidden;
}

.other ul.bnr li {
    width: 46%;
    margin: 2%;
    float: left;
    text-align: center;
    font-size: 0;
}

.other ul.bnr li.one {
    margin: 0 auto;
    float: none;
}

.other ul.bnr li a {
    display: block;
}

.other ul.bnr li img {
    width: 100%;
    max-width: 170px !important;
}

.other ul.bnr.bdbtm {
    padding-bottom: 16px;
    margin-bottom: 16px;
}

.links {
    max-width: 360px;
    margin: 16px auto;
}

.links h3 {
    display: block;
    max-width: 360px;
    margin: 40px auto 16px;
    color: #333;
    font-size: 16px;
    padding: 0 2%;
}

.links ul {
    overflow: hidden;
}

.links ul li {
    width: 100%;
    float: left;
}

.links ul li a {
    display: block;
    padding-left: 12px;
    font-size: 13px;
    line-height: 48px;
    color: #1d54a7 !important;
}

.links ul li a:hover {
    color: #bf0000 !important;
}



.toTop { position: fixed; bottom:10px; right:10px; width: 48px; height: 48px; z-index: 99;}
.toTop a{ display: block;}
.toTop img { width: 100%;}

/* 20210708 */
.rt-footer {
    z-index: 0;

}


.cpLinkwindow {
    margin: 25px auto 15px auto;
}

.cpLinkwindow a.arr-green-windowA {
    background-color: #cacaca;
    position: relative;
    border-radius: 5px;
    font-weight: normal;
    margin-left: 10px;
    padding: 5px 6px;
    color: #333333;
    text-decoration: none;
    font-size: 12px;
    margin-left: 0;
    display: inline-block;
}

.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
}

.cpnBtnB .cpLinkwindow {
    width: 100%;
    margin: 16px auto;
    text-align: center;
}

.keyWord {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 16px 12px;
    background: #FAFAFA;
    gap: 8px;
    border-radius: 6px;
}

.keyWord li {
    font-size: 14px;
    text-align: center;
    padding: 8px;
    border-radius: 6px;
    border: 1px solid #444;
    background: #FFF;
    cursor: pointer;
}

.keyWord li a {
    color: #333 !important;
    font-weight: normal;
}

.keyWord a:hover {
    opacity: 0.8;
    text-decoration: none !important;
}


#sRight {
    position: fixed;
    right: 10px;
    bottom: 10px;
}

#sRight .jss_switchMenu {
    position: relative
}

#sRight .jss_switchMenu dl {
    position: absolute;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    right: 0;
    bottom: 10px;
    width: 96px
}

.ss-right dd li a:hover {
    opacity: .8;
    opacity: .7
}

.ss-right {
    color: #fff;
    z-index: 16;
    right: 0;
    display: none
}

.ss-right dd ul {
    border: 1px solid #333;
    border-radius: 5px 5px 5px 5px;
    overflow: hidden
}

.ss-right dd li {
    position: relative;
    border-bottom: 1px solid #333;
    font-size: 75%;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}

.ss-right dd li:last-child {
    border-bottom: none
}

.ss-right dd li a {
    padding: 35px 5px 2px;
    color: #333;
    display: block;
    background: #fff;
    text-decoration: none
}

.trigger {
    width: 50px;
    height: 50px;
    cursor: pointer;
    margin: 10px auto;
    background: url(https://img.travel.rakuten.co.jp/special/sales/images/new/menu_open.png) center center/50px auto no-repeat;
    margin-right: 0;
    display: block
}

#sRight .jss_switchMenu dl {
    right: -130px;
    bottom: 52px
}



#sRight .jss_switchMenu.active .trigger {
    background: url(https://img.travel.rakuten.co.jp/special/sales/images/new/menu_close.png) center center no-repeat;
    background-size: 50px auto
}

#sRight .jss_switchMenu.active dl {
    right: 0
}

#sRight .siboriBtn {
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    bottom: 100px;
    background-size: 60px 60px;
    background-repeat: no-repeat;
    text-indent: -9999px;
    background-image: url(https://img.travel.rakuten.co.jp/special/sales/template/new_template/images/siboriBtn.svg)
}

.ttlicon:after {
    background-image: url(https://img.travel.rakuten.co.jp/special/sales/template/new_template/images/ttlIcon.svg)!important;
    display: block;
    width: 45px;
    height: 45px;
    background-size: 530px auto;
    left: 0;
    top: 5px;
    z-index: 10
}

.ttlicon_s:after,.ttlicon_w:after {
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    z-index: 4;
    content: ''
}

.ttlicon.first-icon:after {
    background-position: 2px 0
}

.ttlicon.recommend-icon:after {
    background-position: -60px 0
}

.ttlicon.premium-icon:after {
    background-position: -120px 0
}

.ttlicon.rank-icon:after {
    background-position: -182px 0
}

.ttlicon.domestic-icon:after {
    background-position: -242px 0
}

.ttlicon.medama-icon:after {
    background-position: -303px 0
}

.ttlicon.limit-icon:after {
    background-position: -364px 0
}

.ttlicon.sale-icon:after {
    background-position: -425px 0
}

.ttlicon.new-icon:after {
    background-position: -486px 0
}

.ttlicon.surprise-icon:after {
    background-position: 1px -60px
}

.ttlicon.superise-icon:after {
    background-position: 1px -60px
}

.ttlicon.jpMap-icon:after {
    background-position: -60px -60px
}

.ttlicon.point-icon:after {
    background-position: -121px -60px
}

.ttlicon.themapark-icon:after {
    background-position: -182px -60px
}

.ttlicon.air-icon:after {
    background-position: -242px -60px
}

.ttlicon.tour-icon:after {
    background-position: -304px -60px
}

.ttlicon.location-icon:after {
    background-position: -364px -60px
}

.ttlicon.onsen-icon:after {
    background-position: -427px -60px
}

.ttlicon.search-icon:after {
    background-position: -486px -60px
}

.ttlicon.rentcar-icon:after {
    background-position: 1px -120px
}

.ttlicon.calender-icon:after {
    background-position: -121px -240px
}

.ttlicon.taxi-icon:after {
    background-position: -60px -120px
}

.ttlicon.pophotel-icon:after {
    background-position: -121px -120px
}

.ttlicon.poplocation-icon:after {
    background-position: -182px -120px;
}

.ttlicon.coupon-icon:after {
    background-position: -242px -120px
}

.ttlicon.off-icon:after {
    background-position: -303px -120px
}

.ttlicon.buskk-icon:after {
    background-position: -364px -120px
}

.ttlicon.bus-icon:after {
    background-position: -427px -120px
}

.ttlicon.bus2-icon:after {
    background-position: -484px -120px
}

.ttlicon.fruit-icon:after {
    background-position: 1px -180px
}

.ttlicon.sakura-icon:after {
    background-position: -60px -180px
}

.ttlicon.city-icon:after {
    background-position: -121px -180px
}

.ttlicon.food-icon:after {
    background-position: -182px -180px
}

.ttlicon.sports-icon:after {
    background-position: -242px -180px
}

.ttlicon.night-icon:after {
    background-position: -304px -180px
}

.ttlicon.seat-icon:after {
    background-position: -364px -180px
}

.ttlicon_w:after {
    background-image: url(https://img.travel.rakuten.co.jp/coupon/images/icons.png);
    width: 25px;
    height: 27px;
    background-size: 125px 250px;
    left: 50%;
    margin-left: -13px;
    top: 5px
}

.ttlicon_w.location-icon:after {
    background-position: -50px -55px
}


.ttlicon_w.coupon-icon:after {
    background-position: -100px -82px
}



.ttlicon_w.search-icon:after {
    background-position: 0 -140px
}


.ttlicon_w.recommend-icon:after {
    background-position: -25px 0
}

.readMoreLink {
    display: block;
    margin: 16px auto;
    width: 60%;
    box-sizing: border-box;
    text-align: center;
    padding: 12px 8px;
    border: 1px solid #999;
    border-radius: 6px;
    position: relative;
}
.readMoreLink::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url(https://img.travel.rakuten.co.jp/coupon/images/right.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
}

