/* パンくずリストを調整 */
.pNavi .post:after {
    content: "";
    display: inline-block;
    clear: both;
}
/* パンくずリストを調整-固定ページ- */
p.pNavi.on_MB {
    margin: 1em auto 0 auto;
    max-width: 2000px;
}
/* パンくずリストを調整-サービス・コンテンツ- */
p.pNavi.service {
    margin: 0 auto 0 auto;
    padding-top: 1em;
}

#service_list_2nd_3 ,
#service_list_2nd_4 {
    max-width: 1110px;
    width: calc(100% - 2em);
    margin-left: auto;
    margin-right: auto;
    margin-top: 55px;
    display: flex;
    flex-wrap: wrap;
}

#service_list_2nd_3 li ,
#service_list_2nd_4 li {
    margin-left: 15px;
    margin-right: 15px;
    border-top: 1px solid #234398;
    border-bottom: 1px solid #234398;
    font-size: 1.375em;
    font-weight: 500;
    margin-bottom: 35px;
}

#service_list_2nd_3 li {
    width: calc(100% / 3 - 30px);
}

#service_list_2nd_4 li {
    width: calc(100% / 2 - 45px);
}

#service_list_2nd_3 li a ,
#service_list_2nd_4 li a {
    padding-left: 20px;
    display: block;
    background-image: url(../images/blue.png);
    background-repeat: no-repeat;
    background-position: right 10px center;
    display: flex;
    align-items: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 82px;
    padding-right: 30px;
}

#service_list_2nd_3 li a img ,
#service_list_2nd_4 li a img {
    margin-right: 10px;
}

#service_list.nomargin {
    margin-top:0;
}

/* スマートフォン用メニュー */
/* 初期は非表示 */
#spMenu .navInnrBox {
    display: none;
    overflow: hidden;
    background: #fff;
    padding: 0 1em 1em;
    box-sizing: border-box;
    border-radius: 12px;
    margin-bottom: 12px;
    width: calc(100% - 1em);
    margin-left: 1em;
}

#spMenu .navInnrBox .subMenuTtl {
    margin-top: 12px;
    font-weight: 600;
}

/* 矢印の基本スタイル */
#spMenu .navInnrBox #spMenu a img {
  transition: transform 0.4s ease; /* 矢印回転をスムーズに */
}

/* 開いた状態の矢印を下向きに */
#spMenu a.active img {
  transform: rotate(180deg);
}

nav.NavMenu {
    overflow-y: auto;
}

nav.NavMenu div#spContact {
    margin-bottom: 60px;
}


/*　スタッフ紹介コンテンツの調整　*/
#topStaff ul li figcaption {
    text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
}

#topStaff .stf_btn{
    width: 30%;
    max-width: 400px;
    min-width: 250px;
    display: block;
    margin: 1.8em auto 0;
}

.faq_Box {
    margin-bottom: 120px;
}

@media only screen and (max-width: 768px) {
    #service_list_2nd_3,
    #service_list_2nd_4 {
        width: calc(100% - 2em);
    }
    #service_list_2nd_3 li,
    #service_list_2nd_4 li {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
        border-top: 1px solid #234398;
        margin-bottom: 0px;
        margin-top: -1px;
    }
}

/*FAQ開閉用スタイル*/
#topQa .faq-item h3{ cursor:pointer; display:flex; align-items:center; gap:.5em; }
#topQa .faq-item.is-open h3{ color:#0a7; } /* 開いてる時の強調など */

.faqMore {
    background: #e5e1e1;
    width: 30%;
    margin: 0 auto;
    padding: 6px;
    border-radius: 1em;
    font-size: 0.9em;
    font-weight: 600;
    color: #222;
    max-width: 200px;
}


/*　メインメニューのスタイル　-PC-　*/
#global {
  position: relative;
  transition: all 0.3s ease;
}

#global.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

#global li .navInnrBox {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    width: 98%;
    position: absolute;
    top: 60px;
    right: 0;
    left: 0;
    z-index: 1;
    border: 3px solid #264097;
    background: #fff;
    border-radius: 8px;
    min-width: 100%;
    min-width: 900px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1.3em 0;
}

#global li:hover .navInnrBox {
  opacity: 1;
  visibility: visible;
}

