
.pc { display: none !important; }
#widewrapper{width: 100%; position: relative; clear: both; font-family: "Noto Sans JP", sans-serif;}
.ss-container{ margin: 40px 0 0; padding: 0; border-radius: 0 !important;}
#contentsArea{ background: #F8E3E9; overflow: hidden;}
a:active { opacity: 0.8; text-decoration: none !important; }
.notosansJP{font-family: "Noto Sans JP", sans-serif;}
.navi { position: fixed; bottom: 10px; right: 10px; z-index: 997; }
.navi img{ width: 60px;}
.honban #hotelplan .jdsTabNav li{border: 1px solid #e6e6e6;box-sizing: border-box;}
#topBnr{ overflow: visible; width: 100%; position: relative; }
#topBnr h1{ position: relative;}
#topBnr h1::after{ content: "PR"; display: block; position: absolute; left: 0; top: 0; width: 32px; height: 22px; text-align: center; line-height: 22px; font-size: 14px; font-weight: normal; background: rgba(0,0,0,.4); color: #fff; z-index: 9; font-family: "Noto Sans JP", sans-serif; ;}
#topBnr h1 img{ width: 100%;}
#topBnr .logo{ text-align: center; padding: 8px 0; font-size: 14px; font-weight: 600; letter-spacing: 3.2px; font-family: "Noto Serif JP", serif;}
#topBnr .logo img{ width: 75%; display: block; margin: 0 auto }
.kv_slider {height: 54px; width: 100%;background: url(../images/kv_slider_sp.png) 0 100% / 768px 54px; animation: slide 100s linear infinite;}
@keyframes slide { 0% { background-position: 0 100%; } 100% { background-position: -1152px 100%; } }
#countdown{ font-size: 16px; color: #fff; font-weight: 600; text-align: center; letter-spacing: 2px; padding: 8px 0; background: #4DB7BC;}
.dpnote {
    font-size: 12px;
    line-height: 1.5;
    padding: 0 8px;
    padding-top: 20px;
}
.ttl{ text-align: center;font-size: 20px; font-style: normal; font-weight: 700; line-height: 140%; letter-spacing: 8px; font-family: "Noto Serif JP", serif;padding-top: 24px;}
.ttl small{ display: block; margin-bottom: 8px; font-size: 14px; color: #D75B7E; letter-spacing: 2.4px;}
.ttl span{ color: #24979C; font-weight: normal; display: inline-block; margin-right: 8px;}
.ttl span b{ font-size: 40px; font-style: italic; font-weight: normal; display: inline-block; margin-right: 4px;}
.ttl1{ background: #6C9235; padding: 8px 0; text-align: center;}
.ttl1 span{ display: table; margin: 8px auto; color: #fff; font-size: 20px; position: relative; font-family: "Noto Serif JP", serif;}
.ttl1 span::before{ display:block; position: absolute; left: -40px; top: 50%; content: ""; width: 32px; height: 1px; background: #fff;}
.ttl1 span::after{ display:block; position: absolute; right: -40px; top: 50%; content: ""; width: 32px; height: 1px; background: #fff;}
.ttl2{ color: #24979C; font-size: 20px; font-weight: bold;  font-family: "Noto Serif JP", serif;}
.tpr{ margin: 16px 16px 0; font-size: 16px; font-weight: 400; line-height: 200%; /* 28px */ letter-spacing: 0.7px; }

.bg1{  overflow: hidden; padding-bottom: 40px;}

.markLink{ font-family: 'Yu Mincho';}
.Link-list{ width: 24%;}
.pre .Link-list{ width: 25%;}
.Link-list a::before{ display: block; margin-bottom: 4px;}
.Link-list a.icons1::before{ content: url(../images/icon_pophotel.png);}
.Link-list a.icons2::before{ content: url(../images/icon_coupon.png);}
.Link-list a.icons3::before{ content: url(../images/icon_search.png);}
.Link-list a.icons4::before{ content: url(../images/icon_recommend.png);}
.Link-list a.icons5::before{ content: url(../images/icon_dom.png);}

.derivationC { font-size: 12px; margin: 32px 16px 0; line-height: 1.4; }
.ooedoonsen{ margin: 24px 16px; background: #fff; padding-bottom: 24px; overflow: hidden;}
.ooedoonsen .txt{ background: url(../images/ooedoonsen_logo.png) top center no-repeat; background-size: 280px; padding-top: 55px; box-sizing: border-box; margin: 24px 16px 0; font-size: 14px; line-height: 200%; letter-spacing: 1.4px;}
.ooedoonsen .txt b{ display: block; text-align: center; margin-bottom: 8px; color: #232C3F; font-family: "Noto Serif JP", serif; font-size: 18px; font-style: normal; font-weight: 600; line-height: 130%; letter-spacing: 2.4px;}
.ooedoonsen .btn{ margin: 24px 16px 0}
.ooedoonsen .btn a{ display: block; background: #232C3F url(../images/Polygon3_2.png) 95% center no-repeat; border-radius: 4px; text-align: center; color: #fff !important; font-family: "Noto Serif JP", serif; padding: 16px 0;}

#htl{ margin: 32px auto 0; padding-bottom: 32px; background: #EDF5E1;}
.ctsbox{ margin:24px 0 0; overflow: hidden; font-family: "Noto Serif JP", serif;}
.ctsbox .photo{ position: relative; padding: 8px; box-sizing: border-box; border: 1px solid #6C9235; margin: 0 16px; background: transparent;}
.ctsbox .photo > div{ position: relative;}
.ctsbox .photo img{ width: 100%;}
.ctsbox .photo .jdsSlides{ overflow: hidden;}
.ctsbox .photo .rslides_tabs{ position: absolute; bottom: -30px; left: 50%;
    transform: translateX(-50%); display: flex; justify-content: center;}
.ctsbox .photo .rslides_tabs li{ width: 10px; margin: 0 4px;}
.ctsbox .photo .rslides_tabs li a{ display: block; width: 10px; height: 10px; text-indent: -9999px; border-radius: 50px; background: none; cursor: pointer;border: 1px solid #6C9235;}
.ctsbox .photo .rslides_tabs li.rslides_here a{ background: #6C9235;}
.ctsbox .cts{ margin: 30px 16px 0; background: #fff; padding: 24px 16px 34px;  box-sizing: border-box;}
.ctsbox .name{ font-size: 20px; font-style: normal; font-weight: 600; line-height: 140%; letter-spacing: 3.2px; color: #333;}
.ctsbox .name span{ display: block; font-size: 14px; border-left: 1px solid #333; line-height: 1; margin-top: 8px; padding-left: 8px;}
.ctsbox .txt{ margin-top: 16px; font-size: 14px; line-height: 180%; letter-spacing: 1.4px; font-family: "Noto Sans JP", sans-serif; color: #333; }
.ctsbox .txt b{ display: block;color: #6C9235; font-size: 14px; font-weight: 600; line-height: 160%; letter-spacing: 1.8px; margin-bottom: 10px; font-family: "Noto Serif JP", serif;}
.ctsbox .btn{  margin: 16px 0 0;}
.ctsbox .btn a{ display: block; color: #6C9235; text-align: center; font-size: 18px; font-weight: 400; letter-spacing: 3px; padding: 12px; border-radius: 4px; border: 1px solid #6C9235; background: url(../images/Polygon3.png) 95% center no-repeat #fff;}
.ctsbox .plan{ margin: 16px 16px 0; }
.ctsbox .plan > a{ background: #fff; background-size: 25px; display: block; overflow: visible;}
.ctsbox .plan .txt { margin:16px 16px 0; color: #000; }
.ctsbox .plan .txt b{ color: #000; }
.ctsbox .hotel-price { display: flex; justify-content: center; align-items: center; position: relative; padding-bottom: 4px; margin-top: 8px;}
.ctsbox .hotel-price .percentoff{ margin-right: 24px; background: #CC0000; border-radius: 50px; text-align: center; width: 80px; height: 80px; box-sizing: border-box; padding-top: 8px; line-height: 1; color: #fff; font-weight: bold; font-size: 20px;}
.ctsbox .percentoff b{ font-size: 40px; font-style: italic; margin-right: 4px; display: inline-block;}
.ctsbox .hotel-price > div{display: flex; flex-direction: column; align-items: flex-end;}
.ctsbox .hotel-price .priceoff{ color: #666; font-size: 16px; font-weight: bold; position: relative; padding: 0 10px;}
.ctsbox .hotel-price .priceoff::after{ content: ""; width: 100%; height: 2px; background: #666; display: block; position: absolute; left: 0; top: 50%;}
.ctsbox .hotel-price .priceoff b{ display: inline-block; font-size: 28px; font-style: italic; margin-right: 8px; font-weight: normal;}
.ctsbox .hotel-price .ppopup { font-size: 14px; text-align: right; color: #333; display: inline-block; padding-bottom: 8px;}
.ctsbox .hotel-price .ppopup span { font-size: 48px; color: #CC0000; font-weight: 400; font-style: italic;}
.ctsbox .hotel-price .ppopup span.details {line-height: 1; display: flex; min-height: 50px; justify-content: right; align-items: flex-end; position: relative; left: 0; top: 0; background: url(../images/InfoOutline.png) right 20px / 24px 24px no-repeat; padding-right: 28px; }
.ctsbox .hotel-price .ppopup em{ font-size: 22px; padding: 0 0 6px 12px; font-weight: 700;}
.ctsbox .jss_popOverInfo { -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; visibility: hidden; opacity: 0; }
.ctsbox .jss_popOverInfo.active { visibility: visible; opacity: 1; }
.ctsbox .hotel-price .ppopup span.details span.price-info { display: block; position: absolute; right: 0; bottom: 43px; width: 230px; margin: 0 auto; font-size: 13px; clear: both; background-color: #fff; color: #666; border-radius: 5px; padding:8px; text-align: center; line-height: 1.4; z-index: 12; border: 1px solid #666; font-style: normal; font-family: "Noto Sans JP", sans-serif;}
.ctsbox .price-info-arrow { display: block; position: absolute; content: ""; background: url(https://img.travel.rakuten.co.jp/special/sales/images/new/arrow.png) center center no-repeat; -webkit-transform: rotate(180deg); transform: rotate(180deg); height: 8px; width: 15px; top: 6px; right: 5px; z-index: 15; }
.ctsbox .btn2 a{color: #fff; background: url(../images/Polygon3_2.png) 95% center no-repeat #6C9235;}

.atn{ margin: 24px 16px 0; font-size:14px ; line-height: 1.6;}
#htl .atn b{ display: block; color: #6C9235; font-size: 16px; font-weight: 600; line-height: 160%; letter-spacing: 1.8px; margin-bottom: 8px; font-family: "Noto Serif JP", serif;}

.jdsTab{ overflow: hidden; margin: 24px 16px 0;}
.jdsTabNav{ display: flex; justify-content: flex-start; flex-wrap: wrap;}
.jdsTabNav li{ width: calc(25% - 4px); margin: 0 2px 4px; font-size: 14px; padding: .8em 0;  text-align: center; background: #fff; border-radius: 5px; cursor: pointer;}
.jdsTabNav li.active{ background: #D75B7E; color: #fff;}
.jdsTabMain{ background: #fff; margin: 24px auto 0; padding: 16px;}
.ss-hotelbox{ margin:0 0 12px 0; display: flex; justify-content: flex-start; padding-bottom: 0; overflow: visible;}
.ss-hotel { width: 180px; background-color: #fff; position: relative; box-sizing: border-box; padding-bottom: 0;border-radius: 5px; border: 1px solid #ccc; box-shadow: 1px 1px 3px #ddd; height: auto; color: #333; margin:20px 0 8px; padding: 8px; overflow: visible;}
.ss-hotel .hotel-img{ margin-bottom:0; position: relative; margin: -9px -9px 8px; width: auto; float: none;}
.ss-hotel .hotel-img .bg-img{ border-radius: 5px 5px 0 0; display:flex;overflow:hidden;height:130px;background-size:cover; align-items:flex-start;justify-content:center}
.ss-hotel .hotel-img span{ position: absolute; left: 0; bottom: 0; width: 100%; padding: 8px; box-sizing: border-box; font-size: 12px; color: #fff; line-height: 1.4; background: rgba(0,0,0,0.7);}
.ss-hotel .area{color:#999;font-size:12px;line-height: 120%; margin: 8px 0 0;}
.ss-hotel .hotelName{ display: block; font-size: 14px; font-weight: bold; margin: 8px 0 0; color: #000;font-weight: 700; line-height: 130%;}
.ss-hotel .rvw-score{ margin: 8px 0 0;}
.ss-hotel .stars { font-size: 14px; letter-spacing: 3px; margin-right: 7.5px; width: 88px; text-align: center; display: inline-block; position: relative; }
.ss-hotel .stars .review-base { padding-left: 1.5px; color: #f3f3f3; width: 100%; box-sizing: border-box;}
.ss-hotel .stars .review-rst { padding-left: 1.5px; color: #ffba00; position: absolute; overflow: hidden; top: 0; left: 0; z-index: 1; box-sizing: border-box; }
.ss-hotel .review-score { color: #bf0000; display: inline-block; font-weight: 700; font-size: 14px; line-height: 20px; }
.ss-hotel .hotelPlan{ display: block; font-size: 14px; margin: 8px 0 0; color: #333;line-height: 1.4;}
.ss-hotel .originalPrice{ font-size:10px; color: #767676; position: relative; text-align: right; padding:10px 0 4px 0; margin:0;text-decoration:line-through;}
.ss-hotel .hotel-price{text-align:center; margin: 8px 0 0;}
.ss-hotel .rate{ font-size: 10px; font-weight: normal; display: block; border-radius: 3px; padding:3px; color: #ffffff; text-decoration: none;background:#CC0000;position: absolute;top: 0;left: 0; }
.ss-hotel .rate em{ font-size: 14px; font-style: normal;text-decoration: none;}
.ss-hotel .hotel-price .details{display:block;color:#bf0000;font-weight:700; font-size: 18px;}
.ss-hotel .hotel-price .details em{font-size:14px;font-weight: normal;}
.ss-hotel .hotel-price .details em b{font-weight:700;}
.ss-hotel .ss-button-middle.ss-button-green{ margin-top:10px;margin-bottom:8px;background-color: #ffffff; border: none; color: #333!important; font-size: 14px; box-shadow: none; font-weight: normal;border: 1px solid #ccc;}
.swiper-container-horizontal>.swiper-scrollbar{ position: static; margin-top: 8px;}
.btnAll{  margin: 24px 16px 0; font-family: "Noto Serif JP", serif;}
.btnAll a{ display: block; color: #fff; text-align: center; font-size: 18px; font-weight: 400; letter-spacing: 3px; padding: 12px; border-radius: 4px; border: 1px solid #24979C; background: url(../images/Polygon3_2.png) 95% center no-repeat #24979C;}
.pland{ margin: 24px 16px 0; text-align: center;}
.pland img{ width: 100%;}
#salePlan{ background:#FFFAEA; margin-top: 0;padding-bottom: 40px;}
.honban #hotelplan .ss-container{background: none;}
#salePlan .jdsTabMain h3{font-size: 20px;color: #D75B7E;font-family: "Noto Serif JP", serif;letter-spacing: 0.5em;}
#salePlan .ttl{ 
    /*margin-top: 40px;*/
}
#hotelplan{ background:#ffffff; margin-top: 0;
    /*padding-top: 40px;*/
}
.pre #hotelplan{ background: #F4F8FF; padding: 40px 0;}
/* #hotelplan .originalPrice,#hotelplan .rate,.honban .prebtn,.pre .honbanbtn,#salePlan .min_price,#hotelplan .Discounted_price{ display: none;} */
#salePlan .ttl1{ background-color: #D75B7E;}
#Searchbox{ margin: 0; padding: 32px 0 0;  background:#F8E3E9; background-size: cover; font-family: "Noto Sans JP", sans-serif;}
.searchWide{
    background-color: #ffffff;
}
#search-box{ background: none;}
#search-box .searchNavi{ background: none; padding: 10px;}
#search-box p.searchSubmit a{ background: #D04A00 !important;}
.honban #hotelplan .ss-container{padding-bottom: 20px;}
#cpn{ margin-top: 0; padding: 32px 0 48px;border-top: 20px solid #F8E3E9; border-bottom: 20px solid #F8E3E9;}
#cpn .swiper-container{ margin: 24px 12px 0;}
#cpn ul{}
#cpn ul li{ width: 250px; margin-right: 8px; background: #FFF;}
#cpn ul li img{ width: 100%;}

.endTxt{color: #FFF; text-align: center; font-family: "Yu Mincho"; font-size: 18px; line-height: 130%; font-style: normal; font-weight: 600; padding: 16px 8px; background: #8C0000;}

#salePlan [data-section='11月以降のSALEプラン']{ display: none !important;}
#hotelplan [data-section='10月までのSALEプラン']{ display: none !important;}

#COUPONbox.ss-container{ margin-top: 0; margin-top:40px;}
.ttlicon_w.hotel-icon:after{ background:url(../images/icon_dom2.png) no-repeat;}


#hotelplan .htlList .htl {
    width: 135px;
    box-sizing: border-box;
    border: 1px solid #c5c5c5;
    border-radius: 4px;
    overflow: hidden;
    line-height: 1.5;
    padding-bottom: 16px;
}
#hotelplan .htlList .htl .photo {
    position: relative;max-height: 169px;
    overflow: hidden;
}
#hotelplan .htlList .htl .photo span {
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px;
    font-size: 12px;
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
}
#hotelplan .htlList .htl .basic {
    padding: 8px;
    background: #fff;
}
#hotelplan .htlList .htl .area {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
}
#hotelplan .htlList .htl .htlName {
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 8px;
}

#hotelplan .htlList .htl .explain {
    font-size: 12px;
}
#hotelplan .htlList .htl .htlBtn {
    padding: 0 16px;
}
#hotelplan .htlList .htl .htlBtn li {
    margin-top: 8px;
}
#hotelplan  .htlList .htl .htlBtn li a {
    display: block;
    color: #232C3F;
    font-size: 14px;
    padding: 8px 0;
    text-align: center;
    border-radius: 3px;
    border: 1px solid #232C3F;
    font-weight: 600;
}

#cpn .swiper-wrapper{ flex-wrap: wrap;}
#cpn .swiper-wrapper li{width: 47%;margin: 1%;}
.ss-right dd li:nth-of-type(3) a { line-height: 1.2; padding: 32px 0 6px 0;}
.markLink>ul { display: flex;
    justify-content: center; 
    padding: 0; 
    list-style: none; 
}
.Link-list a { line-height: 1.2;}


/* 20250116 */
.ooedoonsen {margin: 32px 0 0;}
.ooedoonsen .txt {color: #333;}
.ooedoonsen .txt em {display: block; font-size: 16px; font-weight: 700;margin-bottom: 16px;letter-spacing: 2.4px;}
.ooedoonsen .btn a {background: #D0111B url(../images/play.png) 5% center/8px 12px no-repeat;}
.ctnBtnBox {
    width: 100%;
    margin: 16px 0;
    font-family: 'Yu Mincho';
    box-sizing: border-box;
}
.ctsBtn {
    margin: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    padding: 16px;
    color: #333333;
    
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    position: relative;
}
.ctsBtn:hover {
    color: inherit;
}
.ctsBtn p:first-of-type {
    
    font-size: 14px;
    color: #333;

}
.ctsBtn p:last-of-type {
    
    color: #CC0000;
    font-size: 24px;
    margin-top: 20px;
}
.ctsBtn::after {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background: url(../images/right.png) center / 100% no-repeat;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
}
.ctsBtn p:last-of-type em {
    font-size: 48px;
    margin-right: 5px;
 }

.ctnBtnBox .btn{ width: 90%; max-width: 400px; margin: 24px auto 0;}
.ctnBtnBox .btn a{ display: block; color: #fff; text-align: center; font-size: 18px; font-weight: 400; letter-spacing: 2px; padding: 16px; border-radius: 4px; border: 1px solid #6C9235; background: url(../images/Polygon3_2.png) 95% center no-repeat #6C9235;}
.cts3box .txt b {text-align: left;}
.cts3box .txt {color: #333;
    /* font-family: 'Yu Mincho';font-weight: 600; */
}
.cts3box .ctsbox .hotel-price .ppopup span.details{background: none;align-items: baseline;font-style: normal;font-weight: 600;padding-right: 0;margin-top: 20px;}
.cts3box .ctsbox .hotel-price {font-family: 'Yu Mincho';}
.ctsbox .hotel-price {padding-bottom: 0;}
.cts3box .ctsbox .plan a {padding: 16px;position: relative;}
.cts3box .ctsbox .plan a::after {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background: url(../images/right.png) center / 100% no-repeat;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
}
.cts3box .ctsbox .plan a .txt {margin: 0;padding: 0;}
.ss-right dd li a{
    color: #D75B7E;
}
.pagetop a{
    background-color: #D75B7E;
}

.ttlicon_w::after {
    background-image: url(../images/ttlIcon.png);
    width: 25px;
    height: 25px;
    background-size: 125px 250px;
    left: 50%;
    margin-left: -13px;
    top: 5px;
  }
  .ss-right dd ul {
    border: 1px solid #D75B7E;
    border-radius: 6px;
    overflow: hidden;}
    .ss-right dd li {
        position: relative;
        border-bottom: 1px solid #D75B7E !important;
        font-size: 75%;
        font-weight: 700;
        text-align: center;
        line-height: 2;}
.ttl img{
    width: 233PX;
}
#search-box .searchNavi li.on label {
    background: #D75B7E !important;
    border: 1px solid #D75B7E !important;
  }
  #search-box .searchNavi li.on::after {
    border-top: 7px solid #D75B7E;
  }
  #search-box p.searchSubmit {
    padding-bottom: 32px !important;

  }