@charset "shift_jis";

.showKifuDetailModal {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}

.kifuDetailModal.kifuDetailModal {
  min-width: 616px;
  padding: 0;
  margin: 20px auto;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 4px;
}

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

.kifuDetailModalContent.kifuDetailModalContent {
  width: 616px;
  height: calc(100vh - 40px); /* 40px -> 寄付詳細モーダル上下margin */
  padding-bottom: 20px;
  background-color: #fff;
  border-radius: 4px;
}

.kifuDetailModalCloseButton {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 16px;
  height: 16px;
  padding: 0;
  font-size: 0;
  appearance: none;
  cursor: pointer;
  background-color: transparent;
  background-size: 20px;
  border: none;
}

.kifuDetailModalCloseButton__icon.kifuDetailModalCloseButton__icon {
  font-size: 16px;
  vertical-align: top;
}

.kifuDetailModal__title.kifuDetailModal__title {
  padding: 20px;
  font-size: 24px;
  font-weight: bold;
  color: #ad8f5c;
  text-align: center;
}

.kifuDetailModal__furoshiki.kifuDetailModal__furoshiki {
  margin-right: 4px;
  font-size: 24px;
  color: #ad8f5c;
}

.kifuDetailModal__scrollArea.kifuDetailModal__scrollArea {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 136px); /* 136px -> モーダル内スクロール対象外部分の高さ合計 */
  padding: 0 20px;
  overflow-y: auto;
  text-align: left;
}

.kifuDetailModal__subText.kifuDetailModal__subText { /* 説明文 */
  margin-bottom: 16px;
  white-space: pre-line;
}

.kifuDetailModal__contents.kifuDetailModal__contents {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-height: calc(100% - 40px); /* 40px -> モーダル下部黒背景 + モーダル下部のスクロール対象外部分の高さ */
}

.kifuInfoText.kifuInfoText { /* お知らせ */
  padding: 8px;
  margin-bottom: 16px;
  font-size: 12px;
  white-space: pre-line;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

.kifuDetailModalLoading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.kifuDetailModalLoading::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 48px;
  height: 48px;
  margin: auto;
  content: '';
  border: 3px solid #918b8a;
  border-top-color: transparent;
  border-radius: 50%;
  animation: rotating 1s linear 0s infinite;
}

@keyframes rotating {
  0% {
    transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}

.kifuDetailModal__mypage.kifuDetailModal__mypage {
  padding: 8px;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: bold;
  color: #e77611;
  text-align: center;
  border: 1px solid #e77611;
  border-radius: 4px;
}

.kifuDetailModal__mypageTitle.kifuDetailModal__mypageTitle {
  font-size: 16px;
}

.kifuDetailModal__mypageLink.kifuDetailModal__mypageLink {
  display: inline-block;
  margin-top: 8px;
  font-weight: normal;
}

.kifuStoppedAnnounce.kifuStoppedAnnounce {
  padding: 8px;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: bold;
  color: #ca1738;
  text-align: center;
  border: 1px solid #ca1738;
  border-radius: 4px;
}

.kifuArea.kifuArea {
  display: grid;
  grid-template-columns: 64px 1fr;
  column-gap: 20px;
  padding: 16px 20px;
  font-size: 16px;
  background-color: #fbf4ea;
}

.kifuArea__area.kifuArea__area {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-self: start;
}

.kifuArea__areaItem.kifuArea__areaItem {
  display: flex;
  gap: 4px;
  align-items: center;
}

.kifuAreaRadio.kifuAreaRadio {
  position: relative;
  width: 16px;
  height: 16px;
  margin: 0;
  vertical-align: text-bottom;
  appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: 2px solid #bcb6b3;
  border-radius: 8px;
}

.kifuArea__name.kifuArea__name {
  cursor: pointer;
}

.kifuArea__stoppedMessage.kifuArea__stoppedMessage {
  margin-left: 16px;
  font-size: 12px;
  font-weight: bold;
  line-height: 16px;
  color: #ca1738;
  vertical-align: text-bottom;
}

.kifuAreaRadio[type='radio']:disabled + .kifuArea__name.kifuArea__name {
  cursor: default;
}

.kifuAreaRadio[type='radio']:disabled {
  cursor: default;
  background-color: #eee;
  border: 2px solid #e6e6e6;
}

.kifuAreaRadio:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  content: '';
  background: #e77611;
  border-radius: 4px;
  transform: translate(-50%, -50%);
}

