@charset "utf-8";
/*
* ★★CSS for PC
* @date 2021.4
*/
.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; margin-bottom:0; border-top: 10px solid #bf0000;}
#keyVisual h1{ width:100%; text-indent:0; text-align: center; font-size: 0; padding: 40px 0;}


ul.navi { display: flex;flex-wrap: nowrap; justify-content:center;}
ul.navi li { padding: 0 40px; border-right: 1px solid #c4c4c4;}
ul.navi li a { display: block; position: relative; padding:13px 0 13px 40px; height: 24px; line-height: 24px; white-space: nowrap; font-size: 12px; color: #626262; font-weight: bold;}
ul.navi li a:before { display: block; position:absolute; left: 0; top: 13px; content: ""; width: 24px; height: 24px; background-image: url(../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: 10px 0 0; padding: 0; background: #f0f2f8;}
.rcBox { width: calc(100% - 62px); max-width: 1278px; margin: 40px auto 0; border: 1px solid #ced5db; 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:0; top:0; content: ""; width: 42px; height: 42px; background-image: url(../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;}


.swiper-container.jdsSwiper1 { margin: 0 auto !important; padding: 30px 40px 40px;}
.swiper-container.jdsSwiper1 .swiper-slide a { display: block; max-width: 300px; overflow: hidden; padding:0 0 5px; margin: 0 auto;}
.swiper-container.jdsSwiper1 .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(../images/next.png) !important; right: 0 !important;}
.swiper-button-prev { background-image: url(../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.swiper-wrapper { display: block !important; width:100% !important; margin: 30px 0 0; overflow: hidden;}
.hotels div.box.swiper-slide { width: calc(24% - 4px); display: block !important; float: left; margin-left: 1%; margin-bottom: 1%; border: 1px solid #C3C3C3; background:#fff; border-radius: 5px; box-shadow: 1px 1px 3px #DDD; overflow: hidden;}
.hotels div.box a { display:flex;align-items:center;justify-content: center; height: 168px; border-radius: 5px 5px 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: 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(../images/inform.png) no-repeat 10px 50%; margin: 16px 0;}
.column1 #search-box { width: 100%; max-width: 1278px; margin: 40px auto 0; border: 1px solid #ced5db; background: #fff; padding: 30px;}
.hasDatepicker,#search-box .inputDate { background: none !important; border: 0 !important; box-shadow: none !important; min-height: 38px !important;}
#search-box .newbox {  width: 798px; overflow: hidden; border: 1px solid #999; border-radius: 5px; padding:5px 0; box-shadow:0 2px 2px #DDD; display: flex;justify-content:center;margin: 0 auto 30px; background: url(../images/caline.png) no-repeat center center;}
#search-box .structure.structure2 { width: 50%;}
.column1 #search-box .structure dt.date { width: calc(40% - 30px); background: url(../images/calendar.png) no-repeat left center; padding:5px 0 5px 30px; margin: 2px 0 0 18%; line-height: 180%;}
.column1 #search-box .structure dd.date { width: 35%;  font-size: 110%; margin: 0; padding: 0;min-height:38px;}
.column1 #search-box .structure dd.date input { padding: 0; min-height: 0; outline: none; font-weight: bold;}
.column1 #search-box p.searchSubmit a{ display:block; text-indent: 0; width: 340px; height: 50px; border-radius: 6px; background: #bf0000; border: 0; font-size: 18px;line-height: 50px; color: #fff; font-weight: bold;}


#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(../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{ width: 280px; 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
}