#global li .subMenuTtl {
    line-height: 1.1;
    font-weight: 600;
    margin-left: 1.3em;
    padding-left: 6px;
    font-size: 1.2em;
    border-left: 3px solid #264097;
    color: #454545;
}

#global li .navInnrBox ul {
    width: 100%;
    display: block;
    position: relative;
    top: 0;
    left: 0;
    background: none;
    border-radius: 0;
    padding: 0 1em 1em;
}

#global li .navInnrBox ul li{
    display: inline-block;
}

#global li .navInnrBox ul li {
    display: inline-block;
    width: auto;
    list-style: disc;
    list-style-position: outside;
}

#global li .navInnrBox li a, #global li .navInnrBox li:first-child a, #global li .navInnrBox li:last-child a {
    color: #666;
    margin-top: 6px;
    margin-bottom: 0;
    padding: 0.3em;
}
#global li .navInnrBox li a:hover, #global li .navInnrBox li:first-child a:hover, #global li .navInnrBox li:last-child a:hover {
    color: #264097;
}

/*FAQ開閉用スタイル*/
#topQa .faq-item h3{ cursor:pointer; display:flex; align-items:center; gap:.5em; }
#topQa .faq-item.is-open h3{ color:#0a7; } /* 開いてる時の強調など */

#global{
    position: relative;
}

#global li .navInnrBox {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    width: 98%;
    position: absolute;
    top: 60px;
    right: 0;
    left: 0;
    z-index: 1;
    border: 3px solid #264097;
    background: #fff;
    border-radius: 8px;
    min-width: 100%;
    min-width: 900px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1.3em 0;
}

#global li:hover .navInnrBox {
  opacity: 1;
  visibility: visible;
}

#global li .subMenuTtl {
    line-height: 1.1;
    font-weight: 600;
    margin-left: 1.3em;
    padding-left: 6px;
    font-size: 1.2em;
    border-left: 3px solid #264097;
    color: #454545;
}

#global li .navInnrBox ul {
    width: 100%;
    display: block;
    position: relative;
    top: 0;
    left: 0;
    background: none;
    border-radius: 0;
    padding: 0 1em 1em;
}

#global li .navInnrBox ul li{
    display: inline-block;
}

#global li .navInnrBox ul li {
    display: inline-block;
    width: auto;
    list-style: disc;
    list-style-position: outside;
}

#global li .navInnrBox li a:before {
    content: '▶';
    font-size: 10px;
    color: #051a43;
    padding-right: 3px;
}

#global li.has_child_type_1 ,
#global li.has_child_type_2 {
    position:relative;
}

#global li.has_child_type_1 .navInnrBox.tateNavi {
    min-width: 330px;
}

#global li.has_child_type_2 .navInnrBox.tateNavi {
    min-width: 300px;
    left: auto;
    right: 0;
}

#global li.has_child_type_1 .navInnrBox.tateNavi ul li,
#global li.has_child_type_2 .navInnrBox.tateNavi ul li{
    display: block;
}

#global li.has_child_type_1 .navInnrBox.tateNavi ul li a,
#global li.has_child_type_2 .navInnrBox.tateNavi ul li a{
    display: block;
    display: inline-flex;
    align-items: center;
    line-height: 1.6;
}

#topVoice.otherVoice .tv_block {
    padding: 20px 0 20px 0;
}

#topVoice.otherVoice .tv_block dl dt {
    font-size: 1.125em;
    font-weight: bold;
    padding-bottom: 15px;
    min-height: 52px;
}


@media only screen and (min-width: 1px) and (max-width: 1080px){
    #mapArea_list figure.mapImg {
        margin-left: auto;
        margin-right: auto;
    }
}

#footerMenu_inner {
    box-sizing: border-box;
}

.grecaptcha-badge {
    display: none !important;
}

/* ===== Page Layout ===== */
.pageContent {
  max-width: 1080px;
  width: calc(100% - 2em);
  margin-left: auto;
  margin-right: auto;
  color: #222;
  line-height: 1.8;
  font-size: clamp(15px, 1.6vw, 16px);
}
.pageContent > p:first-of-type {
  margin: 0 0 1.25rem;
    text-align: left;
}

/* ===== Section Layout ===== */
.tableBox {
  margin-top: 1.25rem;
}

