@charset "UTF-8";
/* ============================================================================
 * contents_pc.css  ─  海外プロモ 2026/08  PC(>=721px) 用スタイル
 * ----------------------------------------------------------------------------
 *  1. BASE / RESET
 *  2. LAYOUT (ss-container)
 *  3. TOP KV BANNER
 *  4. HEADER NAV / LINK LIST
 *  5. TITLES (mainTtl)
 *  6. LINK WINDOW BADGE (cpLinkwindow)
 *  7. SEARCH BOX
 *  8. HOTEL CARD (共通)
 *  9. HOTEL LIST GRID (プラン一覧)
 * 10. COUPON
 * 11. CAMPAIGN (campaignBox / campaignKv)
 * 12. MODAL / POPUP
 * 13. PICKUP (おすすめ)
 * 14. SECTION 背景色 (pickup / others / searchBox)
 * 15. TIP / 注意書き
 * 16. OTHERS SECTION
 * 17. MORE BOX (プランをもっと見る)
 * 18. BUTTON / PAGETOP
 * 19. AREA LIST / TAB
 * 20. RTE HOTEL BOX (おすすめホテル)
 * 21. NOTICE
 * 22. RESPONSIVE MEDIA QUERIES
 * ============================================================================ */


/* ============================================================================
 * 1. BASE / RESET
 * ============================================================================ */
.sp { display: none; }
.ss-contents { font-family: 'Noto Sans JP', sans-serif; min-width: auto; padding-bottom: 0; }

/* ============================================================================
 * 2. LAYOUT (ss-container)
 * ============================================================================ */
.ss-container {
  width: 80%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 0;
}
#others .ss-container  { padding: 0 0 80px;}


/* ============================================================================
 * 3. TOP KV BANNER
 * ============================================================================ */
#topBnrBox .kvBnr { background: #0F39A5; text-align: center; }
#topBnrBox .kvBnr img { width: 100%; }


/* ============================================================================
 * 4. HEADER NAV / LINK LIST
 * ============================================================================ */
.markLink { z-index: 999; background: #fff; padding: 0; height: 80px; box-sizing: border-box; }
.Link-list { background: #fff; width: fit-content; }
.Link-list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  text-decoration: none;
  color: #333;
}

/* --- アイコン (icons.svg スプライト: viewBox="0 0 111 24" / 4アイコン均等)
       表示高さ 36px → scale 1.5 → 全体幅 166.5px, 各アイコン幅 41.6px --- */
.Link-list a .nav-icon,
.ss-right dd li a .nav-icon {
  display: block;
  width: 41px;
  height: 36px;
  background-image: url(../images/icons.svg);
  background-repeat: no-repeat;
  background-size: 166px 36px;
}
.nav-icon--hotel  { background-position:   0px center; }
.nav-icon--plan   { background-position: -41px center; }
.nav-icon--search { background-position: -83px center; }
.nav-icon--others { background-position: -124px center; }

/* --- ラベル --- */
.Link-list a .nav-label {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #5A585D;
}
.ss-right dd li a {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ss-right dd li a .nav-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #5A585D;
}
.ss-right dd li a.ttlicon_w:after {
  content: none;
  display: none;
}


/* ============================================================================
 * 5. TITLES (mainTtl)
 * ============================================================================ */
.mainTtl img { width: auto; height: 120px; }
.mainTtl--icon-left,
.mainTtl--icon-right { position: relative; text-align: center; }
.mainTtl .mainTtl__icon {
  position: absolute;
  top: 50%;
  width: auto;
  height: 90px;
  transform: translateY(-50%);
}
.mainTtl--icon-left  .mainTtl__icon { left: 20%; }
.mainTtl--icon-right .mainTtl__icon { right: 20%; }

/* pickup / others セクション内のタイトル調整 */
#pickup .mainTtl img,
#others .mainTtl img { height: 100px; }
#pickup .mainTtl .mainTtl__icon,
#others .mainTtl .mainTtl__icon { height: 80px; }

.mainTtl2.subTt { margin: 20px 0; }


/* ============================================================================
 * 6. LINK WINDOW BADGE (cpLinkwindow)
 * ============================================================================ */
.cpLinkwindow { width: fit-content; margin: 0 auto 40px !important; }
.cpLinkwindow a.arr-green-windowA {
  display: inline-block;
  background-color: #cacaca;
  position: relative;
  border-radius: 5px;
  font-weight: normal;
  margin-left: 10px;
  padding: 5px 8px;
  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;
}


/* ============================================================================
 * 7. SEARCH BOX
 * ============================================================================ */
#searchBox #search-box.verB {
  padding: 0 40px;
  box-sizing: border-box;
  border-radius: 16px;
  background: transparent;
  margin-top: 0;
}
#search-box .searchCategory { background: transparent; }
#search-box.verB.test .dhAll { background: #fff; }

