/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 01 2025 | 05:01:13 */
a:focus, *:focus { outline:none; }

/*トップページボタン*/
.hero-btns .elementor-button {
  width: 260px !important; /* 任意の幅 */
}

/*保険事業見直しテーブル*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');

.custom-table {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 0.9em;
  line-height: 1.4em;
	color:#454545;
}

.custom-table table {
  width: 100%;
  border-collapse: collapse;
}

.custom-table td {
  border: 1px solid #9C71714F;
  padding: 10px;
  vertical-align: middle;
  word-break: break-word;
}

/* デフォルト（PC）：80% / 20% */
.custom-table td:first-child {
  width: 80%;
}
.custom-table td:last-child {
  width: 20%;
  text-align: right;
}

/* ヘッダー行 */
.custom-table .heading td {
  background-color: #ede8e8;
  font-weight: bold;
	color : #664b4b !important;
}

/* 合計行 */
.custom-table .total td {
  font-weight: bold;
  background-color: #ede8e8;
	color : #664b4b !important;
}

/* モバイル：70% / 30% */
@media (max-width: 768px) {
  .custom-table td:first-child {
    width: 70%;
  }
  .custom-table td:last-child {
    width: 30%;
  }
}

/* 保険事業見直し リスト表示 */
ol.custom-list li {
  margin-bottom: 1em;
}

ol.custom-list li:last-child {
  margin-bottom: 0;
}

