@charset "utf-8";
/*
* ★★CSS for PC
* @date 2024.7
*/
.sp   { 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;}
a:hover img , ul.areas li:hover,ul.navi li:hover,#keyWord form input.kyButton:hover,a.dtlbtn:hover,a.cpnbtn:hover{ opacity: 0.85;}


#keyVisual   { width:100%; margin:0; background: #064DA4;color: #fff; text-align: center; padding: 25px 0;}



ul.navi { display: flex;flex-wrap: nowrap; justify-content:center; padding-top: 8px;}
ul.navi li { padding: 0 40px; border-right: 1px solid #c4c4c4;}
ul.navi li a { display: block; position: relative; padding:13px 0 13px 40px; line-height: 24px; white-space: nowrap; font-size: 18px; color: #626262; font-weight: bold;}
ul.navi li a:before { display: block; position:absolute; left: 0; top: 6px; content: ""; background-repeat: no-repeat;}
ul.navi li a.campain:before { background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon1.svg) no-repeat center center; width: 36px; height: 36px;}
ul.navi li a.coupon:before { background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon2.svg) no-repeat center center; width: 28px; height: 28px; top: 12px;}
ul.navi li a.first:before { background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon3.svg) no-repeat center center; width: 36px; height: 36px; left:-4px}
ul.navi li a.search:before {background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon4.svg) no-repeat center center; width: 36px; height: 36px;}

ul.navi li:last-child { border-right: 0;}

