/* ---------------------------- */
/*            見出し            */
/* ---------------------------- */
._h-label {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  font-size: 1.4em;
}

._h-label::before {
  display: inline-block;
  content: "";
  width: 6px;
  height: 28px;
  background-color: #8491c3;
  margin-right: 10px;
}

/* 見出し小 */
._h2-label {
  font-size: 1.1em;
  margin-bottom: 16px;
}

._h2-label::before {
  height: 21px;
  margin-right: 6px;
  position: relative;
  top: 1px;
}

/* 見出しなし */
._no-label {
  margin-bottom: 16px;
}

._no-label::before {
  width: 0;
  height: 21px;
  margin-right: 0;
  background-color: transparent;
}

/* グレー見出し */
.cont-inner.inner-heading {
  padding-bottom: 10px;
}

.inner-heading ._h-label {
  margin: 0;
  color: #666;
  letter-spacing: 0.08em;
  font-size: 1rem;
}


/* ---------------------------- */
/*     戻るボタン(一体化)       */
/* ---------------------------- */
.sec-content.sec-back {
  display: flex;
  padding: 0;
}

.sec-content.sec-back ._back {
  width: 28px;
  background-color: #5c9291;
  border-radius: 4px 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}


/* --------------------------- */
/*         パネルボタン        */
/* --------------------------- */
.cont-inner._panel-button {
  display: flex;
  justify-content: center;
  padding: 0;
}

._panel-button .sec-content {
  max-width: 190px;
  background-color: #eaedf7;
  border: 2px solid #5654a2;
}

._panel-button .sec-content._selected {
  background-color: #b81140;
  border: 2px solid #b81140;
  pointer-events: none;
}

._panel-button .cont-inner {
  padding: 10px 16px;
  display: flex;
  height: 60px;
}

._panel-button ._display-left {
  flex-grow: 6;
}

._panel-button .sec-content._selected ._display-left {
  color: #fff;
}

._panel-button ._display-left ._h-label {
  margin-bottom: 0;
}

._panel-button ._display-right {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

._panel-button .sec-content ._display-right:has(._large-amount) {
  color: red;
}

._panel-button .sec-content._selected ._display-right {
  color: #fff;
}

._panel-button ._display-count {
  font-size: 1.4rem;
}

._panel-button ._display-count span._small-font {
  font-size: 1rem;
  font-weight: normal;
}

._panel-button ._large-amount {
  font-weight: bold;
}

/* ---------------------------- */
/*         ポップアップ         */
/* ---------------------------- */
._pop-up {
  position: relative;
  cursor: pointer;
  display: inline;
  top: 2px;
  left: -4px;
}

._pop-up .bx-question-mark {
  background-color: #887f7a;
  color: #fff;
  padding: 2px;
  border-radius: 50%;
}

._pop-up-hint {
  display: none;
  /* display: block; */
  position: absolute;
  width: 480px;
  background: #887f7a;
  color: #fff;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.6em;
  border-radius: 5px;
  top: 32px;
  left: -16px;
  z-index: 1;
}

._pop-up-hint:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 10px;
  border: 15px solid transparent;
  border-top: 15px solid #887f7a;
  transform: rotateZ(180deg);
}

._pop-up:hover ._pop-up-hint {
  display: block;
  /* top: -70px;
 left: -30px; */
}

/* ---------------------------- */
/*        ツールチップ          */
/* ---------------------------- */
._tool-tip .bx-question-mark {
  background-color: #887f7a;
  color: #fff;
  padding: 2px;
  border-radius: 50%;
}

._tool-tip {
  display: inline-block;
  position: relative;
}

._tool-tip > div {
  cursor: pointer;
}

._tool-tip > span {
  display: flex;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  transform: translateX(-50%);
  padding: 0.5em 1em;
  border-radius: 3px;
  background-color: #887f7a;
  color: #ffffff;
  font-size: 0.7em;
  white-space: nowrap;
  transition: opacity 0.3s;
}

._tool-tip > span::before {
  position: absolute;
  width: 9px;
  height: 6px;
  background-color: inherit;
  content: "";
}

._tool-tip:hover > span {
  visibility: visible;
  opacity: 1;
}

._tool-tip._tip-bottom > span {
  bottom: -34px;
  left: 50%;
}

._tool-tip._tip-bottom > span::before {
  top: -5px;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

._tool-tip._tip-top > span {
  top: -34px;
  left: 50%;
}

._tool-tip._tip-top > span::before {
  bottom: -6px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

._tool-tip._tip-right > span {
  align-items: center;
  top: 50%;
  right: -118px;
  transform: translateY(-50%);
}

._tool-tip._tip-right > span::before {
  left: -5px;
  width: 6px;
  height: 9px;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

._tool-tip._tip-left > span {
  align-items: center;
  top: 50%;
  left: -118px;
  transform: translateY(-50%);
}

._tool-tip._tip-left > span::before {
  right: -5px;
  width: 6px;
  height: 9px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* ---------------------------- */
/*           ボタン             */
/* ---------------------------- */
/* New 2023/06/13 */
.sec-content:has(.cont-inner > ._button-inner) {
  background-color: transparent;
}

.cont-inner:has(> ._button-inner) {
  padding: 0;
}

._button-inner {
  display: flex;
  margin-bottom: 10px;
}
/* New ここまで */

.cont-button {
  display: flex;
  margin-top: 10px;
  margin-bottom: 10px;
}

._button-inner ._button:not(:last-child),
.cont-button ._button:not(:last-child) {
  margin-right: 10px;
}

._button {
  min-width: 120px;
  height: 40px;
  border-radius: 25px;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.4s ease;
}

._button:hover {
  opacity: 0.8;
}

._button._base {
  border: 1px solid #1e50a2;
  background-color: #1e50a2;
}

._button._regist {
  border: 1px solid #e45e32;
  background-color: #e45e32;
}

._button._confirm {
  border: 1px solid #459495;
  background-color: #459495;
}

._button._finish {
  border: 1px solid #c9171e;
  background-color: #c9171e;
}

._button._search {
  min-width: 40px;
  height: 40px;
  border: 1px solid #5a79ba;
  background-color: #5a79ba;
  font-size: 18px;
}

/* ---------------------------- */
/*         店舗アイコン         */
/* ---------------------------- */
._shop-icon {
  font-size: 10px;
  color: #fff;
  padding: 2px;
  border-radius: 50%;
  margin-right: 5px;
  display: inline-block;
  width: 21px;
  height: 21px;
  position: relative;
  bottom: 1px;
}

._yahoo-icon {
  background-color: #ffa340;
}

._paypay-icon {
  background-color: #c5b358;
}

._rakuten-icon {
  background-color: #c9171e;
}

._makeshop-icon {
  background-color: #1e50a2;
}

._au-icon {
  background-color: #eb5505;
}