#search-box #overseas-search-box .searchCategory li { height: 50px; }
#search-box #overseas-search-box .searchCategory li.on:after { top: 60px; }

#search-box.verB p.ss-cb { display: inline-block; }
#search-box.verB input[type="checkbox"]:checked + label {
  background: url(../images/check.svg) left center no-repeat;
}

/* --- SEARCH NAV アイコン --- */
.searchNavi li span { display: block !important; font-size: 0; height: 28px; }
.searchNavi li span.air {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABcCAYAAADj79JYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkM2Y4NzYwMy1iZDQ1LWViNDYtOTE2YS1hYWI2MDk2ZDQ0ZTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0UzQzE3RjM4OUQ3MTFFQTg5MzBBQ0E2MTNENEY3MjQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0UzQzE3RjI4OUQ3MTFFQTg5MzBBQ0E2MTNENEY3MjQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTcxMWU3NDYtODZjMS00YzQ2LTk3ZDEtNDQxZTA1ZjUwMDEwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmQzZjg3NjAzLWJkNDUtZWI0Ni05MTZhLWFhYjYwOTZkNDRlNyIv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) no-repeat center;
  background-size: 30px;
}
.searchNavi li span.hotel {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABcCAYAAADj79JYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkM2Y4NzYwMy1iZDQ1LWViNDYtOTE2YS1hYWI2MDk2ZDQ0ZTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjdCN0I0QTk4OUQ3MTFFQUEyOERENDE4ODQwQTE2ODIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjdCN0I0QTg4OUQ3MTFFQUEyOERENDE4ODQwQTE2ODIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTcxMWU3NDYtODZjMS00YzQ2LTk3ZDEtNDQxZTA1ZjUwMDEwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmQzZjg3NjAzLWJkNDUtZWI0Ni05MTZhLWFhYjYwOTZkNDRlNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrS25PMAAADmSURBVHja7NwxDoMwDEBRjLj/lc3MFoWIBOf9nVZ6skyToZGZh77rRAAcuIADF3DgAg4cuIZ2DfqcXe4HwoRbKQJecIcP33WLlCbcShHwDXf4m50YCzxnwq0UAQcu4MCBC7iDT3fxk+dMuJUi4MA1/aXpttDMWSnABRy4gAMX8PIHH7eFZg44cAH30mzMbaGZs1KACzhwAQcu4OUPPm4LzRxw4ALupdmY20IzZ6UAF3DgAg5cwMsffKL495lw4MAFHLiA+1n4aMY/5qcJF3DgdniNI7QJF3DgwAUcuIADF3Dge3QLMADJyBPXw29gigAAAABJRU5ErkJggg==) no-repeat center;
  background-size: 30px;
}
.searchNavi li span.dp {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABcCAYAAADj79JYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkM2Y4NzYwMy1iZDQ1LWViNDYtOTE2YS1hYWI2MDk2ZDQ0ZTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkQyN0JEQkM4OUQ3MTFFQUJENzlCRDAwOUEyQ0QwMDkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkQyN0JEQkI4OUQ3MTFFQUJENzlCRDAwOUEyQ0QwMDkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTcxMWU3NDYtODZjMS00YzQ2LTk3ZDEtNDQxZTA1ZjUwMDEwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmQzZjg3NjAzLWJkNDUtZWI0Ni05MTZhLWFhYjYwOTZkNDRlNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PiXbex0AAAQSSURBVHja7JxbSBRhGIZ3zUCIDkIHUisQLwyiEwQFBR1vgogiqIvKKMOIig50EUUQRUZWFxJUFEhJYERFRUUXdRNkFqGWoZVphUEHXDWMlNTp/fNb2IZdZ2ZndnZn533hQXfmP/n67fcfZjWoaVqAck8ZtICG03CKhtNwiobTcIqGu65Mi+X9sksKMsKZUiganoY53LVc57I0RjhTCkXDfZjD7eTEYArUY4QzpVA0nIZTNJyGUzSchnPjE7eCHqnHCGdKoWg4DaeSPmnytJARzpRCwykaTsMpGk7DKRqe9hsfnhYywmk4DadoOCdNk+JpISOcKYUpxeM/xzCQC2aDBWCNvE4pBS3+gxrNZF5MlVy8AWwGCw3qaTb6SOuU0h7xfSG4AtpAH+gBLeA6WAtGgEqwCKx2cAyjwDJpP47lBCLcAnqZLaeZrGuk/VJuJeg2KNsCDoFxDv1cE8EBaVfpnkXv/uE1w+dJuaeaeX0HR8AEg/H2gUawV3dvOigHIV279X4wfJWUu6FZ1w9wFORE6bckyrUV4GaMtvrBjFQyPNFUafGrHRwDubo2M+RaMagxaKMo3rF71fCNmn0p40+AydJmFqg2Ua/Czti9arhiE/jqgPEdoAzkg7FgO/gco2yDvBN8abhivERplwPGd8oqJFPaLo5YkYQn1al2x+x1w8OotHDKIeNVG4fB8Ij01QR2ODHWdNtp5oFdoEQ2KHb0C5wGpbKp4tY+QrfARXBfXk8COx0yXpl9Rtr/SMP/r3cHXIgwPhzx28BIm171gkvgLGgyWadQxvbWq1t7s/Vug+UR9/PASdDjQI7/A86BwijjUAE8X+aAJ1JWsSXdcniseiriz4MH8rpcUo0T6gdXwV05BFwMloCCKGU/hK+nu+FhXQPr5BSxKgmnnOoXs95PT3xmytfaJPVflq6Tppl66u2d76LZj8BSPz/TfOlyf8fdeOITNEGy+qu2EJmtNsf1Cjz28iM2NyN8K5gmu83fcfZV6tbGJ1658YGe0bJjHDNEmZAs4zrk9RSwWzZQWSb7+QZywIDfI7wLvDEo0xphttInsEd2jmqb32minyK92X41XOm5wf3XMa4r4/dJ9KuPX1TKNj8kv8gv4DKYAx5GayDTp4bXGdx/Z3BffVyjQlApLlu8/BkwOFn0q+HPZL6INR/UW5x3QmYL200pmsO40WeBRHBzjPZ7TeT4uOXHHD7LYJuvVjBtNNw5zZWvNTHuNwYGTwJpuEMyOsiqS2TnVifNYBoZXydr7Wzd9feJ7NTPH8hXZjforg0MsQan4Q7oRZTteCsNT5xqo0yY3TQ8carRrf+bEt2h3w1v1q25G2h4YqWi+2Bg8E9WVD5P+ANmq+fhFCOchlM0nIbTcMod/RVgANfBwxH3joh/AAAAAElFTkSuQmCC) no-repeat center;
  background-size: 30px;
}