#search-box { border: none;}
.column1 #search-box #domestic-search-box { padding-bottom: 0;}
#contents.column1 { width: 100%; overflow: hidden; margin: 8px 0 0; padding: 0; background: #dfedfe;}
.rcBox { width: calc(100% - 62px); max-width: 1278px; margin: 40px auto 0; background: #fff; padding: 30px;}
.rcBox h2 { display: block; height: 42px; line-height: 48px; font-size: 32px; color: #333; padding-left: 62px; position: relative;}
.rcBox h2:before { display: block; position:absolute; left:5px; top:0; content: ""; width: 42px; height: 42px; background-image: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon.png); background-repeat: no-repeat; background-size: 126px 84px;}
.rcBox h2.campain:before { background-position: -42px -42px;}
.rcBox h2.coupon:before { background-position: -42px 0;}
.rcBox h2.search:before { background-position: -84px -42px;}
.rcBox h2.area:before { background-position: 0 0;}
.rcBox h2.first:before { background-position: -84px 0;}
.rcBox h2.hotels:before { background-position: 0 -42px;}


#COUPON .swiper-container { margin: 0 auto !important; padding: 30px 40px 40px;}
#COUPON .swiper-container .swiper-slide a { display: block; max-width: 300px; overflow: hidden; padding:0 0 5px; margin: 0 auto;}
#COUPON .swiper-container .swiper-slide img { width: 100%; float: left; box-shadow: 0 1px 3px #999;}
.swiper-pagination-bullet{ border-radius: 0 !important; opacity: 1 !important;}
.swiper-pagination-bullet:hover,.swiper-pagination-bullet-active { background: #4ACE00 !important;}
.swiper-button-next, .swiper-button-prev{ width: 40px !important; height: 220px !important; top: 30px !important; margin-top:0 !important; background-size: 32px 32px !important; background-color: #fff;}
.swiper-button-next { background-image: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/next.png) !important; right: 0 !important;}
.swiper-button-prev { background-image: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/prev.png) !important; left: 0 !important;}


p.rearrange { font-size: 12px; color: #666; line-height: 24px; margin-top: 30px;}
p.rearrange span { display: inline-block; padding: 5px 0; color: #1D54A7; margin: 0 0 0 16px; font-size: 14px;}
p.rearrange span.on { background: #E6752B; color: #fff; padding: 5px 15px;}


.column1 .hotels { width:100% !important; margin: 30px 0 0; overflow: hidden;}
#cpnPt .hotels { display: flex; flex-wrap: wrap; }
.hotels div.box.swiper-slide { width: calc(23.5% - 8px); display: block !important; margin-left: 1.5%; margin-bottom: 1.5%; border: 1px solid #C3C3C3; background:#fff; border-radius: 5px; box-shadow: 1px 1px 3px #DDD; overflow: hidden; margin-bottom: 25px;}
.hotels div.box a { display:flex;align-items:center;justify-content: center; border-radius: 5px 5px 0 0; overflow: hidden;}
.hotels div.box a img  { width: 100%;}
.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; line-height: 1.4; margin-bottom: 4px;}
.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: right; margin-top: 5px;}
.hotels div.box p.price span em { font-style: normal; font-size: 18px;}
a.dtlbtn { display: block; width: 85%; height: auto !important; margin: 0 auto; background: #0DBD0D; border-radius: 4px !important; color: #fff !important; font-weight: bold; font-size: 16px; padding: 13px 0; text-align: center;}
a.cpnbtn { display: block; width: 65%; height: auto !important; margin: 10px auto 15px; border: 1px solid #ccc; border-radius: 4px !important; color: #333; font-weight: bold; font-size: 12px; padding: 8px 0; text-align: center;}


p.notice { font-size: 13px; color: #747674; padding: 10px 10px 10px 30px; border: 1px solid #CCD4DC; border-radius: 3px; background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/inform.png) no-repeat 10px 50%; margin: 16px 0;}


#keyWord form { width: 480px; margin: 30px auto 40px; overflow: hidden;}
#keyWord form input.keyword { display:block; float: left; width: 308px; height: 48px; border: 1px solid #333; border-radius: 5px; padding: 0 15px; font-size: 14px !important;}
#keyWord form input.kyButton{ display:block; float:right; width: 110px; height: 50px; border-radius: 6px; background: #bf0000; border: 0; font-size: 18px;line-height: 50px; color: #fff; font-weight: bold;} 


ul.areas { width: 99%; padding-left: 1%; margin: 30px 0 0; overflow: hidden;}
ul.areas li { width: 24%; height: 141px; float: left; margin-right: 1%; margin-bottom: 1%; background-repeat: no-repeat; background-size: cover; border-radius: 5px;}
ul.areas li a { display: block; height: 111px; font-size: 18px; font-weight: bold; padding: 15px; color: #fff !important; background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/arrow.png) no-repeat 95% 90%;}
ul.areas li:last-child { background-color: #A1ACCD; background-size: auto; background-position: 90% 50%; line-height: 30px;}


ul.types { width: 99%; padding-left: 1%; margin: 30px 0 0; overflow: hidden; display: flex;justify-content:center;}
ul.types li { width: 22%; margin-right: 3%; text-align: center;}
ul.types li span { display: block; height: 141px; background-repeat: no-repeat; background-size:cover; border-radius: 5px; margin-bottom: 16px;}
ul.types li a { display: block; font-size: 18px; color: #333;}
ul.types li a em{ font-style: normal;}
ul.types li img { max-width: 297px; width: 100%; margin-bottom: 16px;}


.ustep { width: 99%; padding-left: 1%; margin: 0 auto; overflow: hidden;}
.ustep li { width: 32%; float: left; margin-right: 1%; text-align: center;}
.ustep li p { display: block; font-size: 16px; color: #333; font-weight: bold; padding-top: 102px; margin: 30px 0;}
.ustep li p.lazybg { background-repeat: no-repeat; background-position: top center;}
.ustep li img {max-width: 246px;}
p.note { margin: 30px 0 10px; background: #f7f7f8; padding: 20px 30px; font-size: 12px; line-height: 24px;}


.other { display: block; width:100%; margin: 40px auto;}
.other h3 { display: block; text-align: center; color: #404965; font-size: 24px; margin-bottom: 36px;}
.other ul.bnr {max-width: 800px; margin: 0 auto; display: flex;justify-content:center;}
.other ul.bnr li{ margin: 0 20px; text-align: center; font-size: 0;}
.other ul.bnr li:first-child { margin-left: 0;}
.other ul.bnr li:last-child { margin-right: 0;}
.other ul.bnr.bdbtm { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #a7b0c9;}


.links    { max-width: 800px; width: 100%; overflow: hidden; margin: 0 auto 48px;}
.links h3 { display: block; text-align: center; color: #333; font-size: 24px; margin:40px 0;}
.links ul { width:50%; float: left; overflow: hidden;}
.links ul li { width: 100%; float: left;}
.links ul li a { display: block; padding-left: 50px; font-size: 14px; line-height: 30px; color:#1d54a7 !important;}
.links ul li a:hover {color:#bf0000 !important;}

.toTop { position: fixed; bottom: 2%; right: 6%; z-index: 99;}
.toTop a{ display: block;}

#sns .mBox { width:100% !important;}

/* 20210707 */
.rt-footer {
z-index: 0;

}

#COUPON { position: relative;}
.cpLinkwindow{ margin:0 0 0 -300px; top: 45px; left: 50%; position: absolute;}
.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 { margin: 40px auto auto auto; text-align: left; max-width: 1340px;}
.cpnBtnB .cpLinkwindow { position: relative; padding: 0; top: 0; left: 0; width: 340px; margin: auto;}
.rcBox#CPN { margin-top: 30px;}
.rk-hrn-faq { margin-top: 30px;}

#keyVisual h1 { text-indent: 0; font-size: 60px; transform: skewX(-12deg); margin-top: 24px; line-height: 1.3;}
.h1Sml { font-size: 34px; border-bottom: 1px solid #fff; padding: 0 12px 8px 12px; position: relative; font-weight: bold;}
.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: 16px; border-radius: 50px; padding: 10px 25px 8px 25px; font-weight: bold; overflow: hidden;}
.h1Span small b { font-size: 20px; margin-left: 4px;}
.h1Span small:last-of-type { margin-left: 35px; position: relative; padding-left: 35px;}
.h1Span small:last-of-type:before { display: block; content: ""; width: 3px; height: 70px; position: absolute; background: #064DA4; transform: rotate(35deg) ; top:-30px; left: 0;}
.h1Terms { margin-top: 25px; padding-bottom: 8px; }



.htlLogoNew ul li{width: 250px!important; padding-bottom: 10px; margin: 0 4px; background: #fff; border: 1px solid #eaeaea; border-radius: 4px 4px 0 0;}

.htlLogoNew ul li a {display: block; margin: 0 auto; transition: all 0.3s ease; padding-bottom: 4px; }
#contentsArea .htlLogoNew ul li a:hover { opacity: 0.8; transition: all 0.3s ease; text-decoration: none;}
.htlLogoNew ul li a img{width: 100%; 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;}
.btnwrap .swiper-container { padding-bottom: 18px;}
.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; max-width: 1220px; margin: 16px auto ;}
#infoBox { display: flex; margin-top: 25px;}
.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;
    border: 1px solid #ccd4dc;
    color: #666;
    padding: 10px 10px 10px 23px;
    border-radius: 3px;
    background-size: 13px auto; font-size: 12px;
  }
  .mtTp { margin-top: 25px;}
  .cpnholder { background: none; justify-content: center; padding-bottom: 0; width: auto;}
  .cpnholder.jssBox.allList li.jss { margin-top: 12px;}
  #contents a, #contents a:hover { transition: all 0.25s ease;}
.themetop{max-width:1200px;margin:40px auto; padding: 0 10px;}
.themetop a {display:block;padding:20px;font-size:22px;font-weight:bold;text-align:center;border-radius:5px;background:#000000;color:#fff !important;}
#contentsArea .themetop a:hover { opacity: 0.8; text-decoration: none;}
.themetop + .note{max-width: 1040px; padding: 0 10px; margin: 48px auto;}
.column1 #search-box .structure dt.date { padding-top: 0;}
div#grpLocationArea.newHD {
  float: none
}
.column1 #search-box p.searchSubmit a { height: auto; text-indent: 0;}
.column1 #search-box p.searchSubmit a:hover { color: #fff;}
#search-box #domestic-search-container .searchCategory li.on { background: #064DA4}
#search-box .searchNavi li.on::after {border-top: 7px solid #064DA4}
#search-box.verB input[type="radio"]:checked + label {
  background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/checked.png) left center no-repeat;
  background-size: auto;
  background-size: 20px 20px;
}
#search-box.verB.test .dhAll.dh { margin-top: 50px;}
#search-box.verB .searchUndate input[type="checkbox"]:checked + label {
  background: url(https://img.travel.rakuten.co.jp/themepark/usj/coupon/images/icon1.png) left center no-repeat;
    background-size: auto;
  background-size: auto;
  background-size: 16px 16px;
}
#search-box.verB.test .explain { top: -40px; left: inherit; right: 0;}
.hotels div.box p.hotelname { margin-top: 16px;}
.column1 #search-box .structure dt.number,.column1 #search-box .structure dd.number { padding-top: 0;}
#maskDh { width: 1040px; left: 206px;}
.cpnholder .btmarea .overtime span { margin: 0}
@media screen and (min-width: 1741px) {
  .cpnholder > li{ min-height: 0;}}