@charset "shift_jis";

html {
  scrollbar-gutter: stable;
}

.wrapper {
  box-sizing: border-box;
}

.mainContent {
  width: 950px;
  margin: 0 auto 30px;
}

/* お知らせ枠 */
.kifuInfo {
  margin: 10px 0 20px;
}

.kifuInfo__text {
  padding: 8px;
  font-size: 12px;
  word-break: break-all;
  white-space: pre-wrap;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

/* タイトルエリア */
.title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 10px 0 20px;
}

.title__kifuAreaName {
  font-size: 28px;
}

.title__info {
  display: flex;
  align-items: flex-start;
}

.title__infoTextBox {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.title__infoNumber {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}

.title__infoNotes {
  font-size: 12px;
  color: #918b8a;
}

.title__infoUnit {
  font-size: 16px;
}

.title__infoButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 24px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
}

/* メインビジュアル・寄付金額選択エリア */

.main {
  display: flex;
  gap: 32px;
}

.main__kifuDetailForm {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
  background-color: #fbf4ea;
}

.main__kifuAmount {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.main__kifuSelectWrap,
.main__kifuCouponWrap {
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 18px;
}

.main__kifuSelect {
  position: relative;
}

.main__kifuSelectButton {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 319px;
  height: 40px;
  padding: 0 8px;
  font-size: 16px;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

.main__kifuSelectButton.is-disabled {
  color: #ccc;
  pointer-events: none;
  background: #eee;
}

.main__kifuSelectedAmount {
  font-size: 20px;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001; /* 共通ヘッダーのz-indexの最大値が10000だったため、10001としています。 */
  display: none;
  width: 100%;
  height: 100%;
  background: transparent;
}

.is-open {
  display: block;
}

.dropdown {
  z-index: 10001; /* 共通ヘッダーのz-indexの最大値が10000だったため、10001としています。 */
  width: 319px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #bcb6b3;
  border-radius: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
}

.dropdown[open] {
  display: block;
}

.dropdown__list {
  max-height: 453px;
  overflow-y: auto;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
}

.dropdown__header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-items: center;
  padding: 12px 0 13px;
  font-size: 12px;
  font-weight: bold;
  color: #3b1800;
  appearance: none;
  cursor: default;
  border-bottom: 1px solid #e0dbd7;
}

.dropdown__price {
  width: 100px;
  text-align: end;
}

.dropdown__price--coupon {
  color: #ad8f5c;
}

.dropdown__coupon {
  color: #ad8f5c;
}

.dropdown__item {
  position: relative;
  border-bottom: 1px solid #e0dbd7;
}

.dropdown__item:last-child {
  border-bottom: none;
}

.dropdown__itemInner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-items: center;
  width: 100%;
  padding: 8px 0;
  font-size: 16px;
  font-weight: bold;
  appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: none;
}

.dropdown__itemInner:hover {
  background: #fef5d8;
}

.dropdown__unit {
  font-size: 12px;
}

.checkIcon {
  position: absolute;
  top: 50%;
  left: 8px;
  font-size: 24px;
  color: #e77611;
  transform: translateY(-50%);
}

.dropdown__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 41px;
  padding-right: 12px;
  border-top: 1px solid #e0dbd7;
}