.tableBox .inner {
  background: #ffffff;
  border: 1px solid #e6e8ec;
  border-radius: 14px;
  padding: clamp(16px, 2vw, 24px);
  box-shadow: 0 4px 14px rgba(2, 8, 20, 0.06);
  margin-bottom: clamp(16px, 2vw, 24px);
}

/* ===== Headings ===== */
.tableBox .inner > h2 {
  font-size: clamp(18px, 2vw, 28px);
  margin: 0 0 0.8rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: .6rem;
  letter-spacing: 0.02em;
font-weight: 600;
}
.tableBox .inner > h2::before {
  content: "";
  width: 6px;
  height: 28px;
  background: #381dc2;
  border-radius: 4px;
  display: inline-block;
}

/* ===== Notice List ===== */
.tableBox .inner ul {
  margin: 0 0 1rem;
  padding-left: 1.2em;
}
.tableBox .inner li {
  margin: .2rem 0;
}
.tableBox .inner .red {
  color: #c21d2e;
  font-weight: 600;
}
.tableBox .inner .red::before {
  content: "※";
  margin-right: .25em;
}

/* ===== Tables (border-separated) ===== */
.tableBox table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  margin: 0 0 16px;
  background: #fff;
}
.tableBox table caption {
  text-align: left;
  font-weight: 700;
  color: #0f172a;
  background: #f7f8fa;
  padding: .75rem 1rem;
  font-size: clamp(15px, 1.8vw, 18px);
  margin-bottom: 12px;
}
.tableBox th,
.tableBox td {
  padding: .9rem 1rem;
  border: 1px solid #ccc; /* セルの区切り線 */
  vertical-align: middle;
  text-align: left;
}
.tableBox th[scope="row"] {
    background: #fafafa;
    color: #0f172a;
    font-weight: 700;
    width: 50%;
}
.tableBox td {
    font-weight: 700;
    letter-spacing: .02em;
    font-feature-settings: "palt";
    width: 50%;
}

/* ===== Gray Info Box ===== */
.box_gray {
  background: #f6f7f9;
  border: 1px dashed #ccc;
  border-radius: 12px;
  padding: 1rem 1.1rem;
  margin: 8px 0 18px;
}
.box_gray h3 {
margin: 0 0 .5rem;
    font-size: clamp(18px, 1.8vw, 20px);
    text-align: left;
    font-weight: 600;
    color: #1b1baf;
}
.box_gray p {
  margin: 0;
  color: #04070e;
  font-size: 1em;
text-align: left;
}

/* ===== Responsive* */


/* メールフォーム用CSS　*/
#contactForm dl dd label input[type="radio"] {
    display: inline;
}

#contactForm dl dd span.wpcf7-form-control-wrap {
    display: inline-block;
    width: 100%;
}

#contactForm dl dd span.wpcf7-form-control.wpcf7-radio {
    display: inline-block;
    width: 100%;
    padding-top: 0;
}

#contactForm dl dd span.wpcf7-list-item-label ,
#contactForm dl dd span.wpcf7-list-item {
    display: inline-block;
    padding-top: 0;
}

#contactForm .formBtnBlk {
    margin: 0 auto;
}

input[type="submit"], input[type="button"] {
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    font-size: 1.125em;
    background-color: #004BB1;
    border-radius: 50px !important;
    color: #FFFFFF;
    font-weight: bold;
    padding-top: 10px;
    padding-right: 80px;
    padding-bottom: 10px;
    padding-left: 80px;
    margin: 0 0.3em;
}

#contactForm span.wpcf7-spinner {
    display: none;
}

.topVoice ul li.slick-slide {
    padding-bottom: 20px;
    box-sizing: border-box;
}

.topVoice .jirei-wrap ul.slick-dots {
    display: flex;
    justify-content: center;
    width: 100%;
}

.topVoice .jirei-wrap ul.slick-dots li{
    width: 20px;
    height: 20px;
}

.topVoice .jirei-wrap.count-3 ul.slick-dots ,
.topVoice .jirei-wrap.count-2 ul.slick-dots ,
.topVoice .jirei-wrap.count-1 ul.slick-dots {
    display: none;
}

.topVoice .jirei-wrap ul.slick-dots li button:before  {
    font-size: 12px;
    line-height: 21px;
}