.strong-color b {color:#8F3A3A;}


/* 横長画像スクロール＠モバイル */
.timeline-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.timeline-scroll img {
  width: 1100px; /* 必要なサイズ */
  max-width: none;
  height: auto;
  display: block;
}

/* ======================================
   WPForms カスタムスタイル
   ====================================== */

.wpforms-field-label {font-weight:500 !important;}/* ラベル強調 */
.wpforms-field-label-inline {font-size:0.95em !important;}/* ラジオボタンテキスト */
.wpforms-field-description {margin-top:15px !important;}/* 説明マージン */

/* --- ボタン共通 --- */
.wpforms-submit,
.wpforms-page-button {
  background-color: #5F87B9 !important;
  color: #FFF !important;
  width: 100% !important;
  font-size: 0.9em !important;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  border: none !important;
  padding: 0.8em 1.2em !important;
  cursor: pointer;
  transition: background-color 0.3s ease;
	border-radius:10px !important;
}

.wpforms-submit:hover,
.wpforms-page-button:hover {
  background-color: #588ED1 !important;
}

/* ------------------------------
 WPForms 確認画面 上の通知文
------------------------------ */
.wpforms-entry-preview-notice,
.wpforms-entry-preview-updating-message {padding:20px !important; border:dotted 1px #FFF !important; background-color:#FFFFFFCC !important; color:#454545 !important; font-size:0.9em !important;}

/* ------------------------------
 WPForms 確認画面 テーブル本体
------------------------------ */
.wpforms-entry-preview-wrapper {padding:5px !important; border:dotted 1px #FFF !important; background-color:#FFFFFFE6 !important; color:#454545 !important; font-size:0.9em !important; font-weight:normal !important;}

/* ------------------------------
 WPForms 送信完了メッセージ
------------------------------ */
.wpforms-confirmation-container-full {padding:20px !important; border:dotted 1px #FFF !important; background-color:#FFFFFFCC !important; color:#454545 !important; font-size:0.9em !important; border-radius: 8px !important;font-family: "Zen Kaku Gothic New", sans-serif !important;}
}

/* ===========================
   施設一覧マップ（Open User Map / Leaflet）
   親: .map-wrap
   =========================== */

/* フォント統一 */
.map-wrap .leaflet-container,
.map-wrap .leaflet-popup,
.map-wrap .leaflet-popup-content,
.map-wrap .leaflet-control,
.map-wrap .leaflet-tooltip{
  font-family: "Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans","ヒラギノ角ゴ ProN W3","Yu Gothic","游ゴシック体",Meiryo,sans-serif !important;
  font-size:12px !important;
}

/* 形状・幅（暴走しないよう max-width のみ） */
.map-wrap .leaflet-popup,
.map-wrap .leaflet-popup-content-wrapper{
  width:auto !important;
  max-width:min(420px,90vw) !important;
  box-sizing:border-box;
}
.map-wrap .leaflet-popup-content-wrapper{
  background:#fff; border:0px solid #e3ebe8; border-radius:15px; overflow:hidden;
}
.map-wrap .leaflet-popup-tip{ background:#fff; border:1px solid #e3ebe8; }

/* 余白を一括リセット → 上位要素間だけ 8px 付ける（最後は0） */
.map-wrap .leaflet-popup-content{ margin:0; padding:12px 14px; line-height:1.6; }
.map-wrap .leaflet-popup-content *{ margin:0 !important; }                 /* ←内側のpの余白も潰す */
.map-wrap .leaflet-popup-content > * + *{ margin-top:8px !important; }
.map-wrap .leaflet-popup-content > :last-child{ margin-bottom:0 !important; }
.map-wrap .leaflet-popup-content p:empty{ display:none !important; }
.map-wrap .leaflet-popup-content br + br{ display:none; }

/* 画像が入っても崩さない */
.map-wrap .leaflet-popup-content figure{ margin:0 !important; }
.map-wrap .leaflet-popup-content img{ display:block; width:100%; height:auto; border-radius:8px; }

/* デフォルト本文（説明）= 12px / #454545 */
.map-wrap .leaflet-popup-content,
.map-wrap .leaflet-popup-content p,
.map-wrap .leaflet-popup-content ul,
.map-wrap .leaflet-popup-content ol,
.map-wrap .leaflet-popup-content li{
  font-size:10px !important;
  color:#454545 !important;
  line-height:1.35 !important;
}

/* 住所 = 13px / #B95F5F（構造差異を全部カバー） */
.map-wrap .leaflet-popup-content .oum-address,
.map-wrap .leaflet-popup-content .oum-address a,
.map-wrap .leaflet-popup-content [class*="address"],
.map-wrap .leaflet-popup-content [class*="address"] a,
.map-wrap .leaflet-popup-content address,
.map-wrap .leaflet-popup-content address a,
.map-wrap .leaflet-popup-content > p:first-of-type,
.map-wrap .leaflet-popup-content > p:first-of-type a,
.map-wrap .leaflet-popup-content small:first-of-type,
.map-wrap .leaflet-popup-content small:first-of-type a{
  font-size:13px !important;
  color:#B95F5F !important;
  text-decoration:none !important;
}

/* 施設名（タイトル）= 14px / #454545 */
.map-wrap .leaflet-popup-content h1,
.map-wrap .leaflet-popup-content h2,
.map-wrap .leaflet-popup-content h3,
.map-wrap .leaflet-popup-content .oum-title,
.map-wrap .leaflet-popup-content [class*="title"],
.map-wrap .leaflet-popup-content > strong{
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  color:#454545 !important;
  margin:3px 0px !important;
}

/* 閉じるボタン（編集しやすいよう独立） */
.map-wrap .leaflet-container a.leaflet-popup-close-button{
  position:absolute; top:8px; right:8px;
  width:24px; height:24px; line-height:22px; text-align:center;
  border-radius:8px; background:#fff; border:1px solid #e3ebe8;
  color:#96aba7 !important; font-size:16px; opacity:1;
}
.map-wrap .leaflet-container a.leaflet-popup-close-button:hover{
  color:#5f7b76 !important; border-color:#cfd9d6; text-decoration:none;
}

/* OpenStreetMap右下の帰属表記（Attribution）を控えめに整える */
.map-wrap .leaflet-bottom.leaflet-right{
  left: 0; right: 0; width: 100%;
  display: flex; justify-content: center;
  pointer-events: none;               /* 親はクリック無効に */
  font-family: "Zen Kaku Gothic New","Noto Sans JP","Hiragino Sans","ヒラギノ角ゴ ProN W3","Yu Gothic","游ゴシック体",Meiryo,sans-serif !important;
}
.map-wrap .leaflet-control-attribution{
  pointer-events: auto;               /* 本体は有効に戻す */
  float: none;
  text-align: center;
  margin: 0 0 8px;
  padding: 3px 8px;
  font-size: 9px;                    /* PC 基準サイズ */
  line-height: 1.2;
  background: rgba(255,255,255,.6);
  border-radius: 6px;
  color: #777;
}
.map-wrap .leaflet-control-attribution a{
  color:#666; text-decoration:none;
}
.map-wrap .leaflet-control-attribution a:hover{
  text-decoration: underline;
}

/* スマホはさらに小さく */
@media (max-width: 767px){
  .map-wrap .leaflet-control-attribution{
    font-size: 8px !important;
    margin-bottom: 6px;
  }
}

/*コラムページ文章調整*/
.column-txt p {margin-bottom:1.5em !important;}
@media (max-width: 768px) {
  .auto-resize-text p {
    white-space: nowrap;
    font-size: 2vw; /* ビューポート幅の5% */
  }
}
