/* 吹き出し本体 */
.balloon{
  display: none;
  position: relative;
  padding: 20px;
  background-color: #262626;
  border: 2px solid #27b1f0;
  border-radius: 3px;
  color:#ffffff;
  font-size: 0.875em;
  margin-top: 10px;
}

/* beforeで枠線の三角を表現 */
.balloon::before{
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 20px;
  top: -15px;
  border-right: 15px solid transparent;
  border-bottom: 15px solid #27b1f0;
  border-left: 15px solid transparent;
}

/* beforeで本体の三角を表現 */
.balloon::after{
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 20px;
  top: -12px;
  border-right: 15px solid transparent;
  border-bottom: 15px solid #27b1f0;
  border-left: 15px solid transparent;
}

.balloon-item:hover .balloon, .balloon-item:focus .balloon {
  display: inline-block;
}

/* タブのツールチップスタイル */
.menuTab li a[title] {
  position: relative;
  cursor: pointer;
}

.menuTab li a[title]:hover::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #262626;
  color: #ffffff;
  font-size: 0.875em;
  border: 2px solid #27b1f0;
  border-radius: 3px;
  white-space: nowrap;
  z-index: 1000;
  pointer-events: none;
}

.menuTab li a[title]:hover::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  margin-top: -7px;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #27b1f0;
  z-index: 1001;
  pointer-events: none;
}

/* FAQアイコンツールチップスタイル */
.faqIcon-tooltip {
  position: relative;
  padding-left: 1.5em;
  margin-left: 0.3em;
  cursor: help;
  display: inline-block;
  vertical-align: middle;
}

.faqIcon-tooltip::before {
  background: url(../images/alert_icon_confirm.png) no-repeat center center;
  background-size: contain;
  content: '';
  display: inline-block;
  height: 1.2em;
  width: 1.2em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-60%);
  vertical-align: middle;
}

/* 内部のdivをツールチップとして表示 */
.faqIcon-tooltip > .tooltip-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: 1000;
  background-color: #262626;
  color: #fff;
  padding: 8px 12px;
  border: 2px solid #27b1f0;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  top: calc(100% + 15px);
  left: 50%;
  transform: translateX(-50%);
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

/* 矢印（枠線） */
.faqIcon-tooltip > .tooltip-content::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom-color: #27b1f0;
}

/* 矢印（本体） */
.faqIcon-tooltip > .tooltip-content::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: -2px;
  border: 6px solid transparent;
  border-bottom-color: #262626;
}

/* hoverおよびfocus時に表示 */
.faqIcon-tooltip:hover > .tooltip-content,
.faqIcon-tooltip:focus > .tooltip-content {
  visibility: visible;
  opacity: 1;
}

/* button-tooltipスタイル */
.button-tooltip-wrapper {
  position: relative;
  display: inline-block;
}

.button-tooltip {
  cursor: pointer;
}

.button-tooltip-wrapper .tooltip-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: 1000;
  background-color: #262626;
  color: #fff;
  padding: 8px 12px;
  border: 2px solid #27b1f0;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

/* 矢印（枠線） */
.button-tooltip-wrapper .tooltip-content::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-bottom-color: #27b1f0;
}

/* 矢印（本体） */
.button-tooltip-wrapper .tooltip-content::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: -2px;
  border: 6px solid transparent;
  border-bottom-color: #262626;
}

/* hoverおよびfocus時に表示 */
.button-tooltip:hover + .tooltip-content,
.button-tooltip:focus + .tooltip-content {
  visibility: visible;
  opacity: 1;
}