@media only screen and (max-width: 1024px){
.topVoice ul.no-slick li {
    width: calc(100% / 2 - 20px);
}
.jirei-wrap.count-3 ul.slick-dots {
    display: block;
}
.jirei-wrap.count-2 ul.slick-dots ,
.jirei-wrap.count-1 ul.slick-dots {
    display: none;
}
}

@media only screen and (max-width: 600px){
.topVoice ul.no-slick li {
    width: calc(100% - 20px);
}
.jirei-wrap.count-3 ul.slick-dots ,
.jirei-wrap.count-2 ul.slick-dots {
    display: block;
}

.jirei-wrap.count-1 ul.slick-dots {
    display: none;
}
}


/* アニメ用の共通ルール */
.faq-item {
  overflow: hidden;            /* 中身のはみ出し防止 */
  will-change: height;
}
.faq-item.anim {               /* アニメ中だけ transition を付与 */
  transition: height .3s ease, opacity .2s ease;
}
.faq-item.is-collapsed {
  height: 0 !important;        /* 完全に畳む */
  opacity: 0;                  /* フェードも少し */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.faq-item.is-collapsed::before,
.faq-item.is-collapsed::after { display:none !important; content:none !important; }

.faqMore { cursor: pointer; user-select: none; }


/*　新着情報　*/
/* =========================================================
   読みやすさ重視の標準スタイル（WP本文想定：#newsContents）
   HTMLそのままに適用：h2/h3/h4, p, ul/ol, figure/blockquote/table/code 等
   ========================================================= */

/* ベースの余白と行間 */
#newsContents {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.8;
  color: #111;
  font-size: 16px;
}

#newsContents > *:first-child { margin-top: 0; }
#newsContents p,
#newsContents ul,
#newsContents ol,
#newsContents figure,
#newsContents table,
#newsContents pre,
#newsContents blockquote {
  margin: 1.2em 0;
}

/* 見出し（階層が一目でわかるサイズ差と余白） */
#newsContents h2,
#newsContents h3,
#newsContents h4 {
  line-height: 1.35;
  font-weight: 700;
  scroll-margin-top: 80px; /* 固定ヘッダー対策 */
}
#newsContents h2 { font-size: clamp(1.4rem, 1.2vw + 1.1rem, 1.9rem); margin: 2em 0 .6em; }
#newsContents h3 { font-size: clamp(1.2rem, 1vw + 1rem, 1.5rem);  margin: 1.6em 0 .5em; }
#newsContents h4 { font-size: clamp(1.05rem, .6vw + .95rem, 1.2rem); margin: 1.2em 0 .4em; }

/* 段落 */
#newsContents p { font-size: 1rem; }

/* 強調・補助 */
#newsContents strong { font-weight: 700; }
#newsContents em { font-style: italic; }

/* <mark>, <small>, <del>, <ins> */
#newsContents mark {
  background: #fff3b0; /* 薄い黄色 */
  padding: .1em .25em;
  border-radius: .2em;
}
#newsContents small { font-size: .875em; color: #555; }
#newsContents del { text-decoration: line-through; color: #888; }
#newsContents ins { text-decoration: none; background: #e6ffec; padding: .1em .25em; border-radius: .2em; }

/* リスト（間隔とネストの調整） */
#newsContents ul,
#newsContents ol { padding-left: 1.4em; }
#newsContents li { margin: .4em 0; }
#newsContents li > ul,
#newsContents li > ol { margin: .4em 0; }

/* 引用（見た目＋可読性） */
#newsContents blockquote {
  margin: 1.4em 0;
  padding: 1em 1.2em;
  border-left: 4px solid #ddd;
  background: #fafafa;
  color: #333;
}
#newsContents figure { margin: 1.4em 0; }
#newsContents figure > blockquote { margin: 0; }
#newsContents figcaption {
  margin-top: .6em;
  font-size: .9em;
  color: #666;
  text-align: right;
}

/* テーブル（枠線・見出し行・横スクロール対応） */
#newsContents table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
#newsContents thead th {
  background: #f3f4f6;
  font-weight: 700;
}
#newsContents th,
#newsContents td {
  border: 1px solid rgba(0,0,0,.1);
  padding: .6em .8em;
  vertical-align: top;
}
#newsContents tbody tr:nth-child(odd) { background: #fafafa; }

/* 表が画面幅を超える場合のスクロール（スマホ） */
@media (max-width: 640px) {
  #newsContents table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #newsContents table thead,
  #newsContents table tbody,
  #newsContents table tr { display: table; width: 100%; }
}

