@charset "utf-8";
/*
* ★★CSS for smartphone
* @date 2021.4
*/
.pc { display: none;}
#widewrapper, #contentsArea { width:100%; overflow:hidden; background:none; margin: 0; padding:0;}
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   { margin:0; background: #064DA4; color: #fff; text-align: center; padding: 20px 16px;}


ul.navi { display: flex;flex-wrap: nowrap; justify-content:center; padding-top: 8px;}
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/themepark/usj/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 0;}
ul.navi li a.area:before { background-position: 0 0;}
ul.navi li a.first:before { background-position: -48px -24px;}
ul.navi li:last-child { border-right: 0;}


#contents.column1 { width: 100%; overflow: hidden; margin: 2% 0 0; padding: 0; background: #DFEDFF}
.rcBox { width: calc(100% - 32px);margin: 24px auto 0; 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/themepark/usj/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;}


#COUPON .swiper-container { width: 100%; margin: 0 !important; padding: 16px 0 16px 5px;}
#COUPON .swiper-container .swiper-slide { width:80%; max-width: 300px;}
#COUPON .swiper-container .swiper-slide a { display: block; padding:0 5px 5px;}
#COUPON .swiper-container .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;}
.column1 .hotels.swiper-wrapper { width: auto; margin: 16px 0 0; padding-bottom: 20px;}
.hotels div.box.swiper-slide { margin-right: 16px; border: 1px solid #C3C3C3; border-radius: 5px; box-shadow: 1px 1px 3px #DDD; background:#fff; margin-bottom: 16px;}

.hotels div.box a {  display:flex; align-items:center; justify-content: center; 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/themepark/usj/coupon/images/inform.png) no-repeat 6px 50%; margin: 8px 0;}
.column1 #search-box { width: 100%; margin: 24px 0 0; border: none; }
.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/themepark/usj/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; height: 46px; margin: 0 auto 8px; border-radius: 5px; background: url(https://img.travel.rakuten.co.jp/themepark/usj/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%;}


.rt-footer {
z-index: 0;

}
#search-box.verB.test p.searchSubmit a { padding-top: 6px; padding-bottom: 6px;}
#search-box.verB.test p.searchSubmit { margin-top: 24px;}
.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;
    top: -5px;
    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
}

.cpnBtnB .cpLinkwindow { width: 330px;margin-bottom:0; padding-left: 0; margin-right: 20px;}

#keyVisual h1 { text-indent: 0; font-size: 26px; transform: skewX(-12deg); margin: 10px auto 12px auto; line-height: 1.3;}
.h1Sml { font-size: 16px; border-bottom: 1px solid #fff; padding: 0 12px 10px 12px; position: relative; font-weight: bold; display: block; line-height: 1.3;}
.h1Sml:before { position: absolute; display: block; content: ""; width: 8px; height: 8px; background: #fff; transform: rotate(45deg); bottom: -4px; left: -4px;}
.h1Sml:after { position: absolute; display: block; content: ""; width: 8px; height: 8px; background: #fff; transform: rotate(45deg); bottom: -4px; right: -4px;}
.h1Span { background: #DFEDFF; color: #064DA4; font-size: 14px; border-radius: 6px; padding: 8px 4px 8px 8px; text-align: left; font-weight: bold; overflow: hidden; display: block;}
.h1Span small { display: block;}
.h1Span small b { font-size: 15px;}
#infoBox { display: flex; margin-top: 16px;}
.htlLogoNew ul li{width: 75%; padding-bottom: 16px; background: #fff;}
.htlLogoNew ul li { border: 1px solid #eaeaea; border-radius: 4px 4px 0 0;}
.htlLogoNew ul li a p { margin-left: 12px; margin-right: 12px;}
.htlLogoNew ul li a p.text{font-size: 14px; color: #333;padding: 6px 0 0 0; text-align: left; line-height: 1.4; font-weight: normal;}
.htlLogoNew ul li a{display: block; margin: 0 auto; }
.btnwrap .swiper-container { padding-bottom: 12px;}
.htlLogoNew ul li a img{width: 100%; border-radius: 4px 4px 0 0;}
.btnwrap .swiper-container-horizontal>.swiper-scrollbarNew {position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%;border-radius:10px;background:rgba(0,0,0,.1);opacity:1!important}
.linkBtn { color: #fff; background: #064DA4; padding: 12px 0; text-align: center; margin-top: 10px; border-radius: 4px;}
.date_ { text-align: right; margin-top: 8px; font-size: 12px; color: #8C8C8C; font-weight: normal;}
.p_note { font-size: 13px; line-height: 1.5; margin: 16px 4px 0 16px;}
.swiper-container #infoBox .swiper-slide img { box-shadow: none; float: none;}
.ss-note-info {
    background: url(https://img.travel.rakuten.co.jp/special/sales/images/new/surprise.svg) center left 7px no-repeat #fcfcfc;
      background-size: auto;
    border: 1px solid #ccd4dc;
    color: #666;
    padding: 8px 10px 8px 23px;
    border-radius: 3px;
    background-size: 13px auto; font-size: 12px;
  }
  .mtTp { margin-top: 16px;}
  .cpnholder { background: none; justify-content: center; margin-bottom: 0; padding-bottom: 0;}
  .cpnholder > li { padding: 0; margin: auto; border: none; }
  .cpnholder a.kakunin { text-align: left;}
  .cpnholder a.kakunin:before { left: 90px;}
.themetop{width:auto;padding:0;margin:24px 8px }
#contentsArea .themetop a{display:block;padding:10px;font-size:16px;font-weight:bold;text-align:center;border-radius:5px;background:#000000;color:#fff !important;}
#search-box.verB.test #searchSwitchArea1, #search-box.verB.test #searchSwitchArea2 { padding-left: 0; padding-right: 0;}
#Searchbox.rcBox { margin-left: 0;margin-right: 0; width: 100%; padding-left: 0; padding-right: 0; margin-bottom: 0; padding-bottom: 0;}
#Searchbox.rcBox>h2 { margin-left: 16px;}
.column1 #search-box { margin-top:16px;}
#search-box .searchNavi { background: none; padding-bottom: 4px}
#search-box .searchNavi li.on label { background: #064DA4; border-color: #064DA4;}
#search-box .searchNavi li.on::after {border-top: 7px solid #064DA4}
.searchNavi li span.hotel {
  background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/sch_hotel.png) no-repeat center;
  background-size: auto;
  background-size: 90%;
}
#search-box-body { background: none;}
#search-box #domestic-search-box { padding: 0;}
#dh-search-form, #dap-search-form { background: #d3d2d2; padding:0 16px;}
#search-box.verB.test p.searchSubmit { margin-top: 0; padding-top: 0;}
#search-box.verB.test #searchSwitchArea1 p.searchSubmit { margin-top: 24px;}
#search-box.verB .searchUndate input[type="checkbox"]:checked + label#searchUndateLB {
  background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon1.png) left center no-repeat;
  background-size: auto;
  background-size: 16px 16px;
}
.hotels div.box p.hotelname { margin-top: 8px;}
