.vk_post_sns_share {
  display: none;
}

/* ================= 基本設定 ================= */
h1{font-size:1.8em; margin-top:0.5em !important;font-weight:bold;}
.article h2:before{content:"■ "}
.article h3:before {content: "□ ";}
.article h4:before {content: "✓ ";}

h1, h2, h3, h4, h5, p, ul, ol, pre, p.pre {
  margin-top: 25px;
  margin-bottom: 15px;
  line-height: 1.7;
}

h2 {margin-top: 50px !important;margin-bottom: 30px !important;}
h3 {margin-top: 50px !important;margin-bottom: 30px !important;font-size:1.5em;}

.article ul,.article ol,.article p.pre,.article pre{background-color:rgba(250,250,250,.48);outline:1px solid rgba(228,228,228,.8705882353);padding:20px 10px 20px 30px;overflow:auto;border-radius:5px}

strong{color:#000080;font-size:1.1em;font-weight:bold;}
img{border-radius: 5px;}
.red{color:#c00000;}
.center{text-align:center;}
.right{text-align:right;}
time {display: block;text-align: right;margin:-2em 0 0.5em;}

/* ================= 画像の中央揃え + 下余白 ================= */
img {display: block;margin-left: auto;margin-right: auto;margin-bottom: 1em;}

/* ================= 記事・業者ページ 左右余白調整 ================= */
.article,main.contractor-page{max-width: 800px; margin: 0 auto;padding-left:2em;padding-right:2em}
@media screen and (max-width:768px){.article,main.contractor-page{padding-left:1em;padding-right:1em}}

/* ================= 縦の線  ================= */
.center-top-vertical-line {position: relative; text-align: center; padding-top: 70px; margin: 50px 0 50px;}
.center-top-vertical-line::before {content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); height: 70px; width: 2px; background-color: #555;}

/* ================= 星の数　レーティング ================= */
.rate{position:relative;width:5pc;font-size:1pc}.rate,.rate:after,.rate:before{display:inline-block;height:1pc}.rate:after,.rate:before{position:absolute;top:0;left:0;content:'★★★★★';line-height:1pc}.rate:before{color:#ddd}.rate:after{color:orange;overflow:hidden;white-space:nowrap}.rate0:after{width:0}.rate1:after{width:1pc}.rate1-5:after{width:24px}.rate2:after{width:2pc}.rate2-5:after{width:40px}.rate3:after{width:3pc}.rate3-5:after{width:56px}.rate4:after{width:4pc}.rate4-5:after{width:72px}.rate5:after,.wrap{width:5pc}.wrap{margin:0 auto}

/* ================= box の枠  ================= */
.box1{  background-color: #f5f5f5;
  outline: 1px solid rgba(228, 228, 228, 0.8705882353);
  margin-bottom: 50px;
  padding: 0px 10px;
  overflow: auto;
  border-radius: 5px;}

/* ================= 表 table ================= */
table{width:100%;border-radius: 5px; overflow: hidden;border: 1px solid #ccc; }
table th{color:#333;text-align:center;background-color:#DCCD3E;padding:0.8em;font-weight:bold;border-collapse: collapse;}
table td{background:#eee;vertical-align: top;}table tr:nth-child(even) td{background: #fff;}

.centered-table{width: 100%; border-collapse: collapse; text-align: center;}
table .garden{margin-bottom:-1px;}

.centered-table{margin-bottom:1.5em;}

.centered-table td {
  vertical-align: middle;
  text-align: center;
  padding: 12px 8px;
  min-width: 100px;
}

.centered-table img {
  transition: 0.2s ease;
  border-radius: 6px;
}

.centered-table img:hover {
  transform: scale(1.03);
}

.centered-table a {
  font-weight: 500;
  text-decoration: none;
  color: #0066cc;
}

.centered-table a:hover {
  text-decoration: underline;
}



/* ================= 吹き出し ================= */
.balloon{display:flex;align-items:flex-start; margin:5em 0;}
.balloon figure{width:100px;height:100px;border-radius: 5px;overflow:hidden;flex-shrink:0; /* 画像が縮小されないように固定 */}
.balloon-text{font-size:0.95em;line-height:1.8em;background:#f1f1f1;padding:10px 15px;border-radius:10px;border:1px solid #ccc;position:relative;max-width:auto}

/* ================= btn ボタン ================= */
.btn1{background-color:#00A16C;color:#fff;padding:20px;margin-top:30px;border:none;cursor:pointer;border-radius:5px;font-size:16px;font-weight:700;transition:0.3s;display:flex;justify-content:center;align-items:center}.btn1:hover{background-color:#060;  color: #fff; /* ← ホバー時も白に固定 */}

.btn3{width: fit-content;text-align:center;background-color:#F8F9FF;border:1.5px solid #777777;font-size:0.9em;color:;text-decoration:none;font-weight:bold;padding:10px 1pc;border-radius:5px;transition:.4s;box-shadow:2px 2px 4px gray;display: flex;justify-content: center; align-items: center;margin: 0 auto;}.btn2:hover{background-color:#4865B2;border-color:#4865B2;color:#fff;transform: translateY(-2px);}.btn2:active{-webkit-transform:translateY4px);transform:translateY(4px);box-shadow:0 0 1px rgba(0,0,0,.2);border-bottom:0}

/* ================= 画像  ================= */
.flip{margin:25px 25px;border:thin solid #e9e9e9;  border-radius: 5px;}
img {
  max-width: 88%;
  display: block;
  margin: auto;
  margin-bottom: 0.5em;
  clear: both;
}

/* ================= box の枠  ================= */
.box1{  background-color: #f5f5f5;
  outline: 1px solid rgba(228, 228, 228, 0.8705882353);
  margin-bottom: 50px;
  padding: 0px 10px;
  overflow: auto;
  border-radius: 5px;}
.box2 {
  background-color: rgba(250, 250, 250, 0.48);
  outline: 1px solid rgba(228, 228, 228, 0.8705882353);
  padding: 20px;
  margin-bottom: 50px;
  overflow: auto;  border-radius: 5px;}

.box3{  background-color:#FCFCF4;
  outline: 1px solid rgba(228, 228, 228, 0.8705882353);
  margin-bottom: 50px;
  padding: 10px 10px;
  overflow: auto;
  border-radius: 5px;}

.box4{quotes:none;padding:0.4em 0.3em 0;margin:2em 0.5em;background-color:#f4f4f4;border:solid 1px #e0e0e0;}.box4 p{margin:0.5em 0.5em 1em;padding:0;font-size:0.95em;line-height:1.8em;}

/* ================= Googleマップ中央寄せ ================= */
.map-wrap{text-align:center}.map-wrap iframe{display:inline-block;max-width:100%;height:400px}

/* ================= 各地域の業者一覧 ================= */
.rounded-list01 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; /* アイテム間の隙間 */
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: center; /* 中央寄せ */
}

.rounded-list01 li {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 6px 12px;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  transition: all 0.2s;
}

.rounded-list01 li:hover {
  background: #f0f8ff;
  border-color: #00a0e6;
}

.rounded-list01 li a {
  text-decoration: none;
  color: #337ab7;
  font-weight: 500;
  display: block;
}

.rounded-list01 li a:hover {
  text-decoration: underline;
}

/* ================= 画面の上に張り付くメニュー  ================= */
  .navbar01 {
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    line-height: 30px;
    position: fixed;
    top: 0;
    width: 100%;
    display: none ;
    z-index: 1000;
  }
  .navbar01 ul {
    list-style-type: none;
    margin: 5px 0;
    padding: 0;
    overflow: hidden;
    text-align: center;
	margin-left:-3em;
  }
  .navbar01 li {
    display: inline;
    font-size: 0.9em;
    font-weight: bold;
  }
  .navbar01 a {
    color: white;
    text-decoration: none;
    padding: 0 3px;
  }



/* ================= 都道府県 市区のメニュー ================= */
.prefecture-links-section {
  max-width: 960px;
  margin: 3em auto;
  padding: 1em;
  background: #f9fafb;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  font-family: "Helvetica Neue", sans-serif;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.prefecture-links-section h3 {
  margin-top: 2.2em;
  font-size: 1.2em;
  color: #0f172a;
  padding-left: 0.6em;
  border-left: 4px solid #2563eb;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.prefecture-links-section p {
  margin: 0.8em 0 1.8em;
  line-height: 2;
  font-size: 0.96em;
  color: #334155;
}

.prefecture-links-section a {
  color: #1d4ed8;
  text-decoration: none;
  margin: 0 0.5em;
  font-weight: 500;
  transition: all 0.2s ease;
}

.prefecture-links-section a:hover {
  color: #0f172a;
  text-decoration: underline;
}

/* モバイルメニュー削除 */
#vk-mobile-nav-menu-btn,
#vk-mobile-nav {
  display: none !important;
}


/* トップページ・固定ページ・コラム詳細ページの中央寄せ */
body.home .site-body-container,
body.page .site-body-container,
body.single-column .site-body-container,
.column-detail {
  max-width: 800px;
  margin: 0 auto;
  padding-left: 2em;
  padding-right: 2em;
}

@media screen and (max-width: 768px) {
  body.home .site-body-container,
  body.page .site-body-container,
  body.single-column .site-body-container,
  .column-detail {
    padding-left: 1em;
    padding-right: 1em;
  }
}


/* 固定下部ボタンエリア */
#fixed-footer-btn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  text-align: center;
  margin: 0 0 0.5em;
  padding: 0;
  background: none;
  box-shadow: none;
  border: none;
}

#fixed-footer-btn a {
  background-color: #00A16C;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  padding: 16px 28px;
  border-radius: 6px;
  display: inline-block;
  transition: background-color 0.3s ease;
  margin: 0;
}

#fixed-footer-btn a:hover {
  background-color: #007f56;
}