/* ============================================================================
 * 8. HOTEL CARD (共通)
 * ============================================================================ */
.ss-hotel .htlInfo { display: block; position: initial; padding: 0; background: none; }
.ss-hotel .htlInfo::before,
.ss-hotel .htlInfo::after { display: none; }
.ss-hotel .htlInfo span {
  display: inline-block;
  padding: 4px 8px;
  background: rgb(0, 0, 0, 0.75);
  position: absolute;
  bottom: 5px;
  right: 5px;
}
.ss-hotel .hotel-price a { display: block; }
.ss-hotel .hotel-price a span.details {
  display:inline-block;
  /* flex-wrap: wrap;
  justify-content: flex-end;
  align-items: self-end; */
}
.ss-hotel .hotel-price a span.details > span:first-child,
.ss-hotel .hotel-price a span.details > em:not(.bk) {
  flex: 0 0 auto;
  white-space: nowrap;
}
.ss-hotel .hotel-price a span.details em.bk {
  font-size: 12px;
  color: #000;
  display: block;
  flex: 0 0 100%;
  width: 100%;
  position: static;
  text-align: right;
  font-weight: normal;
  margin-right: -18px;
}
.dp .ss-hotel .hotel-price,
.air .ss-hotel .hotel-price { padding: 0; }