.dropdown__closeButton {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 0;
  font-size: 12px;
  font-weight: bold;
  color: #1558ce;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

.dropdown__closeButton:hover {
  color: #e78a13;
}

.main__kifuCouponWrap {
  gap: 0;
  justify-content: space-between;
  font-weight: bold;
  color: #ad8f5c;
}

.main__kifuCouponAmount {
  font-size: 20px;
}

.main__kifuCouponUnit {
  font-size: 16px;
}

.main__kifuButton {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.main__kifuButtonSubText {
  font-size: 12px;
}

.main__kifuNotice {
  font-size: 12px;
}

.main_kifuNoticeButton {
  padding: 0;
  margin: 0;
  font: inherit;
  color: #1558ce;
  text-decoration: underline;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
}

.main_kifuNoticeButton:hover {
  color: #e77611;
}

.main__kifuStopContent {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #ca1738;
  border-radius: 4px;
}

.main__kifuStopText {
  font-size: 16px;
  font-weight: bold;
  color: #ca1738;
}

/* 「割引制限について」モーダル */
.discountPolicyModal {
  width: 800px;
  padding: 0;
  overflow: visible;
  border: none;
  border-radius: 4px;
}

.discountPolicyModal::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}

.discountPolicyModalContent {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px;
  background-color: #fff;
  border-radius: 4px;
}

.discountPolicyModalContent__inner {
  display: flex;
  justify-content: space-between;
}

.discountPolicyModalContent__title {
  font-size: 16px;
  font-weight: bold;
  color: #3b1800;
}

.discountPolicyModal__buttonClose {
  width: 16px;
  height: 16px;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
}

.discountPolicyModal__buttonCloseIcon {
  font-size: 16px;
}

.discountPolicyModalContent__text {
  color: #3b1800;
}

.discountPolicyModalContent__link {
  color: #1558ce;
  text-decoration: underline;
}

.is-noscroll {
  position: fixed;
  right: 0;
  left: 0;
}

/* 寄付先説明文 */
.areaDescription {
  margin-top: 20px;
}

.areaDescription__text {
  max-height: 42px;
  overflow: hidden;
  word-break: break-all;
  white-space: pre-wrap;
  transition: all 0.4s;
}

.areaDescription__button {
  display: none;
  align-items: center;
  padding: 0;
  margin: 4px 0 0 auto;
  color: #1558ce;
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
}

.is-show {
  display: flex;
}

.areaDescription__button:hover {
  color: #e77611;
}

.areaDescription__icon {
  font-size: 24px;
}

/* 返礼品について・注意事項 */
.kifuDescription {
  padding: 12px;
  margin-top: 20px;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

.kifuDescription__title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
}

.kifuDescription__title:not(:first-child) {
  margin-top: 24px;
}

.kifuDescription__text {
  word-break: break-all;
  white-space: pre-wrap;
}

/* クーポン対象宿 */
.targetHotelList {
  margin-top: 40px
}

.targetHotelList__title {
  position: relative;
  padding-left: 12px;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: bold;
}

.targetHotelList__title::before {
  position: absolute;
  left: 0;
  width: 4px;
  height: 24px;
  content: '';
  background-color: #e77611;
  border-radius: 2px;
}

.slider {
  position: relative;
  max-width: 950px;
}

.slider__viewport {
  width: 100%;
  overflow: hidden;
}

.slider__track {
  display: flex;
  gap: 12px;
  transition: transform 0.5s ease-in-out;
}

.slider__content {
  width: 180px;
  border: 1px solid #bcb6b3;
}

.slider__photoWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 178px;
  height: 134px;
  overflow: hidden;
}