/* ルール線 */
#newsContents hr {
  border: 0;
  border-top: 1px solid rgba(0,0,0,.12);
  margin: 2em 0;
}

/* コード（インライン＆ブロック） */
#newsContents code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .95em;
  background: #f6f8fa;
  padding: .15em .35em;
  border-radius: .25em;
  border: 1px solid rgba(0,0,0,.06);
}
#newsContents pre {
  background: #0f172a;        /* ほの暗いネイビー */
  color: #e5e7eb;
  padding: 1rem 1.1rem;
  overflow: auto;
  border-radius: .5rem;
  line-height: 1.6;
}
#newsContents pre code {
  background: transparent;
  padding: 0;
  border: 0;
  color: inherit;
  font-size: .95em;
}

/* リンク（標準＋ホバー） */
#newsContents a {
  color: #2563eb;               /* 落ち着いたブルー */
  text-decoration: underline;
  text-underline-offset: 2px;
}
#newsContents a:hover {
  text-decoration-thickness: 2px;
}

/* <time> の体裁（等幅数字で読みやすく） */
#newsContents time {
  font-variant-numeric: tabular-nums;
  color: #555;
}

/* 画像やiframeなど埋め込みのはみ出し対策（念のため） */
#newsContents img,
#newsContents svg,
#newsContents video,
#newsContents iframe {
  max-width: 100%;
  height: auto;
}

/* 余白の微調整：見出し直後の段落は詰めすぎない */
#newsContents h2 + p,
#newsContents h3 + p,
#newsContents h4 + p { margin-top: .6em; }

/* 新着情報調整　*/
.newsList li a {
  display: flex;
  flex-wrap: wrap;
}

.newsList li a data {
    width: 180px;
}

.newsList li dl {
    width: calc(100% - 180px);
}

.newsList li dl dd {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    max-width: 100%; 
}

@media (max-width: 768px) {
.newsList li a data {
    width: 100%;
}
.newsList li dl {
    width: 100%;
}
.newsList li a dl dt {
    margin: 2px 0 4px;
}
.newsList li a dl dd {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* ← ここで2行まで表示 */
    overflow: hidden;
    white-space: normal; /* nowrapを解除 */
    text-overflow: ellipsis;
}
}

/*コラムの一覧+タクソノミー調整*/
#right ul.subList li a img {
  width: 100%;
  min-width: 114px;
  max-width: 114px;
  height: auto;
	object-fit: cover;
  aspect-ratio: 1.5;
}

/*コラムの一覧+タクソノミー サイドバー調整*/
#columnList li figure img {
  max-width: 285px;
  min-width: 285px;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1.5;
}

@media only screen and (max-width: 470px){
  #columnList li figure img {
      max-width: 100%;
  }
}

#columnList li a section {
  width: 100%;
}

#right ul.subList li p {
	display: -webkit-box;           /* 必須（旧仕様） */
	-webkit-box-orient: vertical;   /* 必須（旧仕様） */
	overflow: hidden;               /* はみ出しを隠す */
	-webkit-line-clamp: 3;          /* 旧仕様（Chrome/Safari/Edgeで広く対応） */
	line-clamp: 3;                  /* 新仕様（対応ブラウザで有効） */
}

/* ===== Singleページの前後ナビ（青系） ===== */
/* コラムと新着情報　共通 */
.pageNavi {
  max-width: 1080px;
  width: calc(100% - 1em);
  margin: 3rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid #e6e6e6;
}

.pageNavi p {
  margin: 0;
}

.pageNavi p.back {
  float: left;
}

.pageNavi p.next {
  float: right;
}

.pageNavi a {
  display: inline-block;
  padding: 0.6em 1.4em;
  background: #1e6aff;
  color: #fff;
  border-radius: 50px;
  font-size: 14px;
  text-decoration: none;
  transition: 0.2s ease;
}

.pageNavi a:hover {
  background: #1554cc;
  transform: translateY(-1px);
}

/* スマホ対応 */
@media (max-width: 480px) {
  .pageNavi {
    flex-direction: column;
    gap: 1rem;
  }
}

/* 生前整理のコンテンツに見出しを追加 */
div#ending .inner h3 {
    font-size: clamp(18px, 5vw, 22px);
    font-weight: 600;
    margin-bottom: 6px;
}