/* ============================================================================
 * 9. HOTEL LIST GRID (プラン一覧)
 * ============================================================================ */
.hotelList {
  padding: 0 0 40px 0 !important;
  box-sizing: border-box;
}
.hotelList .ss-hotel {
  width: calc((100% - 48px) / 4.5);
  border-radius: 8px;
  padding: 16px 16px 24px 16px;
  background: #fff;
}
.hotelList .ss-hotel .hotel-img { margin: -16px -16px 0px; }

/* --- ホテルカード --- */
.hotelList .hotel-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  border-radius: 8px;
  width: calc((100% - 48px - 6px) / 3);
  overflow: hidden;
  border: 1px solid #c9c9c9;
}

/* --- ホテル画像 --- */
.hotelList .hotel-image {
  width: 100%;
  aspect-ratio: 330 / 186;
  flex-shrink: 0;
  border-radius: 8px 8px 0 0;
}
.hotelList .hotel-image img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  pointer-events: none;
}

/* --- ホテル情報コンテナ --- */
.hotelList .hotel-info {
  background: #ffffff;
  position: relative;
  width: 100%;
  flex-shrink: 0;
}
.hotelList .hotel-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end;
  padding: 16px 16px 24px 16px;
}

/* --- タイトル・エリア --- */
.hotelList .title-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
  flex-shrink: 0;
}
.hotelList .area-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  color: #666666;
  width: 100%;
  min-width: 100%;
  flex-shrink: 0;
}
.hotelList .hotel-name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  color: #333333;
  width: 100%;
  min-width: 100%;
  flex-shrink: 0;
}

/* --- レーティング --- */
.hotelList .rating-frame {
  display: flex;
  gap: 2.974px;
  align-items: center;
  flex-shrink: 0;
}
.hotelList .stars { position: relative; flex-shrink: 0; }
.hotelList .stars-inner {
  color: #c9c9c9;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.hotelList .stars-inner img {
  position: absolute;
  height: 183.33%;
  left: -6.33%;
  top: -25%;
  width: 159.49%;
  max-width: none;
}
.hotelList .stars-score {
  position: absolute;
  color: #ffb400;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.hotelList .rating-score {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 14px;
  line-height: 0;
  color: #bf0000;
  white-space: nowrap;
}
.hotelList .rating-score p { line-height: 1; white-space: pre; }

/* --- 説明文 --- */
.hotelList .description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  color: #333333;
  width: 100%;
  flex-shrink: 0;
}

/* --- プランボタン --- */
.hotelList .plan-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00a385;
  width: 100%;
  padding: 15px 0;
  border-radius: 64.333px;
  flex-shrink: 0;
  cursor: pointer;
  transition: background 0.3s ease;
}
.hotelList .plan-button:hover { background: #008a70; }
.hotelList .plan-button p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
  white-space: pre;
  flex-shrink: 0;
}


/* ============================================================================
 * 10. COUPON
 * ============================================================================ */
#coupon { background: #F2FFFD; }
#coupon .coupon__box { width: 100%; max-width: 1280px; }
#coupon .coupon__box .coupon__box__holder {
  max-width: 1006px;
  box-sizing: border-box;
  padding: 40px 0;
  justify-content: center;
}

/* --- クーポン説明リード --- */
.couponLead {
  box-sizing: border-box;
  width: fit-content;
  max-width: 1120px;
  margin: 0 auto 36px;
  list-style: none;
}
.couponLead li {
  position: relative;
  margin: 0 0 14px;
  padding-left: 40px;
  color: #333;
  font-size: 20px;
  line-height: 1.5;
  text-align: left;
}
.couponLead li::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #00B900;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 31px;
  text-align: center;
  content: "✓";
}
.couponLead span { color: #E00000; font-weight: 700; }


/* ============================================================================
 * 11. CAMPAIGN (campaignBox / campaignKv)
 * ============================================================================ */
#campaignBox {
  background: #fff8f6 url("../images/border.png") center top/100% auto no-repeat;
}