.kifuAmount.kifuAmount {
  padding: 16px 20px;
  margin-top: 16px;
  background-color: #fbf4ea;
}

.kifuAmountWrap.kifuAmountWrap {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px;
  align-items: center;
  font-size: 16px;
}

.kifuAmount__price.kifuAmount__price {
  position: relative;
  margin-left: auto;
}

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

.kifuAmount__priceDropdownOpenButton:disabled {
  color: #ccc;
  pointer-events: none;
  background-color: #eee;
  border: 1px solid #bcb6b3;
}

.kifuDetailModalOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;
  width: 100%;
  height: 100%;
  background: transparent;
}

.priceDropdown.priceDropdown {
  position: absolute;
  z-index: 1;
  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);
}

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

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

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

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

.selectedIcon.selectedIcon {
  position: absolute;
  left: 8px;
  font-size: 24px;
  color: #e77611;
}

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

.priceDropdown__itemInner:hover {
  background: #fef5d8;
}

.priceDropdown__itemPrice.priceDropdown__itemPrice {
  width: 100px;
  text-align: right;
}

.priceDropdown__coupon.priceDropdown__coupon {
  color: #ad8f5c;
}

.priceDropdown__yen.priceDropdown__yen {
  font-size: 12px;
}

.priceDropdown__footer.priceDropdown__footer {
  width: 100%;
  padding: 12px;
  text-align: end;
  border-top: 1px solid #e0dbd7;
}

.priceDropdown__closeButton.priceDropdown__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;
}

.priceDropdown__closeButton.priceDropdown__closeButton:hover {
  color: #e78a13;
}

.kifuAmount__coupon.kifuAmount__coupon {
  font-weight: bold;
  color: #ad8f5c;
}

.kifuAmount__submitButton.kifuAmount__submitButton {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  width: 100%;
  width: 280px;
  height: 100%;
  padding: 9px 0;
  margin: 12px auto 0;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.kifuAmount__submitButton:disabled {
  pointer-events: none;
  background: linear-gradient(#eee, #ccc);
  border: 1px solid #eee;
}

.kifuAmount__submitButton:disabled span {
  color: #999;
}

.kifuAmount__submitButtonSubtext.kifuAmount__submitButtonSubtext {
  font-size: 12px;
}

.noticeMessageWrapper.noticeMessageWrapper {
  margin-top: 16px;
  font-size: 12px;
}

.noticeMessage::before {
  content: '※';
}

.noticeMessage .noticeMessage__link.noticeMessage__link {
  text-decoration: underline !important;
}

.kifuMessage.kifuMessage {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 12px;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

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

.kifuMessageText.kifuMessageText {
  white-space: pre-line;
}

.errorAreaWrap.errorAreaWrap {
  margin-top: 20px;
}

.errorArea.errorArea {
  padding: 16px;
  text-align: center;
  background-color: #f7f5f2;
  border-radius: 4px;
}

.reloadButton.reloadButton {
  width: 200px;
  height: 40px;
  padding: 0;
  margin-top: 20px;
  cursor: pointer;
}

.maintenanceModal.maintenanceModal {
  box-sizing: border-box;
  display: flex;
  gap: 8px;
  justify-content: center;
  width: 100%;
  padding: 12px;
  margin-top: 20px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  color: #3b1800;
  border: 1px solid #bcb6b3;
  border-radius: 4px;
}

.maintenanceModal__icon.maintenanceModal__icon {
  font-size: 20px;
}

.is-open {
  display: block;
}

.is-hidden.is-hidden {
  display: none;
}