#headerTop .headerLogo {
	max-width: 120px;
	width: 100%;
	margin-top: 18px;
}

@media only screen and (max-width: 768px) {
    #headerTop .headerLogo {
        max-width: 80px;
        margin-top: 15px;
    }
}

@media only screen and (max-width: 470px) {
    #headerTop .headerLogo {
        max-width: 65px;
        margin-top: 15px;
    }
}

#next_tit8 .nextTTL ,
#next_tit3 .nextTTL {
  font-family: "Noto Serif JP", serif;
  color: #004BB1;
  font-size: 2.500em;
  font-weight: 600;
}

    
@media only screen and (max-width: 768px){
  #next_tit8 .nextTTL ,
  #next_tit3 .nextTTL {
    font-size: 2em;
  }
}

@media only screen and (max-width: 470px){
  #next_tit8 .nextTTL ,
  #next_tit3 .nextTTL {
    font-size: 1.5em;
  }
}


.old_post_comment {
    max-width: 1080px;
    width: calc(100% - 2em);
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    font-size: 1.1em;
    margin-bottom: 35px;
    border: 2px solid red;
    padding: 0.4em 1em;
    box-sizing: border-box;
    background-color:#f4f4f4;
    border-radius: 6px;
}

.old_post_comment p {
    margin-bottom: 1em;
    font-weight: 600;
}
.old_post_comment ul {
    margin-bottom: 1.3em;
}

.old_post_comment ul li {
    display: inline-block;
}

.old_post_comment ul li a{
    display: block;
    background: #272778;
    color: #fff;
    padding: 10px;
    border: 1px solid #272778;
    box-sizing:border-box;
    border-radius: 12px;
}

.old_post_comment ul li a:hover{
    display: block;
    background: #fff;
    color: #272778;
}

.single-case #next_tit2 h1 {
  font-size: clamp(14px, 5vw, 2.5em);
}

.single-case #next_tit2 h1 span {
    display: block;
}

#newsContents img {
    width: auto;
}

@media only screen and (max-width: 600px){
#ex_service_box .inner {
    display: block!important;
}
#ex_service_box ul {
    margin-bottom: 3px!important;
}
}

.error404 #newsContents img {
    width: auto;
}

.error404 h1#\34 04title {
    font-size: 100px;
    font-weight: 600;
}

.error404 h1#\34 04title span{
    display:block;
    font-size:25px;
}

    .error404 .lead{
      margin:0 auto;
      max-width:60ch;
    }
    .error404 .actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      justify-content:center;
      margin-top:16px;
    }
    .error404 .btn{
      appearance:none;
      border:none;
      cursor:pointer;
      text-decoration:none;
      padding:12px 18px;
      border-radius:12px;
      font-weight:700;
      transition:transform .06s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
      box-shadow:0 6px 16px rgba(0,0,0,.12);
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .error404 .btn:active{ transform:translateY(1px) }
    .error404 .btn.primary{
      background:linear-gradient(180deg, rgba(79,209,197,.18), rgba(79,209,197,.12));
      border:1px solid rgba(79,209,197,.5);
    }
    .error404 .btn.secondary{
      background:transparent;
      border:1px solid rgba(255,255,255,.18);
    }


/* === 共通設定 === */
.sitemap {
    max-width: 1080px;
    width: calc(100% - 2em);
	margin: 0 auto;
}

.sitemap h3 {
  font-size: clamp(18px, 2.3vw, 22px);
  font-weight: 700;
  border-left: 4px solid #0ea5e9; /* アクセントカラー（青） */
  padding-left: .6em;
  margin: 2em 0 .8em;
  color: #111827;
  text-align: left;
}

.margin-top40 {
  margin-top: 40px;
}

/* === WP Sitemap Page 基本リスト === */
.sitemap ul,
.sitemap ol {
  list-style: none;
  margin: .3em 0 1.2em;
  padding: 0;
}

.sitemap li {
  position: relative;
  padding-left: 1.1em;
  margin: .25em 0;
}

.sitemap li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #94a3b8; /* 薄いグレー */
  font-size: 1.1em;
  top: 0;
}

/* === リンク === */
.sitemap a {
  color: #1f2937;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: all .15s ease;
}
.sitemap a:hover {
  color: #0ea5e9;
  border-bottom-color: #0ea5e9;
}