/* --- 利用規約 termBox --- */
#campaignBox .termBox { width: 90%; margin: 0 auto 32px; font-size: 16px; line-height: 1.5; text-align: left; }
#campaignBox .termBox p { margin-top: 8px; line-height: 160%; letter-spacing: 0.5px; }
#campaignBox .termBox p em { font-style: normal; font-size: 80%; line-height: 160%; display: inline-block; padding-top: 10px; }
#campaignBox .termBox span { border-radius: 3px; border: 1px solid #333; text-align: center; font-size: 14px; padding: 4px 6px; display: inline-block; }

/* --- campBox (詳細/エントリーリンク) --- */
.campBox { margin: 24px auto 0; width: 280px; }
.campBox a,
.pLink a { text-decoration: underline !important; }
.campBox a:hover,
.pLink a:hover { text-decoration: none !important; }
#campaignBox .campBox .jds_detialPopUp,
#campaignBox .entryLink {
  margin: 0 4px;
  background: #eaeaea;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 12px;
  color: #333;
  text-decoration: none !important;
}
#campaignBox .entryLink:after {
  position: absolute;
  content: url(https://img.travel.rakuten.co.jp/camp/mobile/202207/images/iconOpen.png);
  margin-left: 20px;
}

/* --- キャンペーン注意事項 --- */
.campAt_con { font-size: 13px; line-height: 1.5; margin-bottom: 15px; }
.campAt_con dt { font-weight: bold; color: #00B900; font-size: 16px; margin-bottom: 3px; }
.campAt_con dd { margin-bottom: 10px; }
.campAt_con dd b { display: block; }

/* --- campaignKv (service_debut より転用) --- */
#campaignBox #campaignKv {
  padding: 40px 0;
  margin: 0 auto;
  border-radius: 8px;
  border: 10px solid #B3EAB3;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}
#campaignBox #campaignKv h1 { text-indent: 0; text-align: center; margin: 0px auto 32px; font-size: 24px; }
#campaignBox #campaignKv .kv_img { text-align: center; margin: 15px 0; }
#campaignBox #campaignKv .kv_img img { width: 100%; max-width: 600px; }
#campaignBox #campaignKv .service_icon { text-align: center; margin: 24px 0 48px; }
#campaignBox #campaignKv .service_icon img { width: 100%; max-width: 250px; }
#campaignBox .serviceUl { display: flex; justify-content: center; align-items: center; width: 100%; margin: 0 auto; position: relative; padding-bottom: 10px;}
#campaignBox .serviceUl div{ margin: 0 8px; min-width: 120px;}
#campaignBox .serviceUl.complete{ padding-top: 32px;}
#campaignBox .serviceUl.complete::after{ content: "Complete !"; width: 100%; height: 100%; background: rgba(0,185,0,0.75); position: absolute; left: 0; top: 0; color: #fff; font-size: 50px; display: flex; justify-content: center; align-items: center;}
#campaignBox .serviceUl span {letter-spacing: -1px; padding: 90px 0 0 0; min-width: 80px; font-size: 16px; font-weight: bold; text-align: center; color: #00B900; line-height: 1.3; display: block;}
#campaignBox .serviceUl span em { font-size: 28px; font-style: normal;}
#campaignBox .serviceUl span small { font-size: 14px;}
#campaignBox .serviceUl #pitari_dh span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_hotel.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_dp span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_plane.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_cars span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_car.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_bus span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_bus.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_ov span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_ov.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_rte span{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/images/i_rte.png) center top no-repeat; }
#campaignBox .serviceUl span.off { color: #aaa;}
#campaignBox .serviceUl span.off small{ display: table; margin: 0 auto; padding: 12px 0 0 24px; background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/check.png) left bottom no-repeat;}
#campaignBox .serviceUl #pitari_dh span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_hotel_off.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_dp span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_plane_off.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_cars span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_car_off.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_bus span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_bus_off.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_ov span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/202202/images/i_ov_off.png) center top no-repeat; }
#campaignBox .serviceUl #pitari_rte span.off{ background: url(https://img.travel.rakuten.co.jp/camp/service_debut/images/i_rte_off.png) center top no-repeat; }
#campaignBox #campaignKv .kv_mobile { text-align: center; margin: 15px 0 32px; }
#campaignBox #campaignKv .kv_mobile img { width: 100%; max-width: 500px; }


/* ============================================================================
 * 12. MODAL / POPUP
 * ============================================================================ */
.black {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999998;
}
.popUpplan {
  width: 1000px;
  position: fixed;
  left: calc(50% - 500px);
  top: 10% !important;
  background: #fff;
  z-index: 99999999;
  border-radius: 12px;
}
.popUpplan p { padding: 20px 40px; color: #000; font-size: 15px; line-height: 35px; max-height: 600px; overflow: auto; }
.popUpplan span {
  display: block;
  position: absolute;
  cursor: pointer;
  right: -10px;
  top: -10px;
  width: 30px;
  height: 30px;
  text-indent: -9999999px;
  background: url(https://img.travel.rakuten.co.jp/special/goto/202007-3/images/close_icon.png) no-repeat;
  background-size: 30px 30px;
}
.popUpplan h2 { background: #00B900; color: #fff; text-align: center; font-size: 22px; padding: 5px 0 3px; margin-bottom: 10px; }


/* ============================================================================
 * 13. PICKUP (おすすめ) タイトル装飾
 * ============================================================================ */
#pickup h3 {
  text-align: center;
  margin: 0 auto 20px;
  font-size: 24px;
  line-height: 24px;
  color: #645445;
}
#pickup .package_ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("../images/oversea_package.svg") no-repeat center center;
  vertical-align:bottom;
}
#pickup .hotel_ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("../images/oversea_hotel.svg") no-repeat center center;
  vertical-align:bottom;
}
#pickup .air_ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("../images/oversea_air.svg") no-repeat center center;
  vertical-align:bottom;
}
#pickup .rte_ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background: url("../images/ov_rte.svg") no-repeat center center;
  vertical-align:bottom;
}
/* ============================================================================
 * 14. SECTION 背景色 (pickup / others / searchBox)
 * ============================================================================ */
