.elementor-184539 .elementor-element.elementor-element-f43fb95{--display:flex;}.elementor-184539 .elementor-element.elementor-element-d4611dd{background-color:#0000002B;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}#elementor-popup-modal-184539 .dialog-widget-content{animation-duration:1.2s;background-color:#02010100;}#elementor-popup-modal-184539 .dialog-message{width:33vw;height:100vh;align-items:center;}#elementor-popup-modal-184539{justify-content:center;align-items:center;}@media(max-width:767px){.elementor-184539 .elementor-element.elementor-element-d4611dd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:9px 9px 9px 9px;}#elementor-popup-modal-184539 .dialog-message{width:85vw;}}/* Start custom CSS for html, class: .elementor-element-d4611dd *//* ===== Elementor外側のオーバーレイ（背景暗転） ===== */
.elementor-popup-modal .dialog-overlay {
  background: rgba(0,0,0,.6) !important; /* 黒 60% */
}

/* ポップアップ本体の余計な背景/影は無効化（2重防止） */
.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-message {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* ===== コンテンツカード（中身の枠） ===== */
.language-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 28px;
  background: rgba(60,60,60,.88);   /* 中面は落ち着いた半透明グレー */
  border-radius: 12px;               /* 外枠の角丸（お好みで調整可） */
}

/* ロゴ・タイトル */
.language-logo { max-width: 160px; width: 60%; height: auto; }
.language-title {
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  text-align: center;
}

/* ===== 3列グリッド ===== */
.language-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列表示 */
  gap: 10px 14px;
  max-width: 640px;                      /* 3列に合わせて少し広め */
  margin: auto;
}

/* ボタン（角丸=6px、すっきりサイズ） */
.language-grid a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 6px;                    /* ← ご指定: 999 → 6 */
  background: rgba(255,255,255,0.06);
  transition: all .18s ease;
  white-space: nowrap;
}
.language-grid a:hover {
  background: #fff;
  color: #000;
  transform: translateY(-1px);
}
.language-grid a .code { font-weight: 600; letter-spacing: .4px; }

/* 国旗 */
.language-grid img {
  width: 18px;
  height: 13px;
  object-fit: cover;
  border-radius: 2px;
}

/* 優先言語（上段）わずかに強調（任意） */
.language-grid .top a {
  border-color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.10);
}

/* 右上 × ボタン（必要な場合） */
.language-close {
  position: absolute;
  top: 10px; right: 12px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.5);
  color: #fff; display:flex; align-items:center; justify-content:center;
  font-size: 18px; line-height: 1; cursor: pointer; transition: .18s ease;
  z-index: 5;
}
.language-close:hover { background:#fff; color:#000; transform: translateY(-1px); }

/* ===== モバイル最適化 ===== */
/* 幅が狭い端末では2列にして押しやすく */
@media (max-width: 480px){
  .language-container { padding: 20px; }
  .language-grid { grid-template-columns: repeat(2, 1fr); max-width: 420px; }
  .language-grid a { height: 36px; font-size: 13px; padding: 0 10px; gap: 8px; }
  .language-logo { max-width: 140px; }
}/* End custom CSS */