/* === listinline：横並びのカテゴリー/タグ一覧 === */
.listinline ul,
.listinline ol {
  display: flex;
  flex-wrap: wrap;
  gap: .5em .8em;
  list-style: none;
  margin: 0;
  padding: 0;
}

.listinline li {
  margin: 0;
  padding: 0;
}

.sitemap .children li::before,
.sitemap li.has-children::before,
.sitemap .listinline li::before {
  content: "";
}

.listinline a {
  display: inline-block;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: .5em;
  padding: .35em .75em;
  font-size: 14px;
  line-height: 1.4;
  color: #374151;
  transition: all .15s ease;
}
.listinline a:hover {
  background: #0ea5e9;
  color: #fff;
  border-color: #0ea5e9;
}

/* === ダークモード対応 === */
@media (prefers-color-scheme: dark) {
  .sitemap h3 {
    color: #e5e7eb;
    border-left-color: #38bdf8;
  }
  .sitemap a {
    color: #e2e8f0;
  }
  .sitemap a:hover {
    color: #38bdf8;
  }
  .listinline a {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
  }
  .listinline a:hover {
    background: #38bdf8;
    border-color: #38bdf8;
    color: #0f172a;
  }
}

/* ===== ベースリスト ===== */
.sitemap--accordion ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sitemap--accordion li {
  position: relative;
  padding: .4em 0 .4em 1.2em;
  border-bottom: 1px solid #e5e7eb;
}

/* 1階層目のリンク */
.sitemap--accordion > ul > li > a {
  display: block;
  font-weight: 600;
  color: #111827;
  text-decoration: none;
  transition: color .2s ease;
}
.sitemap--accordion > ul > li > a:hover {
  color: #0ea5e9;
}

/* ▼ アイコン */
.sitemap--accordion li.has-children > a::before {
  content: "▶";
  font-size: .8em;
  color: #94a3b8;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .2s ease, color .2s ease;
}

/* 開いた状態のアイコン */
.sitemap--accordion li.open > a::before {
  transform: translateY(-50%) rotate(90deg);
  color: #0ea5e9;
}

/* ===== 2階層目 ===== */
.sitemap--accordion li ul {
  display: none; /* 初期非表示 */
  margin-top: .3em;
  padding-left: 0;
}

.sitemap--accordion li.open > ul {
  display: block;
}

/* 2階層目の各リンクをインライン化 */
.sitemap--accordion li > ul > li {
  display: inline-block;
  margin: .2em .5em .2em 0;
  padding: 0;
  border: none;
}

.sitemap--accordion li > ul > li > a {
  display: inline-block;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: .5em;
  padding: .3em .7em;
  font-size: 14px;
  color: #374151;
  text-decoration: none;
  transition: all .15s ease;
}

.sitemap--accordion li > ul > li > a:hover {
  background: #0ea5e9;
  border-color: #0ea5e9;
  color: #fff;
}

/* ===== 3階層目以降は常に非表示 ===== */
.sitemap--accordion li ul ul {
  display: none !important;
}

#main_bottom figure {
    display: none;
}

#main_bottom {
	justify-content: center;
}
#main_bottom div {
	margin: 0 0.5em;
}
#main_bottom div.list_four {
    padding: 0.6em 0;
    box-sizing: border-box;
}

/* 市域マップに地図を配置する　*/
#is_Servicearea .area_Box{
    background-color: #F3F5FB;
    padding: 27px;
    margin-top: 20px;
}

#is_Servicearea .area_Box figure{
    display: block;
    float: right;
    width:40%;
    max-width: 400px;
}

#is_Servicearea .area_Box figure img{
    display: block;
}

#is_Servicearea .area_Box dl{
    padding: 0 0 18px;
    margin-top: 0;  
}

@media only screen and (max-width: 600px){
  #is_Servicearea .area_Box figure{
      float: none;
      width: 98%;
      max-width: 400px;
      margin: 0 auto 1em;
  }
}

.topVoice ul li figure img{
    aspect-ratio: 1.6;
    width: 100%;
    display: block;
    height: auto;
    object-fit: cover;
}

.voiceList ul li figure img{
    aspect-ratio: 1.6;
    width: 100%;
    display: block;
    height: auto;
    object-fit: cover;
}