#pickup,
#others,
#searchBox { background: #fff8f6; }


/* ============================================================================
 * 15. TIP / 注意書き
 * ============================================================================ */
.tip { font-size: 12px; color: #333; margin: 40px 0; line-height: 16px; }


/* ============================================================================
 * 16. OTHERS SECTION
 * ============================================================================ */
#others ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
#others ul li a { display: block; }
#others ul li a img { width: 100%; height: auto; }


/* ============================================================================
 * 17. MORE BOX (プランをもっと見る)
 * ============================================================================ */
.moreBox { position: relative; }
.moreBox input { display: none; }
.moreBox label {
  position: absolute;
  z-index: 1;
  transform: translateX(-50%);
  left: 50%;
  bottom: 0px;
  width: 40%;
  max-width: 400px;
  height: auto;
  cursor: pointer;
  text-align: center;
  padding: 24px 0;
  font-size: 14px;
  font-weight: 600;
  color: #F48500;
  border-radius: 4px;
  border: 1px solid #F48500;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
}
.moreBox label:hover { opacity: 0.7; }
.moreBox label::after {
  z-index: 2;
  content: "プランをもっとみる";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.moreBox label::before {
  z-index: 10;
  display: block;
  border-top: 3px solid #F48500;
  border-right: 3px solid #F48500;
  content: "";
  position: absolute;
  left: 90%;
  top: 50%;
  transform: translateY(-65%) rotate(135deg);
  width: 8px;
  height: 8px;
  border: 1px solid #F48500;
  border-bottom: none;
  border-left: none;
}
.moreBox input:checked + label { bottom: 0px; }
.moreBox input:checked + label::after { content: "閉じる"; }
.moreBox input:checked + label::before { transform: translateY(-50%) rotate(-45deg); }
.moreBox .moreContainer {
  overflow: hidden;
  max-height: none;
  transition: all 0.3s linear;
  position: relative;
}
.moreBox input:checked ~ .moreContainer { max-height: 99999px; }


/* ============================================================================
 * 18. BUTTON / PAGETOP
 * ============================================================================ */
.ss-button { background: #00b900; margin-top: 8px; width: 100%;}
.pagetop a { background: #ec7b9e; }


/* ============================================================================
 * 19. AREA LIST / TAB
 * ============================================================================ */
.area-list {
  display: flex;
  gap: 8px;
  cursor: pointer;
  justify-content: center;
}
.area-list li {
  padding: 12px 16px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  font-size: 14px;
  border-radius: 6px;
  line-height: 1;
}
.area-list li.active {
  color: #eb7b9e;
  border-color: #eb7b9e;
  padding-left: 36px;
  background: #fff url(../images/ico-check.svg) no-repeat 16px center / 12px;
}
.area-tab-swiper .area-list {
  transform: none !important;
  transition: none !important;
}
.area-tab-swiper .area-list li { flex: initial; width: auto; }


/* ============================================================================
 * 20. RTE HOTEL BOX (おすすめホテル Swiper)
 * ============================================================================ */
#rte .hotelbox { margin-bottom: 24px; }
#rte .hotelbox .swiper-container {
  padding-top: 32px !important;
  padding-bottom: 24px !important;
}
#rte .hotelbox .swiper-slide {
  background: #fff;
  border-radius: 15px;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  top: 0;
  transition: top 0.1s linear;
}
#rte .hotelbox .swiper-slide a { color: #333; }
#rte .hotelbox .swiper-slide:hover { top: -10px; }

/* --- カード内要素 --- */
.rteImg {
  overflow: hidden;
  aspect-ratio: 8/5;
  margin-bottom: 8px;
  border-radius: 15px 15px 0 0;
}
.rteImg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rteTitle {
  font-size: 16px;
  padding: 0 16px;
  margin-bottom: 8px;
  font-weight: bold;
  line-height: 1.5;
  height: 3em;
  overflow: hidden;
}
.rtePrice {
  font-size: 20px;
  color: #006c00;
  padding: 0 16px 8px;
  word-break: break-all;
  text-align: right;
  font-weight: 600;
}
.rtePrice small { font-size: 16px; }
.rteLocation {
  font-size: 14px;
  color: #767676;
  padding: 0 16px 0 32px;
  margin-bottom: 16px;
  text-align: right;
}
.rteLocation span {
  background: url(https://img.travel.rakuten.co.jp/special/blackfriday/2025/images/icon_location.svg) no-repeat left center / 12px;
  display: inline-block;
  padding-left: 16px;
}

/* --- タグ(バッジ) --- */
#rte .hotelbox .swiper-slide .tags {
  position: absolute;
  top: -1rem;
  left: 0;
}
#rte .hotelbox .swiper-slide .tags .rteTag {
  border-radius: 100rem;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 4px 8px;
  background: #008a00;
}
#rte .hotelbox .swiper-slide .tags .orange { background: #ff6600; }


/* ============================================================================
 * 21. NOTICE
 * ============================================================================ */
.notice { font-size: 14px; color: #333; margin-top: 24px; }
.notice a { color: #0085C7; text-decoration: underline; }


/* ============================================================================
 * 22. RESPONSIVE MEDIA QUERIES
 * ============================================================================ */
@media (min-width: 1100px) and (max-width: 1220px) {
  #coupon .coupon__box__holder {
    max-width: 1006px;
    width: 100% !important;
    gap: 24px !important;
    padding: 40px 24px !important;
  }
  .couponOneClick { width: calc((100% - 48px) / 3); }
  .hotelList { padding: 40px !important; }
}

@media (min-width: 768px) and (max-width: 1099px) {
  #coupon .coupon__box__holder {
    width: 100% !important;
    gap: 16px !important;
    padding: 40px 16px !important;
    justify-content: center !important;
  }
  .couponOneClick { width: calc((100% - 32px) / 2); }
  .hotelList { padding: 40px !important; }

  #pickup .hotelList { gap: 16px; }
  #pickup .hotel-card { width: calc((100% - 32px - 6px) / 3); }

  .hotelList .ss-hotel { width: calc((100% - 24px) / 2); }
}

.ss-hotel { overflow: visible; margin: 20px 0 0;}
.ss-hotel .hotel-main .chara li.icon.ichioshi {
        position: absolute;
        top: -16px;
        left: 4px;
        background: #ff6600;
        border: 1px solid #ff6600;
        font-size: 14px;
        padding: 4px 8px;
        font-weight: 600;
        color: #fff;
        border-radius: 50px;
        font-size: 16px;
    }

