/* ================================
   共通
   ================================ */
/*#####　文字揃え　#####*/
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}

/*#####　その他　#####*/
.br-pc {
  display: block;
}

#container {
  margin: 0 auto;
}

#container {
  margin: 0 auto;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}
#container::-webkit-scrollbar { /* Chrome, Safari 対応 */
  display: none;
}

/* -------------------------------------
   エラーメッセージ（全体）
-------------------------------------- */
.site-error-box {
    background-color: #ffe6e6;      /* やさしめの赤背景 */
    border: 1px solid #ffb3b3;      /* 薄い赤枠 */
    color: #b30000;                 /* 文字は濃い赤 */
    padding: 10px 12px;
    margin-bottom: 16px;
    border-radius: 6px;             /* 角丸 */
    font-size: 14px;
    line-height: 1.6;
}

.site-error-box strong {
    font-weight: 600;
}

/* -------------------------------------
   エラー見出しのテキスト
-------------------------------------- */
.site-error-box > p {
  margin: 0 0 8px;
  font-weight: bold;
}

/* -------------------------------------
   エラーリスト
-------------------------------------- */
.site-error-box ul {
  margin: 0;
  padding: 0 0 0 18px;   /* リスト左側だけ少し下げる */
}

.site-error-box li {
  margin-bottom: 4px;
  line-height: 1.6;
}

/* -------------------------------------
   成功メッセージ（全体）
-------------------------------------- */
.site-success-box {
  background-color: #e6ffed;
  color: #146c2e;
  border: 1px solid #b2f2bb;
  padding: 10px 12px;
  margin-bottom: 16px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.6;
}

/* ===== グローバル tooltip ===== */
.exnet-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  transform: none;
  max-width: min(260px, 85vw);
  background: #7d7d7d;
  color: #fff;
  padding: 10px 14px;
  border-radius: 6px;
  box-sizing: border-box;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* ▲tooltip 内テキスト */
.exnet-tooltip__inner {
  font-size: 13px;
  line-height: 1.6;
}

/* tooltip の三角形（▲） */
.exnet-tooltip::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;

  /* とりあえず上表示版。下表示版は JS で切り替えする */
  border-width: 8px 6px 0 6px;
  border-color: rgba(255, 255, 255, 0.85) transparent transparent transparent;

  left: 50%;
  transform: translateX(-50%);
  top: 100%;        /* 上に吹き出し → 三角形は下側に配置 */
}

/* ▲デフォルト：tooltip が上に出る（矢印は下側） */
.exnet-tooltip.above::after {
  border-width: 8px 6px 0 6px;
  border-color: rgba(125, 125, 125, 0.85) transparent transparent transparent;
  top: 100%;
}

/* ▼tooltip が下に出る（矢印は上側） */
.exnet-tooltip.below::after {
  border-width: 0 6px 8px 6px;
  border-color: transparent transparent rgba(125, 125, 125, 0.85) transparent;
  top: -8px; /* 三角形の高さ */
}

/* 表示中 */
.exnet-tooltip.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* i ボタン */
.tooltip-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  font-size: 12px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: #ddd;
  color: #333;
  cursor: pointer;
}

/* -------------------------------------
   モーダル（全体）
-------------------------------------- */
/* モーダル全体（薄黒背景） */
.exnet-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* モーダル本体 */
.exnet-modal-content {
  font-size: 14px;
  background: #ffffff;
  padding: 24px 28px;
  border-radius: 10px;
  text-align: center;
  max-width: 320px;
  width: 90%;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

/* OKボタン */
#id-exnet-modal-ok {
  margin-top: 16px;
  padding: 10px 20px;
  background-color: #0073aa;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

#id-exnet-modal-ok:hover {
  background-color: #005f8c;
}

/* HP表示画像注意リスト */
.hp-image-caution-block {
    background-color: #ffe6e6;      /* やさしめの赤背景 */
    border: 1px solid #ffb3b3;      /* 薄い赤枠 */
    color: #000;                 /* 文字は濃い赤 */
    padding: 2px 2px;
    margin-bottom: 12px;
    border-radius: 6px;             /* 角丸 */
    font-size: 14px;
    line-height: 1.6;
}

.hp-image-caution-list ol {
  list-style: decimal;
  padding: 10px 0 5px 50px;
}

/* プライバシーポリシー */
.privacy-policy-box {
  width: 100%;
  margin: 0px auto 0px auto;
  max-height: 250px; /* 高さを制限 */
  overflow-y: auto;
  background-color: #fdfaef;
}

.privacy-policy-page-main {
  width: 100%;
  margin: 0 auto;
}

.privacy-policy-page-title {
  font-size: 18px;
  text-align: center;
}

.privacy-policy-page-main ol {
  list-style: decimal;
  padding: 10px 0 5px 50px;
}


/* 反社会的勢力チェック */
.anti-social-force-label {
    display: inline-flex;        /* ← flex が最重要 */
    align-items: center;         /* ← 縦中央揃え */
    gap: 6px;
    cursor: pointer;
}

.anti-social-force-box input[type="checkbox"] {
  margin: 3px 3px 3px 4px;
  flex-shrink: 0;        /* チェックが縮まないように */
}

.anti-social-force-box .label-text {
    display: inline-block;
    line-height: 1.6;      /* 好きな高さで調整 */
}

/* 文字数カウンター */
#id-input-text-counter {
  float: right;
}
#id_inputLength {
  padding: 0;
}

/* スマホ縦用 */
@media screen and (min-width: 0px) and (max-width: 480px) {
  /*#####　その他　#####*/
  .br-pc {
    display: none;
  }
}

/* スマホ縦用 */
@media screen and (min-width: 0px) and (max-width: 480px) {
  /*#####　その他　#####*/
  .br-pc {
    display: none;
  }
}

/* スマホ横用 */
@media screen and (min-width: 481px) and (max-width: 896px) {
  /*#####　その他　#####*/
  .br-pc {
    display: none;
  }
}

/* PC用 */
@media print, screen and (min-width:897px) {
  /*#####　その他　#####*/
  .br-pc {
    display: block;
  }
}