.slider__facilityPhoto {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.slider__content a:hover .slider__facilityPhoto {
  opacity: 0.7;
}

.slider__contentInfo {
  padding: 8px;
}

.slider__hotelName {
  display: -webkit-box;
  height: 42px;
  margin-bottom: 4px;
  overflow: hidden;
  font-weight: bold;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.slider__rating {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.slider__ratingNum {
  margin-right: 2px;
  font-weight: bold;
  color: #e77611;
}

.c-starRating,
.c-starRating__front {
  font-size: 0;
}

.c-starRating span {
  width: 14px;
  height: 14px;
}

.c-starRating > span {
  background: url('/assets/img/common/icons/icon_03s_01.svg');
  background-repeat: no-repeat;
  background-size: 14px 14px;
}

.c-starRating__front > span {
  background: url('/assets/img/common/icons/icon_03s_05.svg');
  background-repeat: no-repeat;
  background-size: 14px 14px;
}

.c-starRating--00 span {
  width: 0;
}

.c-starRating span:not(:first-child) {
  margin-left: 0;
}

.c-starRating--00 .c-starRating__front {
  width: 0;
}

.c-starRating--01 .c-starRating__front {
  width: 1.4px;
}

.c-starRating--02 .c-starRating__front {
  width: 2.8px;
}

.c-starRating--03 .c-starRating__front {
  width: 4.2px;
}

.c-starRating--04 .c-starRating__front {
  width: 5.6px;
}

.c-starRating--05 .c-starRating__front {
  width: 7px;
}

.c-starRating--06 .c-starRating__front {
  width: 8.4px;
}

.c-starRating--07 .c-starRating__front {
  width: 9.8px;
}

.c-starRating--08 .c-starRating__front {
  width: 11.2px;
}

.c-starRating--09 .c-starRating__front {
  width: 12.6px;
}

.c-starRating--10 .c-starRating__front {
  width: 14px;
}

.c-starRating--11 .c-starRating__front {
  width: 15.4px;
}

.c-starRating--12 .c-starRating__front {
  width: 16.8px;
}

.c-starRating--13 .c-starRating__front {
  width: 18.2px;
}

.c-starRating--14 .c-starRating__front {
  width: 19.6px;
}

.c-starRating--15 .c-starRating__front {
  width: 21px;
}

.c-starRating--16 .c-starRating__front {
  width: 22.4px;
}

.c-starRating--17 .c-starRating__front {
  width: 23.8px;
}

.c-starRating--18 .c-starRating__front {
  width: 25.2px;
}

.c-starRating--19 .c-starRating__front {
  width: 26.6px;
}

.c-starRating--20 .c-starRating__front {
  width: 28px;
}

.c-starRating--21 .c-starRating__front {
  width: 29.4px;
}

.c-starRating--22 .c-starRating__front {
  width: 30.8px;
}

.c-starRating--23 .c-starRating__front {
  width: 32.2px;
}

.c-starRating--24 .c-starRating__front {
  width: 33.6px;
}

.c-starRating--25 .c-starRating__front {
  width: 35px;
}

.c-starRating--26 .c-starRating__front {
  width: 36.4px;
}

.c-starRating--27 .c-starRating__front {
  width: 37.8px;
}

.c-starRating--28 .c-starRating__front {
  width: 39.2px;
}

.c-starRating--29 .c-starRating__front {
  width: 40.6px;
}

.c-starRating--30 .c-starRating__front {
  width: 42px;
}

.c-starRating--31 .c-starRating__front {
  width: 43.4px;
}

.c-starRating--32 .c-starRating__front {
  width: 44.8px;
}

.c-starRating--33 .c-starRating__front {
  width: 46.2px;
}

.c-starRating--34 .c-starRating__front {
  width: 47.6px;
}

.c-starRating--35 .c-starRating__front {
  width: 49px;
}

.c-starRating--36 .c-starRating__front {
  width: 50.4px;
}

.c-starRating--37 .c-starRating__front {
  width: 51.8px;
}

.c-starRating--38 .c-starRating__front {
  width: 53.2px;
}

.c-starRating--39 .c-starRating__front {
  width: 54.6px;
}

.c-starRating--40 .c-starRating__front {
  width: 56px;
}

.c-starRating--41 .c-starRating__front {
  width: 57.4px;
}

.c-starRating--42 .c-starRating__front {
  width: 58.8px;
}

.c-starRating--43 .c-starRating__front {
  width: 60.2px;
}

.c-starRating--44 .c-starRating__front {
  width: 61.6px;
}

.c-starRating--45 .c-starRating__front {
  width: 63px;
}

.c-starRating--46 .c-starRating__front {
  width: 64.4px;
}

.c-starRating--47 .c-starRating__front {
  width: 65.8px;
}

.c-starRating--48 .c-starRating__front {
  width: 67.2px;
}

.c-starRating--49 .c-starRating__front {
  width: 68.6px;
}

.c-starRating--50 .c-starRating__front {
  width: 70px;
}

.slider__price {
  display: flex;
  flex-direction: column;
  text-align: right;
}

.slider__searchCondition {
  font-size: 10px;
  color: #5b4843;
}

.slider__totalPrice {
  font-size: 16px;
  font-weight: bold;
  color: #3b1800;
}

.slider__priceUnit {
  font-size: 12px;
}

.slider__unitPrice {
  font-size: 12px;
  color: #5b4843;
}

.slider__button {
  all: unset;
  position: absolute;
  top: 50%;
  width: 24px;
  height: 24px;
  overflow: hidden;
  cursor: pointer;
  transform: translateY(-50%);
}

.slider__button--prev {
  left: -16px;
  background: url('/assets/img/common/icons/icon_arrowLeft.svg') left center no-repeat;
}

.slider__button--next {
  right: -14px;
  background: url('/assets/img/common/icons/icon_arrowRight.svg') left center no-repeat;
}

.targetHotelList__more {
  margin-top: 20px;
  text-align: end;
}

.targetHotelList__moreLink {
  font-weight: bold;
}

/* 静的コンテンツ部分 */
.staticContents {
  margin-top: 